c语言程序是输入一个任意串 然后输出 英文字母 数字 空格 其他字符 ;我这里运行已经没错了,但是结果不对
#include"stdio.h"//这个程序有问题voidmain(){charstr[100],ywzm[100]={'\0'},kg[100]={'\0'},sz[...
#include "stdio.h" //这个程序有问题
void main()
{
char str[100],ywzm[100]={'\0'},kg[100]={'\0'},sz[100]={'\0'},qtzf[100]={'\0'};
int a,b=0,c=0,d=0,e=0;
printf("请输入任意的串\n");
scanf("%s",str);
printf("输入的串为%s\n",str);//输入串
for (a=0;a<=100;a++)
{if (str[a]>='A'&&str[a]<='Z'||str[a]>='a'&&str[a]<'z')
{ywzm[b]=str[a];
b++;}
}
printf("英文字母:%s\n",ywzm);//输出英文字母
for (a=0;a<=100;a++)
{if (str[a]=' ')
{kg[c]=str[a];
c++;}
}
printf("空格:%s\n",kg);//输出空格
for (a=0;a<=100;a++)
{if (str[a]>='0'&&str[a]<='9')
{sz[d]=str[a];
d++;}
}
printf("数字:%s\n",sz);//输出数字
for (a=0;a<=100;a++)
{if (str[a]>='null'&&str[a]<='/'||str[a]>=':'&&str[a]<='@'||str[a]>='['&&str[a]<='`'||str[a]>='{')
{qtzf[d]=str[a];
d++;}
}
printf("其他符号:%s\n",qtzf);//输出其他符号
} 展开
void main()
{
char str[100],ywzm[100]={'\0'},kg[100]={'\0'},sz[100]={'\0'},qtzf[100]={'\0'};
int a,b=0,c=0,d=0,e=0;
printf("请输入任意的串\n");
scanf("%s",str);
printf("输入的串为%s\n",str);//输入串
for (a=0;a<=100;a++)
{if (str[a]>='A'&&str[a]<='Z'||str[a]>='a'&&str[a]<'z')
{ywzm[b]=str[a];
b++;}
}
printf("英文字母:%s\n",ywzm);//输出英文字母
for (a=0;a<=100;a++)
{if (str[a]=' ')
{kg[c]=str[a];
c++;}
}
printf("空格:%s\n",kg);//输出空格
for (a=0;a<=100;a++)
{if (str[a]>='0'&&str[a]<='9')
{sz[d]=str[a];
d++;}
}
printf("数字:%s\n",sz);//输出数字
for (a=0;a<=100;a++)
{if (str[a]>='null'&&str[a]<='/'||str[a]>=':'&&str[a]<='@'||str[a]>='['&&str[a]<='`'||str[a]>='{')
{qtzf[d]=str[a];
d++;}
}
printf("其他符号:%s\n",qtzf);//输出其他符号
} 展开
展开全部
#include "stdio.h" //这个程序有问题
int main()
{
char str[100],ywzm[100],kg[100],sz[100],qtzf[100];
int a,b=0,c=0,d=0,e=0;
printf("请输入任意的串\n");
//scanf("%s",&str);
gets(str);
printf("输入的串为%s\n",str);//输入串
for (a=0;str[a]!='\0';a++)
{
if((str[a]>='A'&&str[a]<='Z')||(str[a]>='a'&&str[a]<'z')){
ywzm[b]=str[a];
b++;
}
else if(str[a]==' '){
kg[c]=str[a];
c++;
}
else if(str[a]>='0'&&str[a]<='9'){
sz[d]=str[a];
d++;
}
else{
qtzf[e]=str[a];
e++;
}
}
ywzm[b]='\0';
kg[c]='\0';
sz[d]='\0';
qtzf[e]='\0';
printf("英文字母:%s\n",ywzm);//输出英文字母
printf("空格:%s\n",kg);//输出空格
printf("数字:%s\n",sz);//输出数字
printf("其他符号:%s\n",qtzf);//输出其他符号
}
int main()
{
char str[100],ywzm[100],kg[100],sz[100],qtzf[100];
int a,b=0,c=0,d=0,e=0;
printf("请输入任意的串\n");
//scanf("%s",&str);
gets(str);
printf("输入的串为%s\n",str);//输入串
for (a=0;str[a]!='\0';a++)
{
if((str[a]>='A'&&str[a]<='Z')||(str[a]>='a'&&str[a]<'z')){
ywzm[b]=str[a];
b++;
}
else if(str[a]==' '){
kg[c]=str[a];
c++;
}
else if(str[a]>='0'&&str[a]<='9'){
sz[d]=str[a];
d++;
}
else{
qtzf[e]=str[a];
e++;
}
}
ywzm[b]='\0';
kg[c]='\0';
sz[d]='\0';
qtzf[e]='\0';
printf("英文字母:%s\n",ywzm);//输出英文字母
printf("空格:%s\n",kg);//输出空格
printf("数字:%s\n",sz);//输出数字
printf("其他符号:%s\n",qtzf);//输出其他符号
}
展开全部
一
for (a=0;a<=100;a++)不对,字符串总长度为100,应该为for (a=0;a<100;a++)
二
if (str[a]=' ')不对,等于为 == ,一个等号是赋值,应为if (str[a]==' ')
以上
for (a=0;a<=100;a++)不对,字符串总长度为100,应该为for (a=0;a<100;a++)
二
if (str[a]=' ')不对,等于为 == ,一个等号是赋值,应为if (str[a]==' ')
以上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接看过去就看见你的判断是不是空格那里错了 应该是两个等号,而不是一个 知道不
还有,你这样写,有没有觉得好啰嗦。。
还有,你这样写,有没有觉得好啰嗦。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询