《2023年【精品】高级语言程序设计实验与练习册答案.pdf》由会员分享,可在线阅读,更多相关《2023年【精品】高级语言程序设计实验与练习册答案.pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 高级语言程序设计(C)实验与练习册答案 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除2 实验一(1)C 程序运行环境及简单程序的运行(解答)P23 1编辑、运行简单的 C 程序 下面是一个简单的 C 程序,请输入、编译并运行之,观察并记下屏幕的输出结果,最后以文件名 sy1_1.c 存盘。#include main()int a,b,sum,m,f;/*定义整型变量 a,b,sum,m,f*/float d;/*定义实型变量 d*/printf(Please Input a,b n);/*输出语句*/scanf(%d%d,
2、&a,&b);/*输入语句由键盘输入两个数分别赋予a和b*/sum=a+b;/*赋值语句*/m=a-b;f=a*b;d=a/2.0;printf(%d+%d=%dn,a,b,sum);/*输出语句*/printf(%d-%d=%dn,a,b,m);printf(%d*%d=%dn,a,b,f);printf(%d/%f=%fn,a,2,d);运行结果:结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序
3、以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除3 2改错题(1)下列程序的功能为:计算 x*y 的值并将结果输出;请纠正程序中存在错误(程序中有 8 处错误),使程序实现其功能,程序以文件名 sy1_2.c 存盘。#include main /main 改为 main()int x=2;y=3;a /改为 int x=2,y=3,a;A=x*y /改为 a=x*y;print(a=%d,a);/改为 printf(a=%d,a);printf(n);改正后源程序:#i
4、nclude main()int x=2,y=3,a;a=x*y;printf(a=%d,a);printf(n);(2)下列程序的功能为:计算圆面积并将结果输出;请纠正程序中存在错误(程序中有 8 处错误),使程序实现其功能,程序以文件名 sy1_3.c 存盘。#include stdio.h;main();float r;area;r=5.0;area=3.14159r*r;printf(area=%dn,area)改正后源程序:#include main()float r,area;结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改
5、正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除4 r=5.0;area=3.14159*r*r;printf(area=%fn,area);(3)下列程序的功能为:正确使用控制字符(水平制表符);请纠正程序中存在错误,使程序实现其功能,程序以文件名 sy1_4.c 存盘。#include stdio.h main()char x,
6、y,z;x=”a”;y=/t;z=”b”;printf(第 1 行为:%c%c%cn,x,y,z);printf(第 2 行为:%c%c%c%cn,x,y,y,z);改正后源程序:#include stdio.h main()char x,y,z;x=a;y=t;z=b;printf(第 1 行为:%c%c%cn,x,y,z);printf(第 2 行为:%c%c%c%cn,x,y,y,z);运行结果:结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使
7、程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除5 实验一(2)数据类型、运算符和表达式 P26 1若有定义“int x,a,b,c;”,写出顺序执行下列表达式后 x 的值,然后通过程序(程序以文件名 sy1_5.c 存盘)验证。要求:先利用操作系统自带的计算器按表达式的运算次序计算下列表达式的结果,然后利用验证程序计算表达式的结果。x=a=b=10 x=25%(c=3)x*=x+=x-=x x=(a=4%3,a=1)
8、验证程序:#include main()int x,a,b,c;x=a=b=10;printf(x=%dn,x);x=25%(c=3);printf(x=%dn,x);x*=x+=x-=x;printf(x=%dn,x);x=(a=4%3,a=1);printf(x=%dn,x);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供
9、您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除6 运行结果:2改错题(1)下列程序的功能为:已知圆锥半径 r和高 h,计算圆锥体积 v。请纠正程序中存在错误(程序中有 7 处错误),使程序实现其功能,程序以文件名sy1_6.c 存盘。#include stdio.h main();float r=10,h=5;v=1/3*3.14159*r2*h;printf(v=%dn,v)改正后源程序:#include main()float r=10,h=5,v;v=1.0/3*3.14159*r*r*h;printf(v=%fn,v);(2)下列
10、程序的功能为:通过键盘输入两个整数分别存放在变量 x、y 中,不借用第 3 个变量实现变量 x、y 互换值。请纠正程序中存在错误,使程序实现其功能,程序以文件名 sy1_7.c 存盘。#include stdio.h main()int x,y;结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正
11、或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除7 printf(请输入两个整数n);scanf(%d%d,x,y);printf(初始状态下的 x:%d y:%dn);x=x+y y=x-y;x=x-y;printf(最终状态下的 x:%d y:%d/n,x,y);改正后源程序:#include stdio.h main()int x,y;printf(请输入两个整数n);scanf(%d%d,&x,&y);printf(初始状态下的 x:%d y:%dn,x,y);x=x+y;y=x-y;x=x-y;printf(最终状态下的 x:%d y:%dn,x,y);3程序填空(
12、1)下列程序的功能为:输出小写字母 a,b,请填写适当的符号,使程序实现其功能,程序以文件名 sy1_8.c 存盘。#include main()char c1,c2;c1=97;c2=98;printf(%c,%c ,c1,c2);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资
13、料内容仅供您学习参考,如有不当之处,请联系改正或者删除8 (2)下列程序的功能为:从键盘输入 3 个整数分别存入变量 a、b、c,然后,将变量 a的值存入变量 b,将变量 b 的值存入变量 c,将变量 c 的值存入变量 a,输出经过转存后变量 a、b、c的值。(提示:使用中间变量)。请填写适当的符号或语句,使程序实现其功能,程序以文件名 sy1_9.c 存盘。#include main()int a,b,c,m ;printf(Please input a,b,c:);scanf(%d%d%d,&a,&b,&c );m=a ;a=c ;c=b ;b=m ;printf(a=%d b=%d c=
14、%dn,a,b,c);4编程题(1)编写一个程序实现如下功能:从键盘输入三个大写英文字母,把它们转换成小写字母后输出(程序以文件名 sy1_10.c 存盘)。参考程序:(注意输入必须是大写字母)#include main()char c1,c2,c3;scanf(%c,%c,%c,&c1,&c2,&c3);c1=c1+32;c2=c2+32;c3=c3+32;printf(%c,%c,%cn,c1,c2,c3);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中
15、有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除9(2)编写一个程序实现如下功能:从键盘输入两个整数 a、b,求 a2+b2的值并输出(程序以文件名 sy1_11.c 存盘)。参考程序:#include stdio.h main()int a,b,c;printf(请输入两个整数n);scanf(%d%d,&a,&b);c=a*a+b*b;printf(c=%dn,c);实验二 设计并运行简单的 C 程序(解
16、答)1改错题(1)下列程序的功能为:输入一个华氏温度,要求输出摄氏温度。公式为:C=)32(95F,输出取 2 位小数。请纠正程序中存在的错误(程序中有 3处错误),使程序实现其功能,程序以文件名 sy2_1.c 存盘。#include main()float c,f;printf(请输入一个华氏温度:n);scanf(%f,f);c=(5/9)*(f-32);printf(摄氏温度为:%5.2fnc);改正后的程序:#include main()float c,f;结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程
17、序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除10 printf(请输入一个华氏温度:n);scanf(%f,&f);c=(5.0/9)*(f-32);printf(摄氏温度为:%5.2fn,c);(2)下列程序的功能为:按下列公式计算并输出 x 的值。其中 a和 b 的值由键盘输入。x=2ab/(a+b)2 请纠正程序中存在的错误,使程序实现其功能,
18、程序以文件名 sy2_2.c 存盘。#include main()int a,b;float x;scanf(%d,%d,a,b);x=2ab/(ab)(ab);printf(x=%d n,x);改正后的程序:#include main()int a,b;float x;scanf(%d,%d,&a,&b);x=2.0*a*b/(a+b)*(a+b);printf(x=%fn,x);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程
19、序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除11(3)下列程序的功能为:从键盘输入一个大写字母,要求改用小写字母输出。请纠正程序中存在的错误,使程序实现其功能,程序以文件名 sy2_3.c 存盘。#include main()char c1,c2;c1=getchar;/*输入大写字符*/printf(%c,%dn,c1,c1);c2=c1-26;/*转变为小写*/printf(%c,%dn,c2,c2);/*输出*/改正后的程序:#
20、include main()char c1,c2;c1=getchar();/*输入大写字符*/printf(%c,%dn,c1,c1);c2=c1+32;/*转变为小写*/printf(%c,%dn,c2,c2);/*输出*/2程序填空(1)下列程序的功能为:给定格式输入数据,按输出要求输出结果,请填写适当的符号或语句,使程序实现其功能,程序以文件名 sy2_4.c 存盘。输入形式 enter x,y:2 3.4 输出形式 x+y=5.4#include 结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为
21、计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除12 main()int x;float y;printf(enter x,y:);scanf(%d%f,&x,&y);printf(x+y=%.1fn,x+y);(2)下列程序的功能为:设圆半径 r=1.5,圆柱高 h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用 scanf 输入数据 r、h,输出计算
22、结果,输出时要求有文字说明,取小数点后位数字。(周长 l=2r,圆面积 s=2r,圆球表面积 sq=24 r,圆球体积 vq=343r;圆柱体积 vz=2hr)请填写适当的符号或语句,使程序实现其功能,程序以文件名 sy2_5.c 存盘。#include main()float pi,h,r,l,s,sq,vq,vz;pi=3.1415926;printf(请输入圆半径 r,圆柱高 h:n);scanf(%f%f,&r,&h);l=2*pi*r ;s=pi*r*r ;sq=4*pi*r*r ;vq=3.0/4*pi*r*r*r ;vz=pi*h*r*r ;printf(圆周长为:%.2fn,l
23、 );printf(圆面积为:%.2fn,s );printf(圆球表面积为:%.2fn,sq);printf(圆球体积为:%.2fn,vq );结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除13 printf(圆柱体积为:%
24、.2fn,vz );(3)下列程序的功能为:通过键盘输入两个整数,分别存入变量 x,y 中,当 x小于 y 时,通过中间变量 t 互换 x,y 之值,并输出之。请填写适当的符号或语句,使程序实现其功能,程序以文件名 sy2_6.c 存盘。#include main()int x,y,t;printf(请输入 x,y:n);scanf(%d%d,&x,&y);if(xy)t =x;x=y;y=t;/x 与 y 交换 printf(交换后的 x:%d y:%d n,x,y);3编程题(1)编写一个程序实现如下功能:输入一元二次方程的系数 a,b,c,求方程的根。要求:运行该程序时,输入 a,b,c
25、的值,分别使 b2-4ac的值大于、等于和小于零,观察运行时的报错信息(程序以文件名 sy2_7.c 存盘)。参考程序:#include#include void main()float a,b,c,disc,x1,x2,p,q;scanf(a=%f,b=%f,c=%f,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错
26、误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除14 x1=p+q;x2=p-q;printf(x1=%5.2fnx2=%5.2fn,x1,x2);(2)编写一个程序实现如下功能:在屏幕显示提示信息(“输入一个字符串”),用户输入完成后在屏幕上再现该字符串(程序以文件名 sy2_8.c 存盘)。参考程序:#include void main()char c1,c2,c3;printf(输入一个字符串n);c1=getchar();c2
27、=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);putchar(n);(3)编写一个程序实现如下功能:利用 sizeof(),求得所有基本数据类型的长度(程序以文件名 sy2_9.c 存盘)。参考程序:#include void main()int i,j;long s;float a,b;double f1,f2;char ch;printf(%d,%d,%dn,sizeof(int),sizeof(i),sizeof(10);printf(%d,%d,%d,%dn,sizeof(long),sizeof(s),size
28、of(50000),sizeof(10L);printf(%d,%d,%dn,sizeof(float),sizeof(b),sizeof(9.8F);printf(%d,%d,%dn,sizeof(double),sizeof(f1),sizeof(9.8);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当
29、之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除15 printf(%d,%d,%d,%dn,sizeof(char),sizeof(ch),sizeof(a),sizeof(101);实验四 循环结构程序设计 (解答)1改错题(1)下列程序的功能为:求1100之和(和值为 5050)并输出。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c 存盘。#include main()int i,sum=0;i=1;while(i100)sum=sum+i;i+;printf(“The sum from 1 to 100 is%dn”,sum);改正
30、后的程序:#include main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(The sum from 1 to 100 is%dn,sum);(2)下列程序的功能为:倒序打印 26 个英文字母。请纠正程序中存在错误,使程序实现其功能,程序以文件名 sy4_2.c 存盘。#include main()char x;x=z;结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中
31、有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除16 while(x!=a)printf(%3d,x);x+;改正后的程序:#include main()char x;x=z;while(x!=a-1)printf(%3c,x);x-;(3)下列程序的功能为:输出如下的图形,要求顶端的*定位在第 21 字符位置,请纠正程序中存在错误,使程序实现其功能,程序以文件名 sy4_3.c 存盘。*#include void main()int i,j
32、;for(i=0;i4;i+)for(j=0;j=20;j+)printf(n);for(j=0;j2*i+1;j+)printf(*);改正后的程序:#include void main()int i,j;for(i=0;i4;i+)for(j=0;j=20-i;j+)printf();for(j=0;j2*i+1;j+)printf(*);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名
33、存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除17 printf(n);2程序填空(1)下列程序的功能为:用辗转相除法求两个正整数的最大公约数;请填写适当的符号或语句,使程序实现其功能,程序以文件名 sy4_4.c 存盘。提示:“辗转相除法”求两个正整数的最大公约数的算法如下:将两数中大的那个数放在 m 中,小的放在 n 中。求出 m 被 n 除后的余数 r。若余数为 0 则执行步骤(7);否则执行步骤(4)。把除数作为新的被除数;把余数作为新的除数。求出新的余数 r。重复步
34、骤(3)到(5)。输出 n,n 即为最大公约数。#include main()int r,m,n,t ;scanf(%d%d,&m,&n);if(mn)t=m;m=n;n=t;r=m%n;while(r)m=n;n=r;r=m%n ;printf(%dn,n);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当
35、之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除18(2)下列程序的功能为:计算 1020 个西瓜几天后能卖完(第一天卖了一半多两个,以后每天卖剩的一半多两个);请填写适当的符号或语句,使程序实现其功能,程序以文件名 sy4_5.c 存盘。#include main()int day,x1,x2;day=0;x1=1020;while(x10 )x2=x1/2-2 ;x1=x2;day+;printf(“day=%dn”,day);(3)下列程序的功能为:输出 100 以内能被 3 整除且个位数为 6 的所有整数;请填写适当的符号或语句,使程序实现其功能,程序
36、以文件名 sy4_6.c 存盘。#include main()int i,j;for(i=0;i10 ;i+)j=i*10+6;if(i%3!=0 )continue;printf(%d,j);3编程题(1)编写一个程序实现如下功能:计算 1100 之间所有含 8 的数之和(程序以文件名 sy4_7.c 存盘)。参考程序:结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内
37、容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除19#include main()int i,sum=0;for(i=1;i=100;i+)if(i%10=8|i/10=8)sum+=i;printf(sum=%dn,sum);(2)编写一个程序实现如下功能:用下列近似公式计算 e值,误差应小于10-5(程序以文件名 sy4_8.c 存盘)。!31!21!111e!1n 参考程序:#include main()int i=0;long n=1;float e=0,t=1;while(t1e-5)e+
38、=t;i+;n*=i;t=1.0/n;printf(e=%fn,e);(3)编写一个程序实现如下功能:验证下列结论:任何一个自然数 n 的立方都等于 n 个连续奇数之和。例如:13=1;23=3+5;33=7+9+11。要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为 0 时止(程序以文件名 sy4_9.c 存盘)。参考程序:结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以
39、文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除20#include main()int num,a,i;while(1)printf(输入一个自然数(输入 0 则结束程序):);scanf(%d,&num);if(!num)break;a=num*num-num+1;/a 为第一个奇数 printf(%d*%d*%d=,num,num,num);for(i=1;i=num-1;i+)printf(%d+,a);a+=2;printf(%dn,a);(4)编写一个程序实现
40、如下功能:求该校的学生总人数(学校有近千名学生,在操场上排队,5 人一行余 2 人,7 人一行余 3 人,3 人一行余 1 人(程序以文件名 sy4_10.c 存盘)。要求:使用循环结构编写程序。可以使用 break 语句。编译、运行程序,并写出结果 参考程序:#include main()int i;for(i=900;i=1000;i+)if(i%5=2&i%7=3&i%3=1)结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程
41、序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除21 break;printf(学生总人数=%dn,i);数组程序设计实验解答 1改错题(1)#include void main()int n=10,i,sum=0;int a10;/an 改为 a10 for(i=0;i10;i+)scanf(%d,&ai);/scanf(%d,ai);sum=sum+ai;printf(sum=%dn,sum);(2)#include void mai
42、n()char a 20=wel,b=come;/a=wel int i,n=0;while(an!=0)n+;/!an for(i=0;bi!=0;i+)an+i=bi;an+i=0;printf(%sn,a);(3)#include void main()int a23,b23,c23,i,j;for(i=0;i2;i+)/for(i=1;i2;i+)for(j=0;j3;j+)/for(j=1;j3;j+)scanf(%d,&aij);/scanf(%d,aij)for(i=0;i2;i+)/for(i=1;i2;i+)for(j=0;j3;j+)/for(j=1;j3;j+)结果最后以
43、文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除22 scanf(%d,&bij);/scanf(%d,bij)for(i=0;i2;i+)/for(i=1;i2;i+)for(j=0;j3;j+)/for(j=1;j3;j+)cij=a
44、ij+bij;for(i=0;i2;i+)/for(i=1;i2;i+)for(j=0;j3;j+)/for(j=1;j3;j+)printf(%3d,cij);printf(n);2程序填空(1)#include stdio.h#define N 10 main()int a=0,1,2,3,4,5,6,7,8,9,k;int low=0,high=N-1,mid,find=0;printf(请输入欲查找的值:n);scanf(%d,&k);while(lowk)high=mid-1;/1 else low=mid+1;/2 if(!find)printf(%d 未找到n,k);(2)#de
45、fine N 20 结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除23#include#include /添加(#include /添加或者和语句 srand(unsigned)time(NULL)都不要)void main(
46、)int aN,i,j,k,t;(srand(unsigned)time(NULL);/添加或者和#include都不要)printf(排序前:n);for(i=0;iN;i+)ai=rand()%100;/1 printf(%5d,ai);for(i=0;iN-1;i+)k=i;for(j=i+1;jN;j+)if(akaj)/2 k=j;if(k!=i)/3 t=ak;ak=ai;ai=t;printf(n 排序后:n);for(i=0;iN;i+)printf(%5d,ai);(3)#include#include void main()char line80;char ch;int i
47、,j;int len;printf(输入一行字符 n);gets(line);/1 printf(输入要删除字符);结果最后以文件名存盘定义整型变量定义实型变量输出语句输入语句由键盘输入两个数分别赋予和赋值语句输出语句系改正或者删除改错题下列程序的功能为计算的值并将结果输出请纠正程序中存在错误程序中有处错误使程序实现其存在错误程序中有处错误使程序实现其功能程序以文件名存盘改正后源程序资料内容仅供您学习参考如有不当之处请资料内容仅供您学习参考,如有不当之处,请联系改正或者删除 资料内容仅供您学习参考,如有不当之处,请联系改正或者删除24 ch=getchar();i=0;while(linei!
48、=0)while(linei!=0&linei!=ch)i+;/2 len=strlen(line);for(j=i;jlen-1;j+)linej=linej+1 ;/3 linej=0;puts(line);3编程题(1)编写一个程序实现如下功能:任意输入 10 个整数的数列完成下列运算(程序以文件名 sy5_7.c 存盘):要求用选择排序法将数列由小到大排序;在排序好的数列中插入一个数,使数列保持从小到大的顺序。#define N 11#include void main()int aN,i,j,k,t,p;printf(请输入%d 个整数:n,N);for(i=0;iN-1;i+)sc
49、anf(%d,&ai);for(i=0;iN-2;i+)/选择排序 k=i;for(j=i+1;jaj)k=j;if(k!=i)t=ak;ak=ai;ai=t;printf(n 排序后:n);for(i=0;i=0&ajp)/找插入位置 aj+1=aj;j-;aj+1=p;/插入 printf(n 插入后:n);for(i=0;iN;i+)printf(%5d,ai);printf(n);(2)编写一个程序实现如下功能:输入字符串 s1 和 s2 以及插入位置 d,在字符串 s1 中的指定位置 d 处插入字符串 s2。如:输入字符串SHHAI、ANG和位置 3,则输出:SHANGHAI;若 d
50、 大于串 s1 长度时,串 s2 插入在s1 后面,如 s1=SHANG,S2=HAI,d8,则 s1=SHANGHAI(程序以文件名 sy5_8.c 存盘)。#include#include void main()char s1100,s220;int i,d,n,n1;printf(输入第一个串:);scanf(%s,s1);printf(输入第二个串:);scanf(%s,s2);printf(输入插入位置:);scanf(%d,&d);n=strlen(s1);n1=strlen(s2);if(dn)strcat(s1,s2);else for(i=n;i=d-1;i-)s1n1+i=