资源描述:
《c语言程序设计练习题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、【4.1】已知银行整存整取存款不同期限的月息利率分别为: 0.315% 期限一年 0.330% 期限二年 月息利率 = 0.345% 期限三年 0.375% 期限五年 0.420% 期限八年 要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。【4.1】参考答案:#includemain(){intyear;floatmoney,rate,total;/*money:本金rate:月利率total:本利合计*/printf("Inputmoneyandyear=?");scanf("%f%d",&money,&year);/*输入本金和存款年限*/if(year==
2、1)rate=0.00315;/*根据年限确定利率*/elseif(year==2)rate=0.00330;elseif(year==3)rate=0.00345;elseif(year==5)rate=0.00375;elseif(year==8)rate=0.00420;elserate=0.0;total=money+money*rate*12*year;/*计算到期的本利合计*/printf("Total=%.2f",total);}【4.2】输入年份year和月month,求该月有多少天。判断是否为闰年,可用如下C语言表达式:year%4==0 && year0
3、!=0
4、
5、 year@0==0。若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。【4.2】参考答案:#includemain(){intyear,month,days;printf("Enteryearandmonth:");scanf("%d%d",&year,&month);switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;/*处理"大"月*/case4:case6:case9:case11:days=30;break;/*处理"小
6、"月*/case2:if(year%4==0&&year0!=0
7、
8、year@0==0)days=29;/*处理闰年平月*/elsedays=28;/*处理不是闰年平月*/break;default:printf("Inputerror!");/*月份错误*/days=0;}if(days!=0)printf("%d,%dis%ddays",year,month,days);}【4.3】编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。【4.3】参考答案:#incl
9、udemain(){floatdata1,data2;/*定义两个操作数变量*/charop;/*操作符*/printf("Enteryourexpression:");scanf("%f%c%f",&data1,&op,&data2);/*输入表达式*/switch(op)/*根据操作符分别进行处理*/{case'+':/*处理加法*/printf("%.2f+%.2f=%.2f",data1,data2,data1+data2);break;case'-':/*处理减法*/printf("%.2f-%.2f=%.2f",data1,data2,data1-data2)
10、;break;case'*':/*处理乘法*/printf("%.2f*%.2f=%.2f",data1,data2,data1*data2);break;case'/':/*处理除法*/if(data2==0)/*若除数为0*/printf("Divisionbyzero.");elseprintf("%.2f/%.2f=%.2f",data1,data2,data1/data2);break;default:/*输入了其它运算符*/printf("Unknownoperater.");}}【4.4】输入n值,输出如图所示矩形。【4.4】分析:打印此图形用两重循
11、环实现。图形要重复n行,故采用循环结构实现循环n次,循环体内部打印一行'*'号,把上述思路表示为:for(i=1;i<=n;i++)打印一行'*'号;每行有n个'*'号,再采用循环结构实现n次循环,循环内部用格式输出语句打印一个'*'号,即:for(j=1;j<=n;j++)printf("*");按照上述思路,实现打印矩形。参考答案:main(){inti,j,n;printf("PleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++