Вывести самое короткое слово и его длину - 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
Листинг программы
#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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы