1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

15 901 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 53,5 KB

Nội dung

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

Trang 1

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;

}

Trang 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 sắp xếp mảng tăng dần

#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)

{

Trang 3

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)

Trang 4

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)

Trang 5

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)

Trang 6

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");

Trang 7

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]);

}

Trang 8

//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;

Trang 9

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)

{

Trang 10

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)

Trang 11

min = du;

demmin++;

}

n = n / 10;

}

printf("so nho nhat la %i\n",min);

switch(demmin) {

case 1:

{

printf("\ngia tri nho nhat o hang don vi\n"); break;

}

case 2:

{

printf("\ngia tri nho nhat o hang chuc\n"); break;

}

case 3:

{

printf("\ngia tri nho nhat o hang tram\n"); break;

}

case 4:

{

printf("\ngia tri nho nhat o hang nghin\n"); break;

} }

}

void main()

{

int n;

do

{

printf("Nhap vao mot so (4 chu so): ");

scanf("%i", &n);

}

while(n<=0||n>9999);

docsomax(n);

Trang 12

}

Bài tập tổng hợp

#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]);

}

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;

}

void sapxep(int a[], int n)

{

for(int i=0;i<n-1;i++)

for(int j=i+1;j<n;j++)

Trang 13

if(a[i]>a[j] && is_nt(a[i]) && is_nt(a[j])) {

int tam=a[i];

a[i]=a[j];

a[j]=tam;

} }

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]);

}

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

if(a[i]==Y) {

for(int j=i;j<n;j++)

a[j]=a[j+1];

n ;

i ;

} }

void chenX(int a[], int &n, int X)

{

n++;

if(a[n-2]<X)

a[n-1]=X;

else

{

Trang 14

for(int i=0;i<n;i++)

if(a[i]>X) {

for(int j=n-1;j>i;j )

a[j]=a[j-1]; a[j]=X;

break;

} }

}

int nearZ(int a[], int n, int Z)

{

int min=a[0]-Z;

int pt=a[0];

for(int i=1;i<n;i++)

if(abs(a[i]-Z)<abs(min)) {

min=a[i]-Z;

pt=a[i];

} return pt;

}

void main()

{

int a[10];

int n;

printf("nhap n ");

scanf("%i", &n);

nhapmang(a,n);

sapxep(a,n);

xuatmang(a,n);

int Y;

printf("nhap Y muon xoa ");

scanf("%i", &Y);

xoaY(a,n,Y);

printf("mang sau khi da xoa %i : \n",Y); xuatmang(a,n);

printf("\n");

Trang 15

int X;

printf("nhap X can chen ");

scanf("%i", &X);

chenX(a,n,X);

xuatmang(a,n);

int Z;

printf("nhap Z : ");

scanf("%i", &Z);

printf("phan tu gan %i nhat la %i",Z, nearZ(a,n,Z)); }

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

w