Giải bài thực hành 6 – Truyền tham số cho hàm | Nhập môn lập trình C

DANH SÁCH BÀI VIẾT Giải bài tập thực hành 1 – Các thành phần trong ngôn ngữ C Giải bài tập thực hành 2 – Cấu trúc rẽ nhánh Giải bài tập thực hành 3 – Cấu trúc lặp for Giải bài thực hành 4 – Cấu trúc lặp While, do…while Giải bài thực hành 5 – HÀM Giải bài thực hành 6 – Truyền tham số cho hàm Giải bài thực hành 7 – Mảng Giải bài thực hành 8 – Chuỗi ký tự Giải bài thực hành 9 – Kiểu cấu trúc Giải bài thực hành 10 – Tập tin
Bài thực hành 6 – Truyền tham số cho hàm
Bài 3. Cho 2 số nguyên a, b. Viết hàm hoán vị giá trị 2 số trên.
Code mẫu
#include<stdio.h> int Hoanvi(int a, int b); int main() { int a, b; do { printf("Nhap a = "); scanf("%d",&a); printf("Nhap b = "); scanf("%d",&b); } while(a<0 || b<0); Hoanvi(a,b); } int Hoanvi(int a, int b) { int temp; temp=a; a=b; b=temp; printf("a = %d, b = %d",a,b); }
Bài 4. Viết chương trình nhập 2 số nguyên dương a, b. Tìm USCLN và BSCNN của 2 số nguyên đó.
Code mẫu
#include <stdio.h> void Bc(int a,int b); int main() { int a, b; do { printf("Nhap a , b = "); scanf("%d%d",&a,&b); } while (a<=0 || b<=0); Bc(a,b); } void Bc(int a,int b) { int x=a; int y=b; while(a!=b) { if(a>b) a=a-b; else b=b-a; } printf("\nuoc chung lon nhat la %d",b); printf("\nboi chung nho nhat la %d",(x*y)/b); }
Bài 5. Viết chương trình nhập số nguyên dương n gồm k chữ số(0<k<=5), đếm xem n có bao nhiêu chữ số chẵn và bao nhiêu chữ số lẻ.
Code mẫu
#include<stdio.h> void chan(int x); void le(int x); int main() { int n, a, b, c, d,e ,y ; do { printf("Nhap n(1<n<65536): "); scanf("%d",&n); } while(n<1 || n>65536); a = n/10000; b = n%10000/1000; c = n%1000/100; d = ((n%100/10)); e = (n%10); printf("a= %d,b= %d,c= %d,d= %d,e= %d ",a,b,c,d,e); chan(a); le(a); chan(b); le(b); chan(c); le(c); chan(d); le(d); chan(e); le(e); } void chan(int x) { int chan; if(x==0) chan = 0; else { if(x%2==0) chan = 1; else chan = 0; } if(chan==1) printf("chan "); else printf(" "); return chan; } void le(int x) { int le; if(x==0) le = 0; else { if(x%2==0) le = 0; else le = 1; } if(le==1) printf("le "); else printf(" "); return le; }
Bài 6. Viết chương trình nhập số nguyên dương n gồm k chữ số(0<k<=5), sau đó nhập một số nguyên x, tìm vị trí xuất hiện của chữ số có giá trị x trong n. Ví dụ: nhập n=1526,x=2. Kết quả: chu so 2 o vi tri thu 3.
Code mẫu
#include<stdio.h> int main() { int n, a, b, c, d, e, y; do { printf("Nhap n(1<n<65536): "); scanf("%d",&n); } while(n<1 || n>65536); printf("Nhap x: "); scanf("%d",&y); a = n/10000; b = n%10000/1000; c = n%1000/100; d = ((n%100/10)); e = (n%10); if(y==a) { printf("so %d o vi tri thu 1",y); } if(y==b) { if(a!=0) printf("so %d o vi tri thu 2",y); else printf("so %d o vi tri thu 1",y); } if(y==c) { if(a==0 && b==0) printf("so %d o vi tri thu 1",y); else if(a==0 && b!=0) printf("so %d o vi tri thu 2",y); else printf("so %d o vi tri thu 3",y); } if(y==d) { if(a==0 && b==0 && c==0) printf("so %d o vi tri thu 1",y); else if(a==0 && b==0 && c!=0) printf("so %d o vi tri thu 2",y); else if(a==0 && b!=0 && c!=0) printf("so %d o vi tri thu 3",y); else printf("so %d o vi tri thu 4",y); } if(y==e) { if(a==0 && b==0 && c==0 && d==0) printf("so %d o vi tri thu 1",y); else if(a==0 && b==0 && c==0 && d!=0) printf("so %d o vi tri thu 2",y); else if(a==0 && b==0 && c!=0 && d!=0) printf("so %d o vi tri thu 3",y); else if(a==0 && b!=0 && c!=0 && d!=0) printf("so %d o vi tri thu 4",y); else printf("so %d o vi tri thu 5",y); } }