30/09/2018, 21:21
Tìm các chuỗi có độ dài nhỏ nhất trả lại các chuỗi tìm được cho hàm main để in ra kết quả
#include<stdio.h>
#include<string.h>
void nhap(char str[][30], int *N){
int i;
do{
printf("
Nhap N: ");
scanf("%d",&*N);
fflush(stdin);
if (*N<0 || *N>100)
printf("
Nhap lai N");
}while (!(*N>0 && *N<100));
printf("
Khai bao mang");
for (i=0;i<*N;i++){
printf("
Chuoi %d: ",i);
gets(str[i]);
}
}
char in_dodaiMin(char str[][30], int N){
int i, imin=0, min = strlen(str[0]);
for (i=0;i<N;i++){
if (strlen(str[i]) < min){
min = strlen(str[i]);
imin = i;
}
}
return imin;
}
void main(){
char str[40][30];
int N;
nhap(str,&N);
printf("
Chuoi co do dai min: %s",str[in_dodaiMin(str,N)]);
}
yêu cầu là tìm độ dài nhỏ nhất trong các chuỗi, sau đó tìm tất cả các chuỗi có độ dài nhỏ nhất và trả về cho hàm main để in ra. mình làm như trên nhưng nó chỉ in được 1 kết quả.
Bài liên quan
Hàm dodaimin nên trả về độ dài nhỏ nhất. Khi xuất thì so sánh các xâu xem cùng độ dài min đó không
so sánh khi xuất sao vậy bạn?