程序意思是:找出一组字符串中最长的字符串,用函数做. 这是我的程序,但是有点问题,请大家帮忙看看.
#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编辑过]