单词之间只留一个空格作间隔

我要成为强力的PM 2009-11-15 11:33:09
这程序没结果,帮我看一下,急求!!
#include"stdio.h"
char *zhengli(char *p)
{
char *q;
int i=0,k=0;

for(p=q;p[i]!='\0';i++){
while(1){
k=i;
if(p[k]!=' ') break;
if(p[k]==' '){
if(p[k+1]==' '){
p[k+1]=p[k+2];
}
}
k++;
}
i=k;
}
return q;

}

main()
{
char s[]="this is a silly porgram";
char*a;

a=zhengli(s);
printf("%s\n",a);
getch();
}
...全文
338 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
macrojj 2009-11-15
  • 打赏
  • 举报
回复

#include"stdio.h"
#include "iostream"
void zhengli(char *p,char *a)
{
int i=0;
int j=0;
int length= strlen(p);
cout<<p<<endl;

while(i!=length+1)
{
if (p[i]==' ')
{i++;
continue;
}
else
{
a[j]=p[i];
j++;
i++;
}
}

a[j]='\n';


}

main()
{
char s[]="this is a silly porgram";
int l= strlen(s);
char*a= new char[l+1];
zhengli(s,a);
cout<<a<<endl;
delete a;

}
苍蝇①号 2009-11-15
  • 打赏
  • 举报
回复
for语句中的 p=q,而q什么也没有,所以for就没有执行进去,直接返回一个null,最后结果就什么也没有输出了
太乙 2009-11-15
  • 打赏
  • 举报
回复
  for(p=q;p[i]!='\0';i++){ 写反了吧??应该是q=p
菜鸟二号 2009-11-15
  • 打赏
  • 举报
回复
首先我感觉你的a和q都没分配空间
djjlove_2008 2009-11-15
  • 打赏
  • 举报
回复
#include <stdio.h>
char* delSpace(char *para)
{
char* str1 = para;
char* str2 = para;

while(*str2)
{
*str1 = *str2;
str1++;
if (*str2++ == ' ')
{
while(*str2 == ' ')
{
*str2++;
}
}
}
*str1 = '\0';
return para;
}


void main()
{
char source[]="this is a silly program!";
printf("%s\n",delSpace(source));

}
这道程序的算法很简单,就是当扫描串时,找到一个空格后,把后面的空格删除。


nibaotiao 2009-11-15
  • 打赏
  • 举报
回复
//设计一函数。让 "this is a silly daibi" 变成"this is a silly daibi"

#include "stdafx.h"
#include <string.h>
#include <stdio.h>
#include <iostream>

using namespace std;

char *daibi(char *p)
{
char* p1 = NULL;
char* p2 = NULL;
p1 = p2 = p;

while(*p2)
{
*p1 = *p2;
p1++;
if (*p2++ == ' ')
{
while(*p2 == ' ')
{
*p2++;
}
}
}
*p1 = '\0';
return p;
}


int main(int argc,char* argv[])
{
char s[]="this is a silly daibi";
printf("%s\n", daibi(s));
system("pause");

return 0;
}

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧