Вывести самое короткое слово и его длину - C (СИ) (74620)

Формулировка задачи:

Имеется код на программу вывести самое короткое слово и его длинну но при вводе строки символов он всегда выводит первое слово ( и не важно короткое оно или длинное). Исправьте ошибку.буду очень благодарен
#include<stdio.h>
#include<conio.h>
#define DLSTR 80
main(void)
{
char str[DLSTR];
int a,b,c,d,min=90,i=0,f,n,z;
printf("\n\n Vvedite stroki simvolov \n");
gets(str);
printf("rezultat:\n");
while(str[i]!='\0')
{
if(str[i]==' ')i++;
else
{
n=i;
do i++;
while ((str[i]!=' ')&&(str[i]!='\0'));
z=i;
d=z-n;
if(d<min||d==min)
{
min=d,
a=n,
b=z,
c=d;
for(f=a;f<b;f++)
putchar(str[f]);
printf("\n Dlina slova:%d",c);
putchar('\n');
}
}
}
}


textual

Код к задаче: «Вывести самое короткое слово и его длину - C (СИ) (74620)»

#include <stdio.h>
#include <string.h>
 
int main(int argc, char *argv[]){
    int i,min=100,pos;
    if(argc<1)return 0;
    
    for(i=1;i<argc;i++){
        if(strlen(argv[i])<min){
            min=strlen(argv[i]);
            pos=i;
        }
    }
    printf("Vashe Slovo:%s\n",argv[pos]);
    printf("Dlina slova:%d",(int)strlen(argv[pos]));
return 0;
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 3.900 из 5

Источник