帮忙看下这段C语言程序有什么问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:34:02
统计英文字母 空格 和数字 其它字符个数

#include<stdio.h>
#include<string.h>
void main()
{
char str[10];
int nofchar,nofspace,number,others,a,k;
char change;
printf("please enter:");
scanf("%s",str[10]);
for(a = 0,k = 0;a < strlen(str);a++,k++)
{
if(((str[a] >= 'A') && (str[a] <= 'Z')) || ((str[a] >= 'a') && (str[a] <= 'z')))
{
change = str[a];str[a] = str[k];str[k] = change;
nofchar++;
}
}
for(k;k < strlen(str);k++)
{
if((str[k] >= '0' ) && (str[k] <= '9'))
{
number++;
}
else if(str[k] == ' ')
{
nofspace++;
}
else
others++;
}
printf("the number of characters are: %d\n",nofchar);
printf("the number of number??:

#include<stdio.h>
#include<string.h>
void main()
{
char str[10];
int nofchar,nofspace,number,others,a,k;
char change;
printf("please enter:");
scanf("%s",str[10]);
for(a = 0,k = 0;a < strlen(str);a++,k++)
{
if(((str[a] >= 'A') && (str[a] <= 'Z')) || ((str[a] >= 'a') && (str[a] <= 'z')))
{
change = str[a];str[a] = str[k];str[k] = change;//a和k值始终一样,交换没有意义
nofchar++;
}//这个循环是不是可以不做?直接放在后面那个循环里面统计不也可以吗?增加一个if分支就OK了。
}
for(k;k < strlen(str);k++)//这里的k,在上面的循环里面,已经变成字符串的长度了,而不是0了哦
{
if((str[k] >= '0' ) && (str[k] <= '9'))
{
number++;
}
else if(str[k] == ' ')
{
nofspace++;
}
else
others++;
}
printf("the number of characters are: %