急救!!麻烦大家给一下这个程序的设计思路,小弟跪谢了!!

#include <stdio.h>
main()
{
int n1=0,n2=0,n3=0,n4=0;//分别用来统计的计数器,同时进行初始化(不能少)
char ch;
while((ch=getchar())!='#')//一个一个字符地输入,直到输入‘#’
{
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')n1++;//是否英文字母
else if(ch>='0'&&ch<='9') n2++;//是否数字字符
else if(ch==' ')n3++;//是否空格
else n4++;//其他字符
}
printf("n1=%d,n2=%d,n3=%d,n4=%d\n",n1,n2,n3,n4);//输出
}
要求:
一、问题描述
简单说明要解决的问题
二、问题分析
以无歧义的陈述说明程序设计的任务,程序的功能是什么?强调的是程序要做什么?并要求明确说明:
(1) 数据输入的形式和输入值的范围
(2) 数据输出的形式
(3) 程序所能达到的功能以及出错处理
(4) 每个组员的分工
三、程序设计思路功能模块说明
在此说明实现程序的主要思路,另外要求写出每个部分的算法设计说明(可以是描述算法的流程图)。并要说明本程序中用到的所有数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系
四、程序调试与测试
(1)调试中遇到的主要问题及解决办法
(2)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。输出结果直接抓取屏幕图像粘贴到报告中。
五、程序清单
这里列出程序清单及注释内容,源程序中要求带有详细的注释。

在此感谢了!!!
最好详细点哈,THE MORE THE BETTER...
否则我就挂了哈~~!
顺便说下,我对C语言是完全得不懂,所以能编的老大就尽量给我编点吧,我再加分...周末就要交了,老大们,再次叩拜了!!
非常非常感谢magipan,多次给我提供的帮助,不过我们那坨C老师让我“至少得有那么三四个函数,以及一些数组,结构体的概念”,所以会得老大们帮我加几个吧...
跪谢了小弟在这里

依次读取一个字符直到#,然后依次判断是不是英文字母,是不是数字,是不是空格,还是别的字符,是哪一种就给哪一种的计数加上1。然后输出每种各有多少个
n1=0,n2=0,n3=0,n4=0分别是英文字母、数字、空格和其他字符的计数器。每读入一个字符就判断一次。
其他随便说,这个程序主要是多分支的判断问题,数据从键盘输入,最后的统计结果显示在显示器上。。。这个你编就是了,围绕着这些说说。。。真是个老大啊。。。
一、问题描述
很多问题可归结为对流中字符的统计,比如对输入流中各种字符的分类统计,即统计给类字符的出现情况。
二、问题分析
本程序统计从键盘输入的一串字符中各种字符的个数,其中分为:英文字母、数字、空格和其它字符四种。程序的输入为键盘标准输入,可以输入任何可打印字符,包括空格、回车等控制字符,以'#'键作为输入的结束。在程序的最后输出上述四种字符再本次输入中出现的次数。程序可以统计除了'#'字符之外的各类字符的出现情况,因为比较简单而且分类比较模糊,没有对错误的处理。
组员的分工。。。你自己看着办
三、程序设计思路功能模块说明
首先,程序要设置四个计数器用来对四类字符的出现次数进行计数,并在开始的时候给这四个计数器赋以0值表示尚未进行计数。然后依次读取一个字符直到'#',然后依次判断是不是英文字母,是不是数字,是不是空格,还是别的字符,是哪一种就给哪一种的计数加上1。最后输出每种字符各有多少个。
四个计数器n1、n2、n3、n4设置为整数类型,符合自然规律。另一个变量ch作为getchar()函数所取得字符的临时变量,并用来作为循环体中进行判断的内容。while语句对getchar()函数获得的字符进行判断,如果不是结束标志'#',则进入循环体,否则说明输入结束,进入最后的报数阶段。在while的循环体中,判断ch的情况,如果ch在字符'a'到'z'或者'A'到'Z'之间,说明ch是英文字母,相应的计数器n1加一;如果不是上一种情况,再判断ch是不是在字符'0'到'9'之间,如果是则说明ch是数字,相应计数器n2加一;如果仍然不满足上面两个判断条件,再判断ch是不是空格,如果是则空格计数器n3加一;如果还是不满足判断条件,说明ch是其他字符,计数器n4加一。程序的最后输出四个计数器n1、n2、n3、n4的最后结果,程序结束。
四、程序调试与测试
程序的主要问题是对四种字符的界定和判断,本程序使用了比较输入字符的ASCII码值的办法。
正确的输入和输出结果,你自己搞一搞。
五、程序清单
#include <stdio.h>
main()
{
int n1=0,n2=0,n3=0,n4=0;//分别用来统计的计数器,同时进行初始化(不能少)
char ch;
while((ch=getchar())!='#')//一个一个字符地输入,直到输入‘#’
{
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')n1++;//是否英文字母
else if(ch>='0'&&ch<='9') n2++;//是否数字字符
else if(ch==' ')n3++;//是否空格
else n4++;//其他字符
}
printf("n1=%d,n2=%d,n3=%d,n4=%d\n",n1,n2,n3,n4);//输出
}
..........faint...........
温馨提示:答案为网友推荐,仅供参考
相似回答