电大C语言程序设计(原C语言程序设计A)学习周期02任务答案

一、作品题(共 1 道试题,共 100 分。)
1.
一、 目的:
会使用流程控制语句和数组,编写出进行数据处理的程序,并能够上机调试和运行。
二、 内容和步骤:
1、利用第一次作业所建立的工作区,或另建一个新工作区;
2、在工作区下建立一个内容为空的、进行控制台应用的工程项目,假定项目名用“xkzy2”表示;
3、编写一个C语言程序,要求实现的功能为:从键盘上输入一行带有英文字母的任意字符串,假定该字符串的长度不超过50,试统计出该串中所包含的每一种字母a、b、c、d的个数(字母大小写等效),并分行依次输出,每行的输出格式为“字母:个数”,如假定字母a的个数为3,则输出格式为“a: 3”。提示:请在for循环内使用switch语句分别进行字母个数的统计。
4、在上述项目内建立一个能够实现上述功能的、名称为“main.c”的程序文件,并输入、编译、连接和运行此C语言程序文件。
三、 提交内容
你所编写出的程序,以及在程序执行时,其输出屏幕上呈现的所有内容。(请将内容保存到文本文件,并压缩成一个压缩包上传。)

参考答案:

评分标准<br/>本次任务占形成性考核成绩的25%。由于在程序运行时,输入的一个字符串是随意的,所以运行结果因字符串不同而异。只要程序的逻辑正确,即能够统计和输出字符串中每一种字母a、b、c、d出现的次数,就是正确的运行结果。参考程序(谨供老师参考):#include<stdio.h>void main(){ char s[51]; int i,c[4]={0}; printf("输入一个包含英文字母的字符串:"); scanf("%s",s); for(i=0; s[i]; i++) switch(s[i]) { case 'a': case 'A': c[0]++; break; case 'b': case 'B': c[1]++; break; case 'c': case 'C': c[2]++; break; case 'd': case 'D': c[3]++; break; } for(i=0; i<4; i++) printf("%c: %d\n",'a'+i,c[i]);} 通过编译、连接和运行此程序,得到的一种运行结果为:输入一个包含英文字母的字符串:qweasdascdcbfgghccabdcxa: 3b: 2c: 5d: 3