这个是我最近写的 统计传入字符串的单词长度的前5个
我把它改成只输出第一个 就是你要的了,里面只要把cout 和cin换成puts和gets就行了
#include "stdio.h"
#include "iostream.h"
#include "string.h"
struct world
{
char word[20];
int count;
}str[1000];
void sort(int n)
{
int i,j,m=0;
struct world temp;
for(i=0;i
str[i].count++;
cout<
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
cout<
void main()
{
char ch;
int i=0,j=0,k;
for(ch=getchar();ch!='*';ch=getchar())
{
str[i].word[j]=ch;
j++;
if(ch==' ')
{
str[i].word[j]='\0';
i++;
j=0;
}
}
str[i].word[j]='\0';
for(k=0;k cout<
}
getLongestStr( char** strs)
{
int len=0;//保存最长
int len2=0;//临时
while(*strs)
len2=strlen(*strs);
if( len2 > len )len=len2;//如果比已知的还长,则重新保存最长
*strs++;//进行下一个字符串计算
}
return len;
#include
#include
#define MAXNUM 100
#define MAXSTR 120
int main(){
char s[MAXNUM][MAXSTR];
int i,l,maxl,maxi;
i=1;
printf("str 1 :");
scanf("%s",s[0]);
if(l==4&&s[0][0]=='*'&&s[0][1]=='*'&&s[0][2]=='*'&&s[0][3]=='*')return 0;
maxl=strlen(s[0]);
maxi=0;
while(1){
printf("str %d :",i+1);
scanf("%s",s[i]);
l=strlen(s[i]);
if(l==4&&s[i][0]=='*'&&s[i][1]=='*'&&s[i][2]=='*'&&s[i][3]=='*')break;
if(l>maxl){
maxl=l;
maxi=i;
}
i++;
}
printf("\n\n\n\n最长字符串为:%s\n",s[maxi]);
return 0;
}
加油 我也这题