Theo mình thì bạn nên viết lại theo hàm cho rõ ràng và nên tránh dùng 'goto'
bài yêu cầu là hien thi menu chính
1:hiển thị hello
2:hiển thị goobye
3: tìm min max 2 số
4: kiểm tra tính chẵn lẻ
chọn:
Code:#include"conio.h" #include"stdio.h" #include"math.h" void main() { int n; int a,b,max,min; printf("\nhap vao so n"); scanf("%d",&n); printf("\nnhap vao 2 so : "); scanf("%f%f",&a,&b); sosanh: max=a; if (max<b) { max=b; printf("\nso lon hon la: %5.2f",b); } else { printf("\nso lon hon la: %5.2f",a); } kiemtra: if(a%2=!0) { printf("\n %5.2f la so chan",a); } else { printf("\n %5.2f la so le",a); } if (b%2=!0) { printf("\n %5.2f la so chan",b); } else { printf("\n %5.2f la so le",b); } if(n==1) { printf("\n hien thi hello"); } if(n==2) { printf("\nhien thi goobye"); } if(n==3) goto sosanh; getch(); }
Theo mình thì bạn nên viết lại theo hàm cho rõ ràng và nên tránh dùng 'goto'
sao bạn ko thử sử dụng lệnh swicth...case nhỉ, làm thế sẽ đỡ rắc rối hơn nhiều
I'm meo hoang!!!!!
Tui đã sữa + comment, nếu muốn học thì đọc.
C Code:
//#include"conio.h" //không cần nó làm gì //#include"stdio.h" //kiểu " " là không standard //#include"math.h" //void main() //không bao h xài void main() -> outdated #include <stdio.h> //dùng thằng này là đủ int main() //dùng int main() { //Đặt tên có ý nghĩa vì biến là identifier //cho con người đọc, tập viết không chỉ cho mình đọc // mà còn cho người khác đọc int hello; int so_thu_nhat, so_thu_hai; int max_of_2_so, min_of_2_so; //int n,a,b,max,min; do{ //-> GO TO IS VERY POOR STYLE. //Nó dẫn đến bug mà ta không lường trước được. //khó track chuơng trình. //dùng do while instead. //sosanh: // max=a; //if (max<b){ // max=b; //printf("\nso lon hon la: %5.2f",b); //} //else{ //printf("\nso lon hon la: %5.2f",a); //} if(so_thu_nhat > so_thu_hai){ max_of_2_so = so_thu_nhat; min_of_2_so = so_thu_hai; } else{ max_of_2_so = so_thu_hai; min_of_2_so = so_thu_nhat; } //kiemtra: // if (a%2=!0){ // printf("\n %5.2f la so chan",a); //} else //{ // printf("\n %5.2f la so le",a); //} //if (b%2=!0)//{ //printf("\n %5.2f la so chan",b); //} else{ //printf("\n %5.2f la so le",b);} if(so_thu_nhat % 2 == 0){ } else{ } if(so_thu_hai % 2 == 0){ } else{ } }while(hello != 1 && hello != 0); if(hello == 1) else //if (n==1){ // printf("\n hien thi hello"); //} //if (n==2){ // printf("\nhien thi goobye"); //} //if (n==3) goto sosanh; //getch(); return 0; }
theo tui thì bài này nên dùng toán tử điều kiện
đơn giản nhanh chóng
//code
Bài viết này bạn nên mở rộng phạm vi tính toán trên mảng sẽ hay hơn !Code:#include <stdio.h> #include <conio.h> void main() { //khai bao a b int a,b; int max,min;//khai bao max,min //in ra loi chao printf("Hello !\n"); printf("\nNhap a va b !!!"); fflush(stdin); scanf("%d%d",&a,&b); max = a>b?a:b; min = a<b?a:b; printf("So lon nhat la %d Min la %d",max,min); //kiem tra chan le if(a%2==0) { printf("a LA CHAN"); } else { printf("a la le"); } Tuong tu voi b }
Vd : Tìm số lớn nhất , bé nhất trong mảng chẳng hạn !
Chúc học tốt
Phần kiểm tra chẵn,lẻ của bạn bị sai cơ bản
if(a%2=!0) >> số chẵn là sai
a%2==0 thì đấy là số chẵn mới đúng
ờ đúng rồi viết code mà quên ko test