写一函数,输入一行字符,将此字符串中最长的单词输出。
#include"stdio.h" #include"string.h" main() { char st1[100],*p=st1; void max(char *); printf("请输入字符串\n"); while((*p=getchar())!='\n') p++; *p='\0'; max(st1); } void max(char *p) { char st1[100][100]; int i=0,j=0,y=0,n=0,m=0,z[100]; while(*p!='\0') { if(*p==' ') { st1[i][j]='\0'; j=0; p++; i++; } else if(*p==',') {st1[i][j]='\0'; j=0; p++; i++; } else if(*p=='.') {st1[i][j]='\0'; j=0; p++; i++; } else { st1[i][j]=*p; j++; p++; } } st1[i][j]='\0'; y=strlen(st1[0]); for(j=1;j<=i;j++) { if(y<strlen(st1[j])) { y=strlen(st1[j]); n=j; } else if(y==strlen(st1[j])) do { z[m]=j; m++; }while(!m); } printf("%s\n",st1[n]); if(strlen(st1[n])==strlen(st1[z[0]])) for(--m;m>=0;m--) printf("%s\n",st1[z[m]]);
}
上边的就是的,
假如abc=3个字符,cde=3字符,他们都输出,你要输出最大的,最大相等也输出,
[此贴子已经被作者于2004-10-18 01:11:29编辑过]