C语言实验报告3.docx
- 文档编号:17474669
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:11
- 大小:187.05KB
C语言实验报告3.docx
《C语言实验报告3.docx》由会员分享,可在线阅读,更多相关《C语言实验报告3.docx(11页珍藏版)》请在冰点文库上搜索。
C语言实验报告3
一、实验目的
1.掌握使用if~else语句和switch~case语句实现分支结构的方法。
2.掌握使用三种循环语句实现循环结构的方法。
二、实验内容
1.显示两级成绩
程序填空,不要改变与输入输出有关的语句。
输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。
文件命名---学号B1.C
源程序:
#include
intmain()
{
intmark;
scanf("%d",&mark);
If(mark<60){/*运用if~else实现分支结构*/
printf(“Fail.\n”);/*mark<60为真时执行*/
}
else{
printf(“Pass.\n”);/*mark<60为假时执行*/
}
return0;/*程序的结束状态*/
}
2.求三角形的面积和周长
程序填空,不要改变与输入输出有关的语句。
输入三角形的三条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter(保
留2位小数);否则,输出“Thesesidesdonotcorrespondtoavalidtriangle”。
在一个三角形中,任意两边之和大于第三边。
三角形的面积计算公式:
aere*area=s(s-a)(s-b)(s-c)
其中:
s=(a+b+c)/2
文件命名---学号B2.C
源程序:
#include
#include
intmain()
{
floata,b,c,area,perimeter,s;
scanf("%f%f%f",&a,&b,&c);
if((a+b>c)&&(a+c>b)&&(b+c>a)){/*运用if~else实现分支结构,逻辑与的运用要到位*/
s=(a+b+c)/2;
printf("perimeter=%.2f\n",a+b+c);/*调用printf()函数输出周长*/
printf("area=%.2f\n",sqrt(s*(s-a)*(s-b)*(s-c)));/*平方根函数sqrt()*/
}
else{
printf("Thesesidesdonotcorrrespondtoavalidtriangle\n");/*if条件语句为假时执行*/
}
return0;
}
3.计算个人所得税
程序填空,不要改变与输入输出有关的语句。
输入一个职工的月薪salary,输出应交的个人所得税tax(保留2位小数)。
tax=rate*(salary-850)
当salary<=850时,rate=0;
当850 当1350 当2850 当5850 文件命名---学号B3.C 源程序: #include intmain() { floatrate,salary,tax; scanf("%f",&salary); if(salary<=850){/*运用else-if语句求解多分段函数*/ rate=0; } elseif(salary<=1350){/*else-if语句的分支*/ rate=5; } elseif(salary<=2850){/*else-if语句的分支*/ rate=10; } elseif(salary<=5850){/*else-if语句的分支*/ rate=15; } else{ rate=20; } tax=rate*(salary-850); printf("tax=%0.2f\n",tax);/*调用printf()函数输出结果*/ } 4.求1+1/2+1/3+......+1/n 程序填空,不要改变与输入输出有关的语句。 读入1个正整数n(n<=50),计算并输出1+1/2+1/3+......+1/n(保留3位小数)。 文件命名---学号B4.C 源程序: #include intmain() { intn,i; floatsum; printf("n<=50,Entern: ");/*输入提示“n<=50,Entern: ”*/ scanf("%d",&n); sum=0;/*对sum赋初值0*/ for(i=1;i<=n;i++){/*使用for循环,循环执行n次,计算sum*/ sum=sum+1.0/i; } printf("%.3f\n",sum);/*调用printf()函数输出sum的值*/ } 5.求n! 程序填空,不要改变与输入输出有关的语句。 读入1个正整数n(n<=50),计算并输出n! 。 文件命名---学号B5.C 源程序: #include intmain() { inti,n; floatsum; printf("Entern,n<=50: ");/*输入提示*/ scanf("%d",&n); i=1,sum=1; do/*do~while循环语句*/ { sum=sum*i;/*循环体语句*/ i++; }while(i<=n); printf("%.3f\n",sum);/*调用printf()函数输出sum的值*/ } 6.统计素数并求和 程序填空,不要改变与输入输出有关的语句。 输入2个正整数m和n(1<=m,n<=500),统计并输出m和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。 注: 嵌套循环 文件命名---学号B6.C 源程序: #include #include intmain() { intcount,digit,i,j,k,m,n,sum; printf("Enterm,n,n<=500: ");/*输入提示*/ scanf("%d%d",&m,&n);/*调用scanf()函数输入m,n*/ count=0,sum=0;/*count与sum分别记录素数个数与和,用于控制输出格式*/ for(j=m;j<=n;j++){/*循环嵌套*/ k=sqrt(j); for(i=2;i<=k;i++)/*for循环,注意素数的判断*/ if(j%i==0)/*若m能被某个i整除,则j即m不是素数,循环提前结束*/ break; if(i>k&&j! =1){/*如果m是素数*/ count++; sum=sum+j; } } printf("count=%d,sum=%d\n",count,sum); } 3、收获、体会及问题 收获、体会: 总的来说,这次实验的完成较实验一来说轻松了许多,因为对代码有了近一步的熟悉,实验的完成过程相对得心应手了许多。 本次实验我基本掌握了运用三种循环语句循环结构的方法,对do~while、if~else、switch~case三种语句有了更深的理解,并能够准确的将之运用到编程的过程中,同时三类语句的作用与实现方法我也有了近一步的认识。 问题: 在运用三种语句实现嵌套的过程中,不可避免的出现了将语句混淆的情况,同时if~else的层层嵌套也存在一定的问题,比如在完成第三个小实验的过程中,因为分支较多,就将elseif与else的使用搞混淆过,还好及时通过书本进行了纠正。 另外,switch~case的使用相较于其他两种循环方法较为生疏,还待加强训练。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 报告