C语言:输入一个整数n和n个字符串,从n个字符串中输出最短的字符串

如题所述

#include "stdio.h"
#include <string.h>
int main(int argc,char *argv[]){
char s[101],st[101];
int n,ln,t;
printf("Please enter n(int n>0)...\n");
if(scanf("%d",&n)!=1 || n<1){
printf("Input error, exit...\n");
return 0;
}
ln=100;
while(n--){
scanf("%100s",s);
if((t=strlen(s))<ln){
ln=t;
strcpy(st,s);
}
}
printf("The shortest string is '%s'.\n",st);
  return 0;
}

运行们例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-16
#include <stdio.h>
#include <string.h>
int main()
{int n,i,min=0;
 scanf("%d",&n);
 getchar();a
 char s[n][200];
 for(i=0;i<n;i++)
 {gets(s[i]);
  if(strlen(s[i])<strlen(s[min]))min=i;
 }
 printf("-------\n%s\n",s[min]);
 return 0;
}

本回答被提问者采纳
第2个回答  2018-11-16
#include<stdio.h>
#include<string.h>
void main() { char s0[256],s1[256]; int n,i,m,k;
  scanf("%d",&n); m=256;
  for ( i=0;i<n;i++ ) {
    gets(s1); k=strlen(s1); if ( k<m ) { m=k; strcpy(s0,s1); }
  }
  printf("%s\n",s0);
}

第3个回答  2018-11-16
#include <stdio.h>
#include <string.h>
int main()
{int n,i,min=0;
 scanf("%d",&n);
 getchar();a
 char s[n][200];
 for(i=0;i<n;i++)
 {gets(s[i]);
  if(strlen(s[i])<strlen(s[min]))min=i;
 }
 printf("-------\n%s\n",s[min]);
 return 0;
}

本回答被提问者采纳
第4个回答  2018-11-16
#include<stdio.h>
#include<string.h>
void main() { char s0[256],s1[256]; int n,i,m,k;
  scanf("%d",&n); m=256;
  for ( i=0;i<n;i++ ) {
    gets(s1); k=strlen(s1); if ( k<m ) { m=k; strcpy(s0,s1); }
  }
  printf("%s\n",s0);
}

相似回答
大家正在搜