C编程:接收从键盘上输入的一串字符,然后分别统计其中字母、数字符号的数目并打印出来。

编写一个程序,接收从键盘上输入的一串字符,然后分别统计其中字母、数字符号的数目并打印出来。但是,包含在\*……*/内的所有字符都忽略不计算。
例如:
输入 ab4=\*this is 1234*/()3u
输出 字母共有3个
数字共有3个
例如中是 输出 字母共有3个
数字符号共有3个

好久不用c 具体函数名记不准了

1建个char的数组 把string存进去
2求总长度
3定义字母和非字母的个数变量 设默认为0
4定义个是否忽略计算的bool值tag为false
5从首位开个循环吧 i和i+1分别对应'\'和'*'的时候tag改为true 反过来tag改false
6如果tag是false 就根据asc码看情况给其中一个+1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-24
#include <stdio.h>
#include <string.h>
#define N 30

main()
{
int i=0,j=0,k=0,n;
char str[N],s;
printf("请输入一个字符串,按'#'结束:");
while(1)
{
s=getchar();
if(s=='#') break;
else
str[i]=s;
i++;
}
n=i;
for(i=0;i<n;i++)
{
if(48<=str[i]&&str[i]<58)
j++;
if(str[i]>=65&&str[i]<=90||str[i]>=97&&str[i]<=122)
k++;
}
printf("数字字符有%d个\n",j);
printf("字母字符有%d个\n",k);
}本回答被网友采纳
相似回答
大家正在搜