C语言第二次作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年9月的银行存款利率如下: (1) 1年期定期存款利率为3.50%。 (2) 2年期定期存款利率为4.40%。 (3) 3年期定期存款利率为5.00%。 (4) 5年期定期存款利率为5.50%。 (5) 活期存款利率为0.50%(活期存款每一季度结算一次利 息)。
现在不扣利息税,并假设今后5年存款利率不变。 如果r为年利率,n为 存款年数,则计算本息和的公式如下。
说明:
以上1~6题要求编程实现,并上交源程序及程序运行截图;
第7题不用编程实现,可以手工计算将结果写在word文档中 上交;
第8题,同学们可以根据自己的时间选作。
例:括号内是说明 输入:12345 输出:you input: 12345; In normal order,the digitals are 1,2,3,4,5; In reverse,they are 5,4,3,2,1。
程序代码: #include<stdio.h> void main() {
float f,c; scanf("%f",&f); c=5*(f-32)/9; printf("the temprature is %.2f\n",c); }
2. 计算旅途时间
输入2 个整数time1 和time2,表示火车的出发时间和到达时间,计 算并输出旅途时间。有效的时间范围是0000 到2359,不需要考虑出发 时间晚于到达时间的情况。
第二次 作业
1. 华氏温度转换为摄氏温度
输入华氏温度f,计算并输出相应的摄氏温度c(保留2 位小数)。c = 5/9(f-32).
例:括号内是说明 输入:17.2 (华氏温度) 输出:The temprature is -8.22
程序代码: #include<stdio.h> void main() {
5. 类型变换
在VC++6.0环境下,编程实现以下功能。 输入三个有符号整数,两个无符号整数,一个字符,一个浮点数, 能够输出上述输入对应的常用数据类型对应的值。并观察其中的转换规 律。 例:括号内是说明
输入:input -2,99,2147483647,4294954951,
12345,d,53.65 (本次作业要求输入上述的数字运行) 输出:int …,…,…,…,…,…,… unsigned int …,…,…,…,…,…,… long …,…,…,…,…,…,…
例:括号内是说明 输入 : 712 1411 (出发时间是7:12,到达时间是14: 11) 输出: The train journey time is 6 hrs 59 mins.
程序代码: #include<stdio.h> void main() {
int time1,time2,hour1,hour2,min1,min2,time,hour,min; scanf("%d,%d",&time1,&time2); min1=time1%100; min2=time2%100; hour1=(time1-min1)/100; hour2=(time2-min2)/100; time=(hour2*60+min2)-(hour1*60+min1);
printf("float
%f,%f,%f,%f,%f,%f,%f\n",(float)a,(float)b,(float)c,
(float)d,(float)e,(float)f,g);
}
6.存款理财
有1000元人民币,想存5年,可按照以下5种办法存: (1) 一次存5年期。 (2) 先存2年期,到期后将本息再存3年期。 (3) 先存3年期,到期后将本息再存2年期。 (4) 存1年期,到期后将本息再存1年期,连续存5次。 (5) 存活期存款。活期利息每一季度结算一次。
int a,b,c,d,e; scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d,&e); printf("In normal order,the digitals are %d,%d,%d,%d,%d\n",a,b,c,d,e); printf("In reverse,they are %d,%d,%d,%d,%d\n",e,d,c,b,a); }
printf("long
%ld,%ld,%ld,%ld,%ld,%ld,%ld\n",(long)a,(long)b,
(long)c,(long)d,(long)e,(long)f,(long)g);
printf("short %d,%d,%d,%d,%d,%d,%d\n",(short)a,(short)b,(short)c, (short)d,(short)e,(short)f,(short)g);
4. 数字加密
输入1 个四位数,将其加密后输出。方法是将该数每一位上的数字 加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位 上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:括号内是说明 输入:1257 输出:The encrypted number is 4621(每一位上的数字加9 除以10 取余后,得0146,交换后得到4601)
printf("signed char %c,%c,%c,%c,%c,%c,%c\n",(signed char)a,
(signed char)b,(signed char)c,(signed char)d,(signed char)e,(signed char)f,
(signed char)g);
-111
-617
-28654
11111111111111111111111110110001 1111111111110110010111 1111111111111111100100000001001
7. 选作题目
编程实现如何将一个十进制的整数转换成二进制的数输出。
例:括号内是说明
输入:789(输入的等待被转换的十进制数) 输出:1100010101
double a,b,c,d,e,r1=0.0350,r2=0.0440,r3=0.0500,r4=0.0550,r5=0.0050;
a=1000*(1+5*r4); b=(1000*(1+2*r2))*(1+3*r3); c=(1000*(1+3*r3))*(1+2*r2); d=1000*pow(1+r1,5); e=1000*pow(1+r5/4,20); printf("%2f,%2f,%2f,%2f,%2f\n",a,b,c,d,e); }
6. 手工转换
(1)请将下面十进制数字分别用二进制、八进制、十六进制进行表 示。
10
32
75
2483
21003
二进 1010 10000 制
1001011 100110110011 101001000001011
八进 12
40
113
4663

51013
十六 A
20
4B
9B3
进制
520B
(2)请计算下述负数(-111、-617、-28654)的32位补码表示。
short …,…,…,…,…,…,… signed char …,…,…,…,…,…,… float …,…,…,…,…,…,…
程序代码:
#include<stdio.h>
void main()
{
int a,b,c;
unsigned int d,e;
char f;
float g;
scanf("%d,%d,%d,%u,%u,%c,%f",&a,&b,&c,&d,&e,&f,&g);
程序代码: #include<stdio.h> void main() {
int a,b,c,d,e,f,x,y,m,n; scanf("%d",&a); b=a%10; c=(a%100-b)/10; d=(a%1000-(b+c))/100; e=(a-(b+c+d))/1000; x=(e+9)%10; y=(d+9)%10; m=(c+9)%10; n=(b+9)%10; f=m*1000+n*100+x*10+y*1; printf("The encrypted number is %d\n",f); }
printf("int
%d,%d,%d,%d,%d,%d,%d\n",a,b,c,(int)d,(int)e,(int)f,
(int)Fra Baidu bibliotek);
printf("unsigned int %u,%u,%u,%u,%u,%u,%u\n",(unsigned int)a, (unsigned int)b,(unsigned int)c,d,e,(unsigned int)f,(unsigned int)g);
min=time%60;
hour=(time-min)/60; printf("The train journey time is %d hrs ",hour); printf("%d mins.",min); }
3. 数字拆解
给出一个5 位整型数字,求: a)分别打印每一个数字;b)按逆序打印各位数字。
(1) 1年期本息和:P=1000*(1+r) (2) n年期本息和:P=1000*(1+n*r) (3) 存n次1年期的本息和:P=1000*(1+r)n
(4) 活期本息和:P=1000*(1+r/4)4n (说明:1000*(1+r/4)是 一个季度的本息和)
请计算1000元人民币分别按照上述5种存款办法,5年后的实际收 入。 #include<stdio.h> #include<math.h> void main() {
#include<stdio.h> #include<math.h> void main() {
int a,b,c,i; scanf("%d",&a); do {
i=0; c=fmod(a,2); b=c*pow(10,i); printf("%d",b); a=a/2; i=i+1; } while (a>0); printf("\n"); }
相关文档
最新文档