c语言题,急需答案!

来源:百度知道 编辑:UC知道 时间:2024/04/27 06:35:27
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。(是老谭的c程序设计第三版第129页第2题)有高分,3日之内答出正确答案再加分。
用while或do while回答。谢谢,本人新手,简单点!

很简单的,用一个字符数组一一判断就可以了.
#include<stdio.h>
void main()
{
int i=0,chars=0,nums=0,spaces=0,others=0;
char a[50];/*用来接收输入的字符串*/
printf("请输入一行字符:\n");
gets(a);
while(a[i]!='\0')
{
if ((a[i]>='A' && a[i]<='Z') || (a[i]>='a' && a[i]<='z')) /*字符*/
chars++;
else if (a[i]>='0' && a[i]<='9') /*数字*/
nums++;
else if (a[i]==' ') /*空格*/
spaces++;
else
others++;
i++;
}
printf("共有英文字母%d个,数字%d个,空格%d个,其它字符%d个.\n",chars,nums,spaces,others);
}
在VC6.0下调试通过.

#include <stdio.h>
void main()
{
char new[];
int i,x=0,y=0,z=0,o=0; /**x为英文字符数y为空格字符数z数字个数,o其他字符树***/
printf("输入一个文本\n");
scanf("%s",new);
for(i=0;new[i];i++)
{
if(new[i]>='1'&&new[i]<='9')