C语言实验报告 (500字) - 实验报告 - 书业网.doc
文本预览下载声明
C语言实验报告 (500字) - 实验报告 - 书业网
实验目的
1.熟练掌握while语句、do-while语句和for语句的格式和功能,能够用这些语句实现循环结构程序设计。
2.掌握循环语句嵌套使用的基本形式,能够用循环语句实现多重循环。 3.掌握在循环结构程序中使用break语句和continue语句改变程序流程的方
法。
4.能够用循环实现累加、累乘、穷举、迭代等常用算法
实验内容
输入一行字符,分别统计其中的英文字母、数字、空格和其它字符的个数。(《C语言程序设计教程-习题解答与实验指导》第127页,实验5,实验内容1) (1)请将.c源程序文本复制粘贴到下框中
(3)思考并回答:输入一行字符,如果要统计其中单词的个数,应怎么改写程序?(提示:单词间是以空格来间隔的) 答:只要计算空格的个数 再加上1就是单词的个数 # includelt;stdio.hgt; main() {char ch; int spa; spa=0;
printf(quot;input a string:\nquot;); while ((ch=getchar())!=#39;\n#39;)
if (ch==#39; #39;) spa++; }
spa=spa+1;
printf(quot;spa=%d,\nquot;,spa);
上面程序,在连续输入多个空格时有问题,正确答案:
使用数组 #includelt;stdio.hgt; main() {char ch;
int let,dig,spa,oth,wor; let=dig=spa=oth=0; printf(quot;Input a string:\nquot;); while((ch=getchar())!=#39;\n#39;)
if(chgt;=#39;A#39;amp;amp;chlt;=#39;Z#39;||chgt;=#39;a#39;amp;amp;chlt;=#39;z#39;) let++;
else if(chgt;=#39;0#39;amp;amp;chlt;=#39;9#39;) dig++;
else if(ch==#39; #39;) spa++; else oth++;
printf(quot;letter=%d,digit=%d,space=%d,other=%d\nquot;,let,dig,spa,oth); wor=word();
printf(quot;word=%d\nquot;,wor); } int word() {
char str[81]; int i,num=0,word=0; char c; gets(str);
for(i=0;(c=str[i])!=#39;\0#39;;i++) { if(c==#39; #39;) word=0; else if(word==0) { word=1; num++; }
}
return(num); }
运行结果:
②不使用数组,程序如下: #include lt;stdio.hgt; main () {
int word=0; char ch_0,ch_1;
puts(quot;input a line of characters:quot;); do {
ch_1=getchar();
if(ch_0gt;=#39;a#39;amp;amp;ch_0lt;=#39;z#39;||ch_0gt;=#39;A#39;amp;amp;ch_0lt;=#39;Z#39;) if(ch_1==#39; #39;||ch_1==#39;\n#39;) word++;
ch_0=ch_1; }
while (ch_1!=#39;\n#39;);
printf(quot;word:%d个\nquot;,word);
}
编程序,输出各位数之和为9,且能被5整除的五位数的个数。(《C语言程序设计教程-习题解答与实验指导》第127页,实验5,实验内容2) (1)请将.c源程序文本复制粘贴到下框中
(2)请将运行结果截图粘贴到此处:
显示全部