| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1934 人关注过本帖, 1 人收藏
标题:帮我看看,谢谢!(koncker再进!)
取消只看楼主 加入收藏
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏(1)
 问题点数:0 回复次数:3 
帮我看看,谢谢!(koncker再进!)

程序意思是:找出一组字符串中最长的字符串,用函数做. 这是我的程序,但是有点问题,请大家帮忙看看.

#include <stdio.h> #include <string.h> int find(char ch[][20]);//定义函数find; void main() { char ch[5][20]; int i=0,m; for(i=0;i<5;i++) { printf("Input ch[%d]:",i+1); scanf("%s",ch[i]); } m=find(ch); printf("%s",ch[m]); }

int find(char str[][20]) { int i=0,j,k,p; j=strlen(str[i]);//j=第一个字符串的长度, for(i=1;i<5;i++) { k=strlen(str[i]);//k=第二个字符串的长度, if(j<k) //如果第一个字符串的长度小于第二字符串的长度,就将第二个字符串的 p=i;//下标赋值给p } return (p); }

还有这个也看一下吧.

/*求平均值*/ #include <stdio.h> float pjz(int b[]); void main() { int a[10],i=0; float ping; for(i=0;i<10;i++) { printf("Input [%d] number:",i+1); scanf("%d",&a[i]); } ping=pjz(a); printf("ping=%f\n",ping); }

float pjz(int b[]) { int sum=0,i=0; float n; for(i=0;i<10;i++) sum=sum+b[i]; n=float(sum)/10; return (n); }

还有一个,呵呵:

/*判断一个字符串是否出现在一个字符串的结尾.*/ #include <stdio.h> #include <string.h> void main() { char ch[100],str[100]; char *pch,*pstr,*ps; int strcd,chcd; int i=0; printf("Input ch:"); scanf("%s",ch); printf("Input str:"); scanf("%s",str); chcd=strlen(ch); //ch长度 strcd=strlen(str); //str长度

pch=&ch[0]; //指针先定义再说,不知道有没有用 pstr=&str[0];

ps=strchr(ch,str[0]); //ps是str第一个字符在ch中出现的位置

if(ps!=NULL) { for(i=strcd;i>0;i--) { if(str[strcd]==ch[chcd]) //我的意思是从最后一个字符开始比较,但是 { //却又不知道怎么编写才好,郁闷中, //请大家指点迷津 } else { printf("不在结尾!"); } } } else { printf("不包含这个字符串!"); } }

[此贴子已经被作者于2004-06-16 22:21:39编辑过]

搜索更多相关主题的帖子: koncker 
2004-06-14 16:15
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 

谢谢楼上二位,前两题已经清楚.

第一题正如zff_ff说的,没有初始化,第二题也如koncker说的,括号打错了.呵呵,谢谢你们俩个.

第三题,koncker你的程序是错的,我编辑过了,比如我输入zhanghaidang和dang,它说错误,不在

[此贴子已经被作者于2004-06-14 22:50:51编辑过]


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2004-06-14 22:31
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 
knocher,你的程序我基本上已经明白,

这里有点不明白,while的循环条件就只是*pch,为什么呢?能够跟我讲讲吗? while(*pch) if(*pch++!=*pstr++) //还有if这句条件,似懂非懂,知道什么意思,但是不知道工作原理,能够说说吗? { printf("\n不在!\n"); exit(1);

} printf("\n在!\n"); }


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2004-06-16 20:48
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 

明白了,谢谢!

但是我把后面改成这个样子程序出错了. while(*pch='\0') { if(*pch!=*pstr) { printf("\n不在!\n"); exit(1); } pch++; pstr++; } printf("\n在!\n"); } 例如我输入dagn,再输入dangdang,他显示"在!"

[此贴子已经被作者于2004-06-16 22:20:34编辑过]


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2004-06-16 21:55
快速回复:帮我看看,谢谢!(koncker再进!)
数据加载中...
 
   



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

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