《C语言程序设计》实验指导书答案
实验一(第 1 章实验) 实验目的: 1. 掌握运行 C 语言程序的全过程。 2. 熟悉编译环境 Visual C++或者 Dev C++或者 Turbo C2.0//3.0。 3. 初步熟悉 C 语言程序的语法规定。 4. 了解简单函数的使用方法。 实验内容: 1. 编程且上机运行:求 3 个整数的和。 2. 编程且上机运行:求 2 个数的和、差、积和商。 3. 编程且上机运行:输入 3 个数,求最大值。 4. 编程且上机运行:输入圆的半径,求圆的面积和周长。 5. 在屏幕上输出:“hello world!” 6. 输入并编辑本章中给出的 C 程序例子,在自己用的环境中形成一个 C 语言源程序 文件;对这个源程序进行加工,得到对应的可执行程序,看一看它的效果。 实验结果: 1. #include #include main( ) { int i,j,k; printf(“ i,j,k:“);//输入整数数据,以半角逗号间隔,比如:1,2,3 scanf(“%d,%d,%d“,//不能缺少地址符号“ system(“Pause“); } 2. #include #include main( ) { int i,j; printf(“ i,j(not 0):“);//输入整数数据,以半角逗号间隔,j 不为 0,因为做除数 scanf(“%d,%d,%d“,//不能缺少地址符号“ printf(“%d-%d=%d\n“,i,j,i-j); printf(“%d*%d=%d\n“,i,j,i*j); printf(“%d/%d=%d\n“,i,j,i/j); system(“Pause“); } 3. #include #include main( ) { int i,j,k; printf(“ i,j,k:“);//输入整数数据,以半角逗号间隔 scanf(“%d,%d,%d“,//不能缺少地址符号“ else if(ik) printf(“max:%d“,i); else printf(“max:%d“,k); } else { if(j0,有两个不等的实根; ④ b2-4ac≥10) 写一程序,输入整数 X,输出 Y 的值。 4. 给一百分制成绩, 要求输出成绩等级 ‘A’、 ‘B’ 、 ‘C’ 、 ‘D’ 、 ‘E’ 。 90 分以上为 ‘A’ , 80-89 分为‘B’ ,70-79 分为‘C’ ,60-69 分为‘D’ ,60 分以下为‘E’ 。 5. 企业发放的奖金根据利润提成。利润(B)低于或等于 10 万元时,奖金可提 10%; 利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元 的部分可提成 7.5%; 200000<B≤400000 时, 高于 20 万元的部分按 5%提成; 400000 <B≤600000 时,高于 40 万元的部分按 3%提成;600000<B≤1000000 时,高于 60 万元的部分按 1.5%提成;B>1000000 时,高于 100 万元的部分按 1%提成。从键盘 输入当月利润 B,求应发放奖金总额。 6. 从键盘任意输入一个不多于五位的正整数, ① 求它是几位数; ② 分别输出每一个数字; ③ 按逆序输出各位数字,例如原数为 135,应输出 531。 实验过程: 实验结果: 1. 见第三版第五章作业 5.4 2. 见第三版教材 108 页 3. 见第三版第五章作业 5.5 4. 见第三版第五章作业 5.6 5. 见第三版第五章作业 5.8 6. 见第三版第五章作业 5.7 实验五(第 5 章实验一) 实验目的: 1. 掌握循环的概念,学习用循环的思想来思考实际问题。 2. 掌握单循环的使用方法。 实验内容: 1.计算 100 1n ns ,输出其结果。 2.使用循环结构输出下列图形。 3.计算下列公式的和,要求最后一项小于 10-5。 17 1 10 1 3 1 1 。提示:通项公式为: 1 1 ) 1( 2 1 n n 。 4.输入 30 个字符,分别统计其中数字、字母及字符的个数。 5.求出 Fibonacci(斐波那契)数列的前 20 项。 Fibonacci(斐波那契)数列的规律是:前 2 项为 0 和 1,其余各项为该项前 2 项之 和,即 0,1,1,2,3,5,8,13……。 实验过程: 实验结果:1. #include #include main() { int s=0;//试一下 s 不赋初值 int i; //循环变量 for (i=1;i=pow(10,-5)) { sum=sum+f*t; f=-f; //符号 i++; t=1.0/(i*i+1);//项 } printf(“sum=%9.6f\n“,sum); system(“Pause“); } 4. #include #include main() { int num=0; int alph=0; int ch=0; int i; char c; for(i=1;i= 0 else ch++; } printf(“number has %d,alph has %d,char has %d“,num,alph,ch); system(“Pause“); } 5. #include #include main() { long fib[20] = {0,1}; int i; for(i=2;iavg) num++; } printf(“average=%d\n“,avg); printf(“max=%d,min=%d,number of more than avg =%d\n“, max,min,num); system(“Pause“); } 3. //方法 1:使用数组,求出下列数列的前 20 项。1,1,2,4,7,13,…… #include #include main() { long a[20] = {1,1}; long sum=0; int i; for(i=3;i1e-5); return x; } main() { printf(“%10.6f\n“,solut()); system(“Pause“); } 6. //编写函数程序,计算正整数 n1~n2 之间所有素数之和。 #include #include #include int prime(int n)//判断素数的函数 { int flag=1,i; for (i=2;i(b)?(a):(b)) main() { int a,b,c; printf(“ a,b,c:“); scanf(“%d,%d,%d“, printf(“%d,%d,%d,%d\n“,MAX(a,b),MAX(MAX(a,b),c),MAX(a-2,b+2),MAX(MAX(a-2,b),c+2)); system(“Pause“); } 3. 见作业 9.2 4. 见作业 9.4 5. 见作业 9.3