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ả.

Gió viết 23:26 ngày 30/09/2018

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

Tiến Trần viết 23:34 ngày 30/09/2018

so sánh khi xuất sao vậy bạn?

Bài liên quan
0