C语言实验6
实验6、循环结构程序设计(2)
一、实验目的
1、进一步掌握用for、while、do while语句的格式和执行流程;
2、掌握循环的嵌套(至少两层)以及用循环的方法实现一些常用算法; 3、掌握用break和continue语句的作用及其区别; 4、进一步学习调试程序。
二、实验内容
1、程序改错(必做题)
下面程序的功能是:输入10名学生某门课程的成绩,计算平均分,并求出其中的最高分和最低分。程序中存在四处错误,请调试修改,使程序运行能输出正确的结果。(标明出错的行号及其修改的内容) #include
float score,max,min,sum,ave; //3
printf(\ //4 scanf(\ //5
max=min=sum=0; //6 max=min=sum=score for(i=1;i<=10;i++) //7 for(i=1;i<10;i++),for(i=1;i<=9;i++),for(i=2;i<=10;i++) { scanf(\ //8 sum+=score; //9 if(max>score) //10 if(max
ave=sum/10; //14
printf(\ //15 }
2、编程题
请根据自己的实际能力在以下A、B两组中任选两题进行编程。 A组:(难道较高,成绩A-~A+)
(1)编写程序,输入多个两位正整数(敲回车键结束输入),统计出其中小于等于40、大于40小于等于70、大于70的数据个数。 #include
int i=0,j=0,k=0;
printf(\ do {
C语言实验6
scanf(\ if(a<=40) i++; else if(a<=70) j++; else k++;
} while((a=getchar())!='\\n');
printf(\ 40 to 70=%d higher than 70=%d\\n\}
(2)任意输入一串字符(敲回车键结束输入),将其中所有的大写字母均转换为小写,然后将所有字母均用其前面的第3个字母替换,其他字符不变,输出转换后的字符串。例如:如果输入Asia Game 2010,输出xpfx dxjb 2010. #include
while((c=getchar())!='\\n')
{ if((c>='A' && c<='Z')) c=c+32; if((c>='d' && c<='z')) c=c-3; else if((c>='a' && c<='c')) c=c-3+26; printf(\ }
printf(\}
#include
while((c=getchar())!='\\n')
{ if((c>='A' && c<='Z')) c=c+32; if((c>='a' && c<='z')) { c=c-3; if(c<'a') c=c+26; }
printf(\ }
printf(\}
(3)输入一个整数,求它的位数以及各位数字之和,例如,若输入123,则输出“123的位数为3,各位数字之和为6”。 #include
{ int a,n,len=0,sum=0,num; /*n代表整数a的每一位数字,len代表a的位数*/
C语言实验6
printf(\请输入一个整数a=\ scanf(\ num=a; while(a>0)
{ n=a; /*求整数的个位、百位、...位的数字*/ sum+=n; a=a/10; len++; }
printf(\整数%d共有%d位,\ printf(\其各位数字之和为%d\\n\\n\}
(4)输入2个正整数m和n(m>1,n<=500),输出m和n之间的所有素数,要求每行输出10个素数。
B组:(难道一般,成绩C~B+)
(1)编写程序,求满足2+4+6+…….+n>1000时的n的最小值及其和值。 (2)任意输入一串字符(敲回车键结束输入)。分别统计出其中英文字母、数字字符、其它字符的个数。
提示:先定义char c;用循环while((c=getchar())!=’\\n’)接收一行字符(敲回车表示字符输入结束,对输入的每一个字符进行判断并累加个数) (3)输出所有的“水仙花数”。所谓“水仙花数”是指一个3位整数,其各位数字的立方和等于该数本身,例如153=13+53+33
(4)编写一个C程序,对用户任意输入的整数,判断该数是否为素数。要求:用户每输入一个整数后,就给出该数是否是素数的信息,然后等待用户重新输入一个整数继续判断,直到输入一个-1时结束。 #include
#include
{ int a,i,flag=1; do
{ printf(\请任意输入一个正整数,输入-1结束:\ scanf(\ if(a==-1) {printf(\结束输入\ for(i=2;i<=sqrt(a);i++) { if(a%i==0) {flag=0;break;} else flag=1; }
if(flag) printf(\是一个素数\\n\\n\ else
C语言实验6
printf(\不是一个素数\\n\\n\ while(a!=-1); }
三、实验结果及分析
1、将实验内容1中的错误行号及其修改的正确内容抄写在实验报告纸上,并记录调试过程中出现的问题及解决办法。
2、编程题将选择的两题的代码抄写在实验报告本上,并标明是否调试通过。适当记录编程调试过程中的问题。
四、实验小结
五、回答问题
到目前为止,你对C语言编程的三种基本结构掌握的情况如何?学习过程中你感觉有困难吗?主要是什么问题?