C程序設計譚浩強第五版

1、第2題

假如我國國民生產總值的年增長率為7%, 計算10年后我國國民生產總值與現在相比增長多少百分比。計算公式為 p = ( 1 + r ) n p = (1+r)^n p=(1+r)n ,其中r為年增長率,n為年數,p為與現在相比的倍數。

解析:調用math庫冪運算函數pow,傳遞對應參數即可。

#include<stdio.h>
#include <math.h>int main()
{int n = 10;float p, r;r = 0.07;p = pow(1 + r, n);printf("p=%f\n", p);return 0;
}// 輸出結果
p = 1.967152

2、第2題

存款利息的計算。有1000元,想存5年,可按以下5種辦法存:
(1)一次存5年期
(2)先存2年期,到期后將本息再存3年期
(3)先存3年期,到期后將本息再存2年期
(4)存1年期,到期后將本息再存1年期,連續存5次
(5)存活期存款,活期利息每一季度結算一次
2017年銀行存款利息如下:
1年期定期存款利息為1.5%;
2年期定期存款利息為2.1%;
3年期定期存款利息為2.75%;
5年期定期存款利息為3%;
活期存款利息為0.35%(活期存款每一-季度結算一-次利息)
如果r為年利率,n為存款年數,則計算本息的公式如下:
1年期本息和: P= 1000* (1+r);
n年期本息和: P= 1000* (1+n* r);
存n次1年期的本息和: P = 1000 ? ( 1 + r ) n P=1000* (1+r)^n P=1000?(1+r)n;
活期存款本息和: P= 1000 (1+ r 4 \frac{r}{4} 4r?) 4 n ^{4n} 4n;
說明: 1000
(1+ r 4 \frac{r}{4} 4r?)是一個季度的本息和。

#include<stdio.h>
#include <math.h>
int main()
{int p = 1000;float r5, r3, r2, r1, r0, p1, p2, p3, p4, p5;r5 = 0.0585;r3 = 0.054;r2 = 0.0468;r1 = 0.0414;r0 = 0.0072;p1 = p*((1 + r5) * 5);                // 一次存5年期  p2 = p*(1 + 2 * r2)*(1 + 3 * r3);     // 先存2年期,到期后將本息再存3年期  p3 = p*(1 + 3 * r3)*(1 + 2 * r2);     // 先存3年期,到期后將本息再存2年期  p4 = p*pow(1 + r1, 5);                // 存1年期,到期后將本息存再存1年期,連續存5次  p5 = p*pow(1 + r0 / 4, 4 * 5);        // 存活期存款。活期利息每一季度結算一次  printf("p1=%f\n", p1);       		  // 輸出按第1方案得到的本息和  printf("p2=%f\n", p2);       // 輸出按第2方案得到的本息和  printf("p3=%f\n", p3);       printf("p4=%f\n", p4);       printf("p5=%f\n", p5);       return 0;
}// 輸出結果
p1 = 5292.500488
p2 = 1270.763062
p3 = 1270.763184
p4 = 1224.863770
p5 = 1036.621094

3、第3題

購房從銀行貸了一筆款d,準備每月還款額為p,月利率為r,計算多少月能還清。設d為300 000元,p為6000元,r為1%。對求得的月份取小數點后一位,對第2位按四舍五人處理。
提示:計算還清月數m的公式如下:
m = l o g ( p ) ? l o g ( p ? d ? r ) l o g ( 1 + r ) \frac{log (p) - log(p - d * r) }{log(1 + r)} log(1+r)log(p)?log(p?d?r)?

可以將公式改寫為:
m = l o g ( p p ? d ? r ) l o g ( 1 + r ) \frac{log(\frac{p} {p - d * r} ) } {log(1 + r)} log(1+r)log(p?d?rp?)?

C的庫函數中有求對數的函數log10,是求以10為底的對數,log (p)表示log p。

題目解析:
該題的關鍵主要是利用數學函數庫中的log函數進行求解,然后月份要求按照小數點后一位進行四舍五入進行處理,只需要在輸出時進行格式控制即可。

#include<stdio.h>
#include <math.h>
int main()
{float d = 300000, p = 6000, r = 0.01, m;m = log10(p / (p - d*r)) / log10(1 + r);printf("m = %3.1f\n", m);return 0;
}

4、第4題

分析下面的程序:

#include<stdio.h>
int main()
{char c1, c2;c1 = 97;c2 = 98;printf("c1=%c, c2=%c\n", c1, c2);printf("c1=%d, c2=%d\n", c1, c2);return 0;
}

(1)運行時會輸出什么信息?為什么?

c1=a,	c2=b
c1=97,	c2=98

print()函數格式輸出:
%c --> 字符形式輸出,輸出相應字符,所以會把97和98當作相應字符的ASCII值,輸出的時候按照字符顯示
%d --> 整數形式輸出,輸出對應整數值。

(2)如果將程序第4,5行改為
c1 = 197;
c2 = 198;
運行時會輸出什么信息?為什么?

c1=?,	c2=?
c1=-59,	c2=-58

因為c1和c2為char類型,其保存的數據范圍為-128~127,當c1=197,c2=198時,已經超出了char類型所能夠保存的數據范圍,此時會進行相應的轉換為c1=-59,c2=-58
(當整型值用2 byte 表示:197二進制為0000 0000 1100 0101,198二進制為0000 0000 1100 0110,當整型值197賦值給字符型c1時,進行了縮窄轉換,高8位被舍棄留下了1100 0101,最高位表示符號位,為1表示為負數,求出其數值即可)。
只是第一行以字符輸出時,c1=-59,c2=-58為不可顯示字符,所以輸出了?,而第二行以整數輸出時就進行了相應的整數顯示。

(3)如果將程序第3行改為
int c1, c2;
運行時會輸出什么信息?為什么?

c1=?,	c2=?
c1=197,	c2=198

因為c1和c2為int時,第二行以整形輸出自然能夠保存的下,但第一行以字符輸出時,雖然數據int能夠儲存,但是在輸出時需要準換為字符,轉換后數據就超出了范圍,此時c1=-59,c2=-58,兩者都為不可顯示字符,所以就顯示了?。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38244.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38244.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38244.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

thinkphp通過with查詢,并通過關聯表進行篩選

直接添加一個where條件,然后條件里面用表名.字段即可,非常方便 需要注意的一點是在fastadmin里面,$this->auth->getGroupIds()這樣獲取是會獲取到緩存里面的值,必須重新登錄之后才可以得到最新的用戶組,這個問題導致困擾了我一晚上 $usage $this->model->with([us…

Oracle數據庫教程

Oracle數據庫教程 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將深入探討Oracle數據庫的基礎知識、特性以及在Java中的應用。 什么是Oracle數據庫&…

前端小案例,用錨點(哈希值)實現Tab組件切換

在前端開發的世界里&#xff0c;使用現代化的技術和方法來實現常見的組件是非常重要的。今天&#xff0c;我們將通過一個具體的案例來展示如何使用現代化的CSS和ES6來創建一個優雅且功能豐富的Tab組件。本文將詳細介紹實現思路、代碼分析&#xff0c;并提供一些實用的開發技巧。…

25 防火墻基礎操作

1 防火墻進入WEB頁面操作 華三防火墻的默認用戶:admin/密碼:admin 將IP地址改在同一網段的信息 在防火墻的管理地址 GE/0/0/1&#xff1a;192.168.0.1 主機的地址是:192.168.0.101 思考一下為什么Ping不通 security-zone name Management import interface GigabitEthernet1/…

音視頻開發34 FFmpeg 編碼- 將h264和acc文件打包成flv文件

FFmpeg合成流程 示例本程序會?成?個合成的?頻和視頻流&#xff0c;并將它們編碼和封裝輸出到輸出?件&#xff0c;輸出格式是根據?件 擴展名?動猜測的。 示例的流程圖如下所示。 ffmpeg 的 Mux 主要分為 三步操作&#xff1a; avformat_write_header &#xff1a; 寫?…

Qt WPS(有源碼)

項目源碼地址&#xff1a;WPS完整源碼 一.項目詳情 該項目仿照WPS&#xff0c;實現了部分的功能&#xff0c;能夠很方便對文本和HTML進行修改&#xff0c;并且有打印功能&#xff0c;可以很方便的生成PDF。 應用界面 項目架構分析 這個項目主要可分為兩個部分&#xff0c;一…

使用RNN模型構建人名分類器

使用RNN模型構建人名分類器 1 項目需求和實現分析 短文本分類問題 2 數據處理三部曲 場景1&#xff1a;數據處理三部曲示意圖 場景2&#xff1a;三個字母onehot編碼形狀分析 3 構建RNN模型 4 構建訓練函數并進行訓練 - 有關模型、損失函數、優化器三者在pytorch中的表示 5…

葉老師的新水杯c++

題目描述 最近葉老師換了個帶吸管的水杯。 貝貝發現當葉老師使用帶吸管的水杯時&#xff0c;每天會喝 x 毫升的水。而使用不帶吸管的水杯時&#xff0c;每天會喝 y 毫升的水。 請問在 n 天的時間內&#xff0c;葉老師喝水量的上限與下限相差多少&#xff1f; 輸入 第一行為…

聚焦Python分布式爬蟲必學框架Scrapy打造搜索引擎(一)

Scrapy綜述 Scrapy總體架構 Scrapy架構圖(綠線是數據流向) 適用于海量靜態頁面的數據下載 Scrapy Engine(引擎): 負責Spider、ItemPipeline、Downloader、Scheduler中間的通訊&#xff0c;信號、數據傳遞等。 Scheduler(調度器): 它負責接受引擎發送過來的Request請求&…

java.io.PrintStream介紹

java.io.PrintStream 是 Java 標準庫中的一個類&#xff0c;用于輸出流中的打印。它提供了一組方便的方法&#xff0c;用于格式化輸出和寫入數據。PrintStream 類中最常見的使用方式是通過 System.out 和 System.err 進行標準輸出和錯誤輸出。 System.out 和 System.err 都是 …

ELK 企業實戰7

ELKkafkafilebeat企業內部日志分析系統 1、組件介紹 1、Elasticsearch&#xff1a; 是一個基于Lucene的搜索服務器。提供搜集、分析、存儲數據三大功能。它提供了一個分布式多用戶能力的全文搜索引擎&#xff0c;基于RESTful web接口。Elasticsearch是用Java開發的&#xff…

【linux】chmod修改文件權限詳解

目錄 一.linux中默認的文件權限 二.文件權限類別 三.chmod改變權限的兩種方式 一.linux中默認的文件權限 默認文件權限: 當你新建一個文件時&#xff0c;文件會有一個默認的權限&#xff0c;這個默認權限就是umask的值&#xff0c;umask一般默認是022&#xff0c;這個值設…

FastAPI教程——部署

部署 部署FastAPI應用程序相對容易。 部署是什么意思 部署應用程序意味著執行必要的步驟以使其可供用戶使用。 對于Web API來說&#xff0c;通常涉及將上傳到云服務器中&#xff0c;搭配一個性能和穩定性都不錯的服務器程序&#xff0c;以便你的用戶可以高效地訪問你的應用…

智慧校園-報修管理系統總體概述

智慧校園報修管理系統是專為優化教育機構內部維修報障流程而設計的信息化解決方案&#xff0c;它通過集成現代信息技術&#xff0c;為校園設施的維護管理帶來革新。該系統以用戶友好和高效運作為核心&#xff0c;確保了從報修請求提交到問題解決的每一個步驟都順暢無阻。 師生或…

分享畫布繪制矩形

簡介 實現功能&#xff0c;在畫布上繪制矩形&#xff0c;移動矩形。 在線演示 繪制矩形 實現代碼 <!DOCTYPE html><html><head> <title>繪制矩形</title> </head><body><div style"margin: 10px"><input typ…

FastDFS部署

版本介紹 安裝fastdfs共需要倆個安裝包 fastdfs-5.05.tar.gz libfastcommon-1.0.7.tar.gz編譯安裝 libfastcommon tar -xvf libfastcommon-1.0.7.tar.gz cd libfastcommon-1.0.7 make.sh make.sh install 3. 設置軟鏈接 libfastcommon.so默認安裝到了/usr/lib64/libfastcommon.…

探索AI視覺革新:深入目標檢測算法

一、目標檢測算法概述 1. 什么是目標檢測&#xff1f; 目標檢測是計算機視覺任務的一部分&#xff0c;其目標是在圖像或視頻中識別和定位特定物體的位置和類別。與簡單的圖像分類任務不同&#xff0c;目標檢測要求算法能夠準確地標記出圖像中每個物體的位置&#xff0c;通常用…

5-linux文件路徑與文件目錄系統

目錄 ①文件路徑 目錄跳轉 絕對路徑與相對路徑 ②文件目錄系統 目錄系統組成 目錄命名規則 命令補充 ls命令補充 file filename查看文件類型 less查看文本文件 ①文件路徑 目錄跳轉 pwd:查看當前工作目錄。 cd:改變目錄。 ls:列出目錄內容。 [root########## ~]# …

某易六月實習筆試

第一題 下面代碼需要更改的地方已指出。 解題思路 模擬題&#xff0c;用雙指針記錄雙方當前式神&#xff0c;再記錄一下當前誰先手&#xff0c;直到有一方指針越界。 把下面代碼now1變為now(now1)%2就行。 第二題 解題思路 01背包變種&#xff0c;只是背包的容量變為多個維度…

CLAY或許是今年最值得期待的3D生成模型,號稱質量最好+布線最好+支持的輸入模態最多+支持材質生成。

CLAY是一種大規模可控生成模型,用于創建高質量的3D資產,它結合了多分辨率變分自編碼器和簡化的潛在擴散變壓器,通過多種輸入形式生成詳細的3D幾何結構和物理渲染材質。 CLAY或許是今年最值得期待的3D生成模型,號稱質量最好+布線最好+支持的輸入模態最多+支持材質生成。 相…