C语言实验报告

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 void main() { int money; int a,b,c,d,sum; printf(\ scanf(\ a=money/25; b=(money%)/10; c=((money%))/5; d=money%%5; sum=a+b+c+d; printf(\分的有%d\\t10分的有%d\\t5分的有%d\\t1分的有%d\\n\ printf(\总的硬币数是%d\\n\} 实验二 选择结构程序设计

【实验目的】

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

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4