C语言实验9(附参考答案)

更新时间:2024-04-21 16:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验9:选择结构(2)

实验目的:

(1)进一步掌握if语句和switch语句; (2)掌握用条件运算符实现选择;

(3)掌握选择结构的嵌套,掌握简单的算法。

(4)能灵活应用下列语句:if,if-else,switch,break。 实验内容:

1、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( C )。

A)A%2==1 B)!(A%2==0) C)!(A%2) D)A%2 2、以下程序的运行结果是 F 。 main() { } if(2*2==5<2*2==4) print(“T”); else printf(“F”); 3、下列程序的运行结果是 。

#include void main(void) { int x,y=1,z; if(y!=0) x=5; printf(“\\t%d\\n”,x); if(y==0) x=4; else x=5; printf(“\\t%d\\n”,x); x=1;

} if(y<0) if(y>0) x=4; else x=5; printf(“\\t%d\\n”,x); 4、根据程序的功能,将以下程序补充完整

以下程序计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。请在 内填入正确内容。

main() { int yy,mm,len; printf(“year,month=”); scanf(“%d %d”,&yy,&mm); switch(mm) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: len=31 ; break; case 4: case 6: case 9: case 11: len=30; break; case 2: if(yy%4==0&&yy0!=0||yy@0==0) len=29 ; else len=28 ; break; default: printf(“input error”); break; } printf(“the length of %d %d is %d\\n”,yy,mm,len); } 二、编程:

1、(必做)试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。

#include void main() { int num; printf(\请输入一个正整数:\\n\ scanf(\ if(num%5==0&&num%7==0) printf(\ else printf(\} 2、(必做)编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。(要求用switch语句实现)

#include void main() { int a,b; char op; printf(\请输入需要计算的表达式:\\n\ scanf(\ switch(op) { case '+':printf(\运算结果为:%d\\n\ case '-':printf(\运算结果为:%d\\n\ case '*':printf(\运算结果为:%d\\n\ case '/':if(b!=0) {printf(\运算结果为:%d\\n\ else {printf(\除数不能为0!\\n\ default:printf(\输入的表达式异常!\\n\ } } 3、(必做)已知银行整存整取存款不同期限的月息利率分别为: 2.5% 期限一年

3.25% 期限二年 3.85% 期限三年 4.2% 期限五年 8.9% 期限八年

要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

比如:有1000块钱,存2年,则二年后的本息和合计1000*(1+0.0325)*(1+0.0325)=1066.06元。

#include #include void main() { int benjin,year; double benjinhe; printf(\请输入存款的本金(以元为单位)和存期:\\n\ scanf(\ switch(year) { case 1:benjinhe=benjin*(1+0.025);break; case 2:benjinhe=benjin*pow((1+0.0325),2);break; case 3:benjinhe=benjin*pow((1+0.0385),3);break; case 5:benjinhe=benjin*pow((1+0.042),5);break; case 8:benjinhe=benjin*pow((1+0.089),8);break; default:benjinhe=0; } if(benjinhe==0) printf(\您的输入有误,请重试!\\n\ else printf(\本金和为:%.2lf\\n\} 4、(选做)编制程序要求输入整数x、y和z,若x2+y2+z2大于1000,则输出x2+y2+z2千位以上的数字,否则输出三数之和。

#include void main()

{ } int x,y,z,sum; printf(\请输入三个整数:\\n\scanf(\sum=x*x+y*y+z*z; if(sum>1000) printf(\这三个数平方和的千位以上的数字为:%d\\n\else printf(\这三个数的和为%d\\n\5、(选做)编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数据错误的提示信息。

#include #include void main() { double x,y,z,s; double area; printf(\请输入三角形的三边长:\\n\ scanf(\ if(x+y>z&&x+z>y&&y+z>x) { s=(x+y+z)/2.0; area=sqrt(s*(s-x)*(s-y)*(s-z)); printf(\这三个数值可以组成一个三角形。该三角形的面积为%.2lf\\n\ } else printf(\这三个数值不能组成一个三角形。\\n\} 5

本文来源:https://www.bwwdw.com/article/upxp.html

Top