C语言:输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<string.h>
#include<limits.h>
int main()

int n,b,i,c=INT_MAX;
scanf("%d",&n);
char a[100][100],d[100];
for(i=0;i<n;i++)

gets(a[i]);
b=strlen(a[i]);
if(b<c)

c=b;
strcpy(d,a[i]);


printf("%s",d);

请大家帮我看看哪里有啥问题 谢谢各位了 我只输入两个就结束了 也没有输出
还有 %[^\n] 能解释一下子不

#include<stdio.h>
#include<string.h>
#include<limits.h>
int main()

int n,b[100],i,c=INT_MAX,h,min,swap;
char a[100][100],d[100][100];
printf("请输入你要输入几次字符串数据:");
scanf("%d",&n);
for(i=0;i<n;i++)

printf("正在输入第%d个数据:",i+1);
scanf("%s",a[i]);
b[i]=strlen(a[i]);
if(b<c)

strcpy(d[i],a[i]);


min=b[0];
for(h=0;h<n;h++)

if(min>b[h])

min=b[h];
swap=h;


printf("%s\n",a[swap]);
参考技术A scanf后面用fflush(stdin)清除缓冲或者用getchar()也行

C语言中 输入一个字符串,输出最短的单词 求代码,加急

英文还是中文 , 中文就会牵扯中文分词 。 英文就 很简单 以空格变电符号 区分计算长度就可以。追问

英文的就行,给一段代码吧啊,这边着急用,谢谢了

追答

做的有点 点单 时间太近了。你凑合着用吧。

#include

void main()

char a[256],b[100],c[100];

printf("Input a string:");
gets(a);
int i=0;
int j=0;
int count=0;
int mincount=100;
while (a[i]!='\0')

if( (a[i]>=65 && a[i]=97 && a[i]=48 && a[i]<=57))

b[j]=a[i]; count++;
j++;

else

if(j!=0)

j=0;
if (count<mincount)

for( int z=0;z<count;z++)
c[z]=b[z];
mincount=count;

count=0;


i++;



for(j=0;j<mincount;j++)
printf("%c",c[j]);
printf("\n");

参考技术A #include "stdio.h"
#include <string.h>
#define N 128
int main(int argv,char *argc[])
char str[N];
int i,j,k,t;
printf("plese input string :\\n");
fgets(str,128,stdin);
for(k=50,t=i=0;str[i];i++)
if(str[i]>='A' && str[i]<='Z' || str[i]>='a' && str[i]<='z')
for(j=i+1;str[j]>='A' && str[j]<='Z' || str[j]>='a' && str[j]<='z' || str[j]=='-';j++);
if(k>j-i)
k=j-i,t=i;
i=j;

printf("\\nThe shortest word is '");
for(;str[t]>='A' && str[t]<='Z' || str[t]>='a' && str[t]<='z' || str[t]=='-';t++)
printf("%c",str[t]);
printf("'.\\n");
return 0;

运行样例:

以上是关于C语言:输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个的主要内容,如果未能解决你的问题,请参考以下文章

最短母串

C语言中 输入一个字符串,输出最短的单词 求代码,加急

一个c语言问题,编写一个函数,从键盘输入一行字符,将此字符串中最长和最短的单词输出

字符串----最短摘要生成

C语言程序答案:将一个整数n转成字符串输出。???不用递归法,还能怎么写

uva1610 聚会游戏(细节处理)