关于c语言,要求输入this is a c program,输出时要去除字符串的空格thisisacprogram
答案:3 悬赏:40 手机版
解决时间 2021-03-26 06:34
- 提问者网友:呐年旧曙光
- 2021-03-25 15:58
关于c语言,要求输入this is a c program,输出时要去除字符串的空格thisisacprogram
最佳答案
- 五星知识达人网友:深街酒徒
- 2021-03-25 16:07
#include
void main()
{
int i,j;
char str[80],str2[80];
// printf("enter a char
");
// scanf("%c",&c); //空格字符是无法用scanf函数输入的
printf("enter a string
");
// scanf("%s",str); //不能用这个函数进行输入,因为字符串中间有空格
gets(str);
for(i=j=0;str[i]!='';i++)
{
if(str[i] != ' ')
{
str2[j]=str[i];
j++;
}
}
str2[j]='';
printf("%s
",str2);
}代码修改如上,运行结果:
enter a string
this is a c program
thisisacprogram
追问麻烦你发一个,我复制过去就能用的追答我给你的就是可以直接运行的啊,上面我都给了运行结果了呀。追问哦,是可以运行的。
不好意思,刚才没表达清楚,
这道题要求输入一个字符串this is a c program,还要求输入一个空格,输出时要去除字符串的空格thisisacprogram追答输入一个字符串this is a c program,还要求输入一个空格,是啥意思啊?不太明白啊,是先输入this is a c program这样的字符串,然后再输入一个空格符,是吗。还是输入一个this,然后加空格,再输is,再输空格呢,请描述清楚吧
void main()
{
int i,j;
char str[80],str2[80];
// printf("enter a char
");
// scanf("%c",&c); //空格字符是无法用scanf函数输入的
printf("enter a string
");
// scanf("%s",str); //不能用这个函数进行输入,因为字符串中间有空格
gets(str);
for(i=j=0;str[i]!='';i++)
{
if(str[i] != ' ')
{
str2[j]=str[i];
j++;
}
}
str2[j]='';
printf("%s
",str2);
}代码修改如上,运行结果:
enter a string
this is a c program
thisisacprogram
追问麻烦你发一个,我复制过去就能用的追答我给你的就是可以直接运行的啊,上面我都给了运行结果了呀。追问哦,是可以运行的。
不好意思,刚才没表达清楚,
这道题要求输入一个字符串this is a c program,还要求输入一个空格,输出时要去除字符串的空格thisisacprogram追答输入一个字符串this is a c program,还要求输入一个空格,是啥意思啊?不太明白啊,是先输入this is a c program这样的字符串,然后再输入一个空格符,是吗。还是输入一个this,然后加空格,再输is,再输空格呢,请描述清楚吧
全部回答
- 1楼网友:猎心人
- 2021-03-25 19:16
scanf("%s",&str);输入this is a c program
这一语句只能让str="this",可改为gets();输入字符串
#include
# include
int main(void)
{
int i,j;
char c,str[80];
printf("enter a string\n");
gets(str);
printf("enter del char\n");
scanf("%c",&c);
for(i=0,j=0;str[i] != '\0';i++)
{
if(str[i] != c)
{
str[j]=str[i];
j++;
}
}
str[j]='\0';
puts(str);
return 0;
}追问printf("enter a char\n");
scanf("%c",&c);
printf("enter a string\n");
gets(str);
以上和你的不一样,其他的和你都一样
本来应该是输入 this is a cprogram. 回车后,再打空格,回车。则输出 thisisacprogram
但现在是这种情况先输入一个空格,回车后程序马上就结束了追答输入空格,scanf函数接受空格表示输入结束,c = '空格'按下回车
gets函数接收回车符,表示输入结束,数组str没有接收任何字符
这一语句只能让str="this",可改为gets();输入字符串
#include
# include
int main(void)
{
int i,j;
char c,str[80];
printf("enter a string\n");
gets(str);
printf("enter del char\n");
scanf("%c",&c);
for(i=0,j=0;str[i] != '\0';i++)
{
if(str[i] != c)
{
str[j]=str[i];
j++;
}
}
str[j]='\0';
puts(str);
return 0;
}追问printf("enter a char\n");
scanf("%c",&c);
printf("enter a string\n");
gets(str);
以上和你的不一样,其他的和你都一样
本来应该是输入 this is a cprogram. 回车后,再打空格,回车。则输出 thisisacprogram
但现在是这种情况先输入一个空格,回车后程序马上就结束了追答输入空格,scanf函数接受空格表示输入结束,c = '空格'按下回车
gets函数接收回车符,表示输入结束,数组str没有接收任何字符
- 2楼网友:迷人又混蛋
- 2021-03-25 17:43
#include
void main(){
int n=0;
char c,t,s[80];
printf("enter a char ");
scanf("%c",&c);
while((t=getchar())!=' '); //清空输入流缓冲
printf("enter a string ");
while((t=getchar())!=' '){
if(c!=t)s[n++]=t;
}
s[n]='';
printf("%s ",s);
}
运行结果:
enter a char
enter a string
this is a c program
thisisacprogram
void main(){
int n=0;
char c,t,s[80];
printf("enter a char ");
scanf("%c",&c);
while((t=getchar())!=' '); //清空输入流缓冲
printf("enter a string ");
while((t=getchar())!=' '){
if(c!=t)s[n++]=t;
}
s[n]='';
printf("%s ",s);
}
运行结果:
enter a char
enter a string
this is a c program
thisisacprogram
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯