永发信息网

关于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,再输空格呢,请描述清楚吧
全部回答
  • 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没有接收任何字符
  • 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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯