Tổng hợp bài tập C++ cho người mới bắt đầu

15 898 0
Tổng hợp bài tập C++ cho người mới bắt đầu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương trình tính ước số chung lớn nhất và bội số chung nhỏ nhất #include "stdio.h" #include "conio.h" unsigned USCLN(unsigned n, unsigned m) { while(n!=0 && m!=0) if(n>m) n-=m; else m-=n; if(n==0) return m; else return n; } unsigned BSCNN(unsigned n, unsigned m) { return n*m/USCLN(n,m); } void main() { unsigned n,m; printf("nhap vao hai so a,b : "); scanf("%u %u", &n, &m); printf("USCLN cua %u va %u la %u\n",n,m,USCLN(n,m)); printf("BSCNN cua %u va %u la %u\n",n,m,BSCNN(n,m)); getch(); } Chương trình xét một số có phải là số nguyên tố hay không #include "stdio.h" int is_nt(int n) { int dem = 2; for(int i=2;i<=n;i++) { if(n%i==0) dem++; if(dem>3) break; } if(dem<=2) return 1; else return 0; } void main() { int n; printf("nhap vao mot so nguyen duong n : "); scanf("%i", &n); if(is_nt(n)) printf("%i la so nguyen to\n",n); else printf("%i khong la so nguyen to\n",n); } Chửụng trỡnh saộp xeỏp maỷng taờng dan #include<stdio.h> #include<conio.h> void nhapmang(int a[], int n) { for(int i=0;i<n;i++) { printf("nhap thanh phan a[%i]= ",i); scanf("%i", &a[i]); } } void xuatmang(int a[], int n) { for(int i=0;i<n;i++) printf("%i\t", a[i]); } void hoanvi(int &x, int &y) { int tam; tam=x; x=y; y=tam; } void sapxep(int a[], int n) { for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) if(a[i]>a[j]) hoanvi(a[i],a[j]); } int tongmang(int a[], int n) { int s=0; for(int i=0;i<n;i++) s+=a[i]; return s; } void main() { int a[100]; int n; printf("nhap so phan tu "); scanf("%i", &n); nhapmang(a,n); xuatmang(a,n); printf("\n"); sapxep(a,n); printf("mang sap xep tang dan \n"); xuatmang(a,n); printf("\n"); printf("tong cac phan tu trong mang : %i",tongmang(a,n)); } Chương trình tính tổng hai phân số sau đó rút gọn phân số #include "stdio.h" #include "math.h" int USCLN(int tuso, int mauso) { int a=abs(tuso); int b=abs(mauso); while(a-b!=0) { if(a>b) a-=b; else b-=a; } if(a==b) return a; } void rutgon(int &tuso, int &mauso) { int uocso=USCLN(tuso, mauso); tuso=tuso/uocso; mauso=mauso/uocso; } void main() { int ts,ms; int ts1, ts2, ms1, ms2; printf("nhap phan so thu nhat \n"); printf("nhap tu so= \n"); scanf("%i",&ts1); printf("nhap mau so= \n"); scanf("%i", &ms1); printf("nhap phan so thu hai \n"); printf("nhap tu so= \n"); scanf("%i",&ts2); printf("nhap mau so= \n"); scanf("%i", &ms2); ts=ts1*ms2+ts2*ms1; ms=ms1*ms2; printf("phan so tong la %i/%i\n",ts, ms); printf("phan so rut gon: "); rutgon(ts,ms); printf("%i/%i\n",ts,ms); } Viết chương trình nhập số nguyên n, thực hiện : a. Nhập n số nguyên vào dãy b. Xuất dãy vừa nhập ra màn hình c. Đếm xem dãy vừa nhập có bao nhiêu số nguyên tố, in các số nguyên tố có trong dãy d. Nhập số nguyên X, tìm vò trí xuất hiện của X trong dãy vừa nhập e. Nhập một số nguyên Y, xóa giá trò Y ra khỏi dãy f. Nhập số nguyên Z, tìm vò trí xuất hiện của số trên dãy có giá trò gần Z nhất #include <stdio.h> #include <math.h> void nhapmang(int a[], int n) { for(int i=0;i<n;i++) { printf("nhap thanh phan a[%i] = ",i); scanf("%i", &a[i]); } } void xuatmang(int a[], int n) { for(int i=0;i<n;i++) printf("%i\t",a[i]); } //kiem tra so nguyen to int is_nt(int n) { int dem=2; int i=2; while(dem==2 && i<n) { if(n%i==0) dem++; i++; } if(dem==2) return 1; else return 0; } //in cac so nguyen to co trong mang void in_nt(int a[], int n) { for(int i=0;i<n;i++) if(is_nt(a[i])==1) printf("%i la so nguyen to\n",a[i]); } // tim vi tri cua X tren mang void timX(int a[], int n, int X) { for(int i=0;i<n;i++) if(a[i]==X) printf("vi tri %i gia tri %i\n",i,a[i]); } // xoa gia tri Y ra khoi day void xoaY(int a[], int &n, int Y) { for(int i=0;i<n;i++) if(i==n-1 && a[i]==Y) { n ; break; } else // Tim vi tri Y muon xoa if(a[i]==Y) { for(int j=i;j<n;j++) a[j]=a[j+1]; n ; i ; } } int nearZ(int a[], int n, int Z) { int min=a[0]-Z; int cs=0; for(int i=1;i<n;i++) { if(abs(a[i]-Z)<abs(min)) { min = a[i]-Z; cs=i; } } return cs; } void main() { int a[15]; int n; printf("nhap so phan tu "); scanf("%i", &n); nhapmang(a,n); printf("mang cua ban la : \n"); xuatmang(a,n); printf("\n"); in_nt(a,n); int X; printf("nhap gia tri X can tim "); scanf("%i", &X); timX(a,n,X); int Y; printf("nhap gia tri Y can xoa "); scanf("%i", &Y); xoaY(a,n,Y); printf("mang sau khi da xoa :\n"); xuatmang(a,n); printf("\n"); int Z; printf("nhap Z = "); scanf("%i", &Z); printf("so gan voi Z nhat o vi tri %i\n",nearZ(a,n,Z)); } Viết chương trình nhập số nguyên n, thực hiện : a. Nhập n số nguyên vào dãy b. Xuất dãy vừa nhập ra màn hình c. Kiểm tra dãy vừa nhập co tăng dần hay không d. Nếu dãy không tăng dần, hãy sắp xếp lại và xuất ra màn hình e. Nhập số nguyên X, chèn X vào dãy đang có sao cho vẫn đảm bảo tính tăng dần #include<stdio.h> #include<math.h> void nhapmang(int a[],int n) { for(int i=0;i<n;i++) { printf("nhap thanh phan a[%i] = ",i); scanf("%i", &a[i]); } } void xuatmang(int a[], int n) { for(int i=0;i<n;i++) printf("%i\t",a[i]); } //kiem tra day tang dan int daytang(int a[], int n) { for(int i=0;i<n-1;i++) if(a[i]>a[i+1]) return 0; return 1; } void sapxep(int a[], int n) { for(int i=0; i<n-1;i++) for(int j=i+1;j<n;j++) if(a[i]>a[j]) { int tam=a[i]; a[i]=a[j]; a[j]=tam; } } //Chen them phan tu vao mang van dam bao tinh tang dan void chenX(int a[], int &n, int X) { n++; if(a[n-2]<X) a[n-1]=X; else { //Tim vi tri can chen X for(int i=0; i<n-1; i++) if(a[i]>X ) { for(int j=n-1;j>i;j ) a[j]=a[j-1]; a[j]=X; break; } } } void main() { int a[100]; int n; int X; printf("nhap so phan tu "); scanf("%i",&n); nhapmang(a,n); printf("\n"); xuatmang(a,n); int kq = daytang(a,n); if(kq==1) printf("day tang\n"); else printf("day khong tang\n"); printf("\n"); sapxep(a,n); xuatmang(a,n); printf("\n"); printf("\n"); printf("nhap gia tri X can chen "); scanf("%i",&X); chenX(a,n,X); printf("\n"); xuatmang(a,n); } Viết chương trình thực hiện các yêu cầu : a. Nhập một số nguyên dương n co 4 chữ số, nếu nhập sai phải nhập lại. b. Tìm chữ số lớn nhất, chữ số nhỏ nhất có trong số n. c. Cho biết vò trí xuất hiện của các số đó ( hàng nghìn, hàng trăm, hàng chục, hàng đơn vò) VD : n = 3971  Max = 9, max ở hàng trăm.  Min = 1, min ở hàng đơn vò. #include <stdio.h> #include <conio.h> #include <string.h> void docsomax(int n) { int demmax = 0; int max = 0; int du; while (n != 0) { du = n % 10; if (du > max) { max = du; demmax++; } n = n / 10; } printf("so lon nhat la %i\n",max); switch(demmax) { case 1: { printf("\ngia tri lon nhat o hang don vi\n"); break; } case 2: { printf("\ngia tri lon nhat o hang chuc\n"); break; } case 3: { printf("\ngia tri lon nhat o hang tram\n"); break; } case 4: { printf("\ngia tri lon nhat o hang nghin\n"); break; } } } void docsomin(int n) { int demmin = 1; int min = 9999; int du; while (n != 0) { du = n % 10; if (du < min) . tri X can chen "); scanf("%i",&X); chenX(a,n,X); printf(" "); xuatmang(a,n); } Viết chương trình th c hiện c c yêu c u : a. Nhập một số nguyên dương n co 4 chữ số,. nếu nhập sai phải nhập lại. b. Tìm chữ số lớn nhất, chữ số nhỏ nhất c trong số n. c. Cho biết vò trí xuất hiện c a c c số đó ( hàng nghìn, hàng trăm, hàng ch c, hàng đơn vò) VD : n = 3971  Max. Chương trình tính ư c số chung lớn nhất và bội số chung nhỏ nhất #include "stdio.h" #include "conio.h" unsigned USCLN(unsigned n, unsigned m) { while(n!=0

Ngày đăng: 29/05/2014, 23:17

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan