Mình đang còn vướng mắc vấn đề về nhận dạng ký tự để cho chuỗi dừng lại, nếu có thể nhờ các bạn hướng dẫn giúp, cảm ơn.
Yêu cầu:
Nhập vào phần tử n >=1, nhập vào giá trị a[ i ] gồm n số nguyên, in ra giá trị lớn nhất và nhỏ nhất của mảng.
Ý tưởng:
- Nhập từng số nguyên
- Khi muốn kết thúc chuỗi thì nhập dấu chấm.
Vấn đề chưa giải quyết được:
- Nhận dạng dấu chấm (ASCII Dec:46 Hex:0x2E)
code:
#include <stdlib.h>
#include <stdio.h>
int main(){
printf("Chuong trinh in gia tri lon nhat va nho nhat trong mang.\n\n");
int i=1,snn,sln,a[i],n=1;
char kt;
do{
printf("\nNhap vao phan tu a[%d]: ",i); scanf("%d",&a[i]);
kt=a[i]; printf("a[%d]:= %d, &d= %d, &c=%c, na=%d",i,a[i],kt,kt,n);
if (kt==46){
n--;}
else{
sln=a[i];snn=a[i];
n++;}
i++; printf(", nb=%d",n);
//if (n<1) printf("\nVui long nhap vao so phan tu >0.");
}while (i==n);
for (i=1;i<n;i++){
if(sln<a[i]) sln=a[i];
else if(snn>a[i]) snn=a[i];
}
printf("\n\n%d la so lon nhat trong mang",sln);
printf("\n%d la so nho nhat trong mang",snn);
return;
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?