3. #include\#include\void main() { double capital,rate,deposit; int n; printf(\ scanf(\ deposit=capital*pow(1+rate,n); printf(\} 4. #include\#include\void main() { double r1,r2,h; printf(\输入上底半径,下底半径,高:\ scanf(\ double s1,s2,s3,l,v,pi=3.1314; s1=pi*r1*r1; s2=pi*r2*r2; l=sqrt((r2-r1)*(r2-r1)+h*h); s3=pi*l*(r1+r2); v=pi*h*(r1*r1+r2*r2+r1*r2)/3.0; printf(\}
6
5. #include
【实验目的】
1.熟练掌握上机运行一个C程序的操作过程。
2.学会正确使用逻辑运算符和逻辑表达式,进一步掌握各种表达式的使用。 3.利用if语句实现选择结构程序设计。
4.利用switch语句实现多分支选择结构程序设计。 5.进一步练习调试与修改程序。
【上机实习指导】
1.输入并运行习题3.10。即:
# include “stdio.h” void main( ) { int i,j,n,m; i=8;j=10; m=++i;n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n); }
分别作以下改变并运行:
①将程序第四行改为:m=i++;n=++j; ②程序改为:
# include “stdio.h” void main( )
7
{ int i,j; i=8;j=10;
printf(“%d,%d”,i++,j++); }
③在②的基础上,将语句改为: printf(“%d,%d”,i++,j++); ④再将语句改为:
printf(“%d,%d,%d,%d”,i,j,i++,j++); ⑤程序改为:
# include “stdio.h” void main( )
{ int i,j,n=0,m=0; i=8;j=10;
m+=i++;n-=- -j;
printf(“%d,%d,%d,%d”,i,j,m,n); }
2.计算下列分段函数值:
具体要求如下:
①用if语句实现分支。自变量x与函数值均用单精度类型。
②自变量x用scanf函数输入,且输入前要有提示。结果的输出采用以下形式: x=具体值,f(x)=具体值
③分别输入x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0,运行该程序。 3.先静态分析以下程序的运行结果,然后上机验证。 # include “stdio.h” void main( )
{ int a=3,b=4,c=5,x,y,z; x=c>b>a;
y=!a+b z=c/b+((float)a/b&&(float)(a/c)); printf(“\\n x=%d,y=%d,z=%d”,x,y,z); x=a||b--; y=a---3&&b; printf(“\\n %d,%d,%d,%d,%d,%d”,a,b,c,x,y,z); } 上机运行的结果与你分析的结果是否一致?不一致的原因何在? 请在程序的最后一个花括号前加上语句:getchar();后重新运行程序,注意事项加上这一语句后,程序的运行进程有何不同?getchar()是一个函数调用,其作用是等待接收你从键盘输入的一个字符,在你未按键之前一直处于等待状态。在这里可以起到暂停的作用。当你看清结果并按任意键后,立即退出程序并切换回TC主屏幕。用这一方法可以减少屏幕切换操作。 4.下列C程序的功能是:计算并输出分段函数值。 8 其中x由键盘输入。 请通过调试修改程序中的错误(包括语法错误和逻辑错误)。 #include “stdio.h” main( ) {float x,y; printf(“input x=”); scanf(\,&x); if((-5.0<=x<0.0)&&(x!=-2.0))y=1.0/(x+2.0); else if(x<5.O)y=l.0/(x+5.0); else if(x printf(\,x,y); } 具体要求如下: ①不允许改变计算的精度。 ②不允许改变原来程序的结构,只能在语句或表达式内部进行修改。 ③调试正确后,用x=-7.0,-2.0,-1.0,0.0,2.0,5.0,8.0,10.0,11.0运行这个程序。 ④画出与调试正确后的程序对应的流程图。 【自编程序上机】 1. 数据整除判断 编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:①能 同时被3,5,7整除;②能被其中两数(要指出哪两个)整除;③能被其中一个数(要指出哪一个)整除;④不能被3,5,7任一个整除。 提示: ⑴判断能否被某一个数整除应采用求余运算。 ⑵在一个程序中利用选择结构把四种可能的信息全部表示出来。 2.用scanf函数输入一个百分制成绩(整型量),要求输出成绩等级A,B,C,D,E。其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。 具体要求如下: ①用if语句实现分支。 ②在输入百分制成绩前要有提示。 ③在输入百分制成绩后,要判断该成绩的合理性,对于不合理的成绩(即大于100分或小于0分)应输出出错信息。 ④在输出结果中应包括百分制成绩与成绩等级,并要有文字说明。 ⑤分别输入百分制成绩:-90,100,90,85,70,60,45,101,运行该程序。 3.将第2题中的(1)改为“用switch语句实现”,其余不变,重复实现第2题中的各功能。 4.编程找出5个整数中的最大数和最小数,并输出找到的最大数和最小数。 9 。【实验报告】 实习时间: 实习地点: 实习机号: 1、 #include\void main() { int n; scanf(\ if(n%3==0&&n%5==0&&n%7==0) printf(\能同时被3,5,7整除的数:%d\\n\ if(n%3==0&&n%5==0&&n%7!=0) printf(\能同时被3,5整除的数:%d\\n\ if(n%3==0&&n%7==0&&n%5!=0) printf(\能同时被3,7整除的数:%d\\n\ if(n%5==0&&n%7==0&&n%3!=0) printf(\能同时被5,7整除的数:%d\\n\ if(n%3==0&&n%5!=0&&n%7!=0) printf(\能被3整除的数:%d\\n\ if(n%5==0&&n%3!=0&&n%7!=0) printf(\能被5整除的数:%d\\n\ if(n%7==0&&n%3!=0&&n%5!=0) printf(\能被7整除的数:%d\\n\ if(n%7!=0&&n%3!=0&&n%5!=0) printf(\不能被3,5,7任一整除的数:%d\\n\} 具 体 实 验 内 容 2、 #include\void main() { printf(\请输入成绩:\ float score; scanf(\ if(score>100||score<0) 10