论坛: 编程破解 标题: 也帮我看看错在哪了!? 复制本贴地址    
作者: olo [olo]    论坛用户   登录
一个统计字符串里有多少字母数字空格符号的程序!教课书上有现成的,可我想用自己的方法,但是结果不准确!

int z=0,k=0,s=0,o=0;/*z代表字母 k代表空格 s代表数字 o代表其他*/
void con(char a[])
{int i=0;
for(i;i<80;i++)
{if ((a[i]<=122&&a[i]>=97)||(a[i]>=65&&a[i]<=90))
z=z+1;
else if (a[i]==32)
k=k+1;
else if (a[i]<=9&&a[i]>=0)
s=s+1;
else
o=o+1;
}
return;
}
main()
{char a[80];
printf("请输入字符串:\n");
gets(a);
con(a);
printf("字母%d个\n空格%d个\n数字%d个\n其它%d个\n",z,k,s,o);
}



地主 发表时间: 01/17 11:52

回复: olo [olo]   论坛用户   登录
找到错误了


int z=0,k=0,s=0,o=0;/*z代表字母 k代表空格 s代表数字 o代表其他*/
void con(char a[])
{int i=0;
for(i;i<80;i++)/*这里错了应该是for(i;a[i]!='\0';i++0*/
{if ((a[i]<=122&&a[i]>=97)||(a[i]>=65&&a[i]<=90))
z=z+1;
else if (a[i]==32)
k=k+1;
else if (a[i]<=9&&a[i]>=0)/*这里也错了9的ASC码值是57,0的是48*/
s=s+1;
else
o=o+1;
}
return;
}
main()
{char a[80];
printf("请输入字符串:\n");
gets(a);
con(a);
printf("字母%d个\n空格%d个\n数字%d个\n其它%d个\n",z,k,s,o);
}

B1层 发表时间: 01/18 21:28

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号