急急!!!!!C语言改错题,高手帮个忙!!!!!!在线等!!!!!!

#include<stdio.h>voidmain(){chars1[80],s2[80],*ps1=s1,*ps2=s2;inti,k=0;printf("请输入一个字... #include <stdio.h>

void main()

{ char s1[80],s2[80],*ps1=s1,*ps2=s2;
int i,k=0;
printf("请输入一个字符串,存放在字符串数组s1中:");
gets(s1);
printf ("显示该字符串:%s\n",s1);
while (*ps1){
i=1;
while(i<3&&*ps1){
ps2[k]=*ps1;
k++; ps1++ ;i++;
}
if(*ps1) ps2[k++]=' ';
}
ps2[k]='\0';
printf ("插入空格后的新字符串为:%\n",ps2);
}
1.第一题
#include <stdio.h>

void main()

{ char s1[80],s2[80],*ps1=s1,*ps2=s2;
int i,k=0;
printf("请输入一个字符串,存放在字符串数组s1中:");
gets(s1);
printf ("显示该字符串:%s\n",s1);
while (*ps1){
i=1;
while(i<3&&*ps1){
ps2[k]=*ps1;
k++; ps1++ ;i++;
}
if(*ps1) ps2[k++]=' ';
}
ps2[k]='\0';
printf ("插入空格后的新字符串为:%\n",ps2);
}
2.第二题
#include <stdio.h>

void main()

{ char str[80] subtr[80],*ps=str,*psub=substr;
int i,j,k,num=0;
printf ("请输入一个字符串,存放在字符串数组str中:");
gets(str);
printf ("请输入一个子串,存放在字符串数组substr中:");
gets (substr);
for (i=0;*(ps+i),i++)
for(j=i,k=0;*(psub+k)==*(ps+i);k++,j++)
if(*(psub+k+1)=='\0') {
num++;
break;
}
printf("子串\"%S\"在字符串\"%s\"中出现的次数为:%d\n",psub,ps,num);
}
展开
 我来答
_野香蕉_
2008-04-28 · TA获得超过3306个赞
知道大有可为答主
回答量:3567
采纳率:50%
帮助的人:1379万
展开全部
第一个。输出地方少了s 。。。。大家都说了。

第二个:
#include <stdio.h>

int main()

{ char str[80],substr[80],*ps=str,*psub=substr; //少个 ,
int i,j,k,num=0;
printf ("请输入一个字符串,存放在字符串数组str中:");
gets(str);
printf ("请输入一个子串,存放在字符串数组substr中:");
gets (substr);
for (i=0;*(ps+i)!='\0';i++) 判断文件结束用这个可以。。
for(k=0;*(psub+k)!='\0';k++) //这个里面你的逻辑很混乱,这样就可以了
if(*(psub+k)!=*(ps+i+k)){num++;break; } //每个字符都要比较 不合要求num就++ ,这样,总共判断i次,不和要求num次,减一下得到的就是符合要求的次数。

printf("子串\"%s\"在字符串\"%s\"中出现的次数为:%d\n",psub,ps,i-num); //%s 你把第一个 S 大写了。
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友21b6e13fe
2008-04-28 · 超过46用户采纳过TA的回答
知道答主
回答量:254
采纳率:0%
帮助的人:172万
展开全部
printf ("插入空格后的新字符串为:%\n",ps2);
你这里少了s,应该是:
printf ("插入空格后的新字符串为:%s\n",ps2);
这样结果就对了,我运行过了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高金山
2008-04-28 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1993万
展开全部
刚才不是回答了么,怎么又来问啊?

#include <stdio.h>

void main()

{ char s1[80],s2[80],*ps1=s1,*ps2=s2;
int i,k=0;
printf("请输入一个字符串,存放在字符串数组s1中:");
gets(s1);
printf ("显示该字符串:%s\n",s1);
while (*ps1){
i=1;
while(i<3&&*ps1){
ps2[k]=*ps1;
k++; ps1++ ;i++;
}
if(*ps1) ps2[k++]=' ';
}
ps2[k]='\0';
printf ("插入空格后的新字符串为:%s\n",ps2); //这里少个字符's'
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2008-04-28
展开全部
printf ("插入空格后的新字符串为:%\n",ps2);
改为:
printf ("插入空格后的新字符串为:%s\n",ps2);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ddl33633622
2008-04-28
知道答主
回答量:62
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>

void main()

{ char s1[80],s2[80],*ps1=s1,*ps2=s2;
int i,k=0;
printf("请输入一个字符串,存放在字符串数组s1中:");
gets(s1);
printf ("显示该字符串:%s\n",s1);
while (*ps1){
i=1;
while(i<3&&*ps1){
ps2[k]=*ps1;
k++; ps1++ ;i++;
}
if(*ps1) ps2[k++]=' ';
}
ps2[k]='\0';
printf ("插入空格后的新字符串为:%\n",ps2);// 少s
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式