| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1254 人关注过本帖
标题:循环问题,帮帮我大哥们!
只看楼主 加入收藏
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
以下是引用chen__han1在2004-09-19 12:50:51的发言:

怎么没人理我啊,是不是我的问题太低级啊,大家帮帮我啊5555!

#include<stdio.h> void fun(char*s,char*t) {int i,j; for(i=0;i<=strlen(s);i++) {for(j=i+1;j<=strlen(s);j++) if(s[i]==s[j]) t[i++]=s[i]; } } main( ) {char*s="ssvvvaabcbb"; char*t; fun(s,t); printf("%s",t); }

我这样行吗?我运行时没错误,看结果却出来这么行字

snvalid keyboard code specified

什么意思啊 555

帮你改一下:

#include<stdio.h> void fun(char*s,char*t) {int i,j,k=0; for(i=0;i<strlen(s);) {for(j=i+1;j<strlen(s);j++) if(s[i]==s[j]) continue; else break; t[k++]=a[i]; i=j; } t[k]='\0'; } main( ) {char*s="ssvvvaabcbb"; char t[100]; fun(s,t); printf("%s",t); }

没运行,不知道对不对?


2004-09-19 16:34
chen__han1
Rank: 1
等 级:新手上路
帖 子:256
专家分:0
注 册:2004-9-16
收藏
得分:0 
对,那所有重复的保留一个呢,就象你那个串 得 svabc  又要怎么写呢?谢谢

路漫漫其修远兮 吾将上下而求索!
2004-09-19 19:34
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

void fun(char*str); int fun1(char c,char*beginning,char*end); int main() { char str[100]; printf("请输入:\n");/*长度<100 */ gets(str); printf("%s\n",str); fun(str); printf("%s\n",str); } void fun(char*string) { char*ptr,*str,*ptr1; str=string ; ptr=string ; ptr++; str++; while(*str) { if(*str!=*(str-1)) { if(fun1(*str,string,ptr-1))*ptr++=*str++; else str++; } else str++; } *ptr='\0' ; }

int fun1(char c,char*beginning,char*end) { char*b ; b=beginning ; while(end-b>=0)if(c==*b++)return 0 ; return 1 ; }


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-09-19 20:20
chen__han1
Rank: 1
等 级:新手上路
帖 子:256
专家分:0
注 册:2004-9-16
收藏
得分:0 
谢谢斑竹,我运行过 通过了.我再漫漫琢磨琢磨

路漫漫其修远兮 吾将上下而求索!
2004-09-19 21:27
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 

加个变量:

#include<stdio.h> void fun(char*s,char*t) {int i,j,k=0,h; for(i=0;i<strlen(s);) { h=0; for(j=i+1;j<strlen(s);j++) if(s[i]==s[j]) {h++;if(h<2) t[k++]=s[i];continue;} else break; t[k++]=s[i]; i=j; } t[k]='\0'; } main( ) {char*s="ssvvvaabcbb"; char t[100]; fun(s,t); printf("%s",t); }

这样应该可以!


2004-09-19 23:06
chen__han1
Rank: 1
等 级:新手上路
帖 子:256
专家分:0
注 册:2004-9-16
收藏
得分:0 

{h++;if(h<2) t[k++]=s[i];continue;} else break; t[k++]=s[i]; i=j;

解释下好吗,h是找到的重复字符的个数?


路漫漫其修远兮 吾将上下而求索!
2004-09-20 14:19
快速回复:循环问题,帮帮我大哥们!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020700 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved