初学c,问题求解决...
题目是这个,输入一串字符,分别算出字母,数字,其他符号,各有多少个。
#include <stdio.h>
int main()
{int i,n,a=0,b=0,c=0;char x;
printf("输入数字n:");
scanf("%d",&n);
printf("输入x:");
for (i=1;i<=n;i++)
{scanf("%c,",&x);
if(( x>='A'&&x<='Z')||(x>='a'&&x<='z'))
a=a+1;
else if(x>='0'&&x<='9')
b=b+1;
else
c=c+1;}
printf("字符:%d\n数字:%d\n其他:%d\n",a,b,c);
return 0;}
[解决办法]
int main()
{
int i = 0;
int a = 0;
int b = 0;
int c = 0;
int nLen = 0;
string str = _T("");
printf("输入字符串:\r\n");
scanf("%s",&str);
nLen = str.Length();
for (i = 0; i < nLen; ++i)
{
if(( x>='A'&&x<='Z')||(x>='a'&&x<='z'))
a=a+1;
else if(x>='0'&&x<='9')
b=b+1;
else
c=c+1;
}
printf("字符:%d\n数字:%d\n其他:%d\n",a,b,c);
}
是不是这样
[解决办法]
/*累计每一种符号的出现次数*/
#include<stdio.h>
#include<string.h>
void main()
{
char str[40];
int i,j=0,k=0,l=0;
printf("请输入一串字符\n");
gets(str);
for(i=0;i<=strlen(str);i++)
{
if('a'<str[i]&&str[i]<'z'||'A'<str[i]&& str[i]<'Z')
{j=j+1;}
else if('0'<str[i]&&str[i]<'9')
{k=k+1;}
else
{l=l+1;}
}
printf("字母=%d,数字=%d,其他=%d ",j,k,l);
}