
急急!!!!!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);
} 展开
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);
} 展开
6个回答
展开全部
第一个。输出地方少了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 大写了。
}
第二个:
#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 大写了。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf ("插入空格后的新字符串为:%\n",ps2);
你这里少了s,应该是:
printf ("插入空格后的新字符串为:%s\n",ps2);
这样结果就对了,我运行过了.
你这里少了s,应该是:
printf ("插入空格后的新字符串为:%s\n",ps2);
这样结果就对了,我运行过了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刚才不是回答了么,怎么又来问啊?
#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'
}
#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);
改为:
printf ("插入空格后的新字符串为:%s\n",ps2);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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
}
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
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询