Tải bản đầy đủ (.pdf) (112 trang)

BÀI tập THI TIN học đại cương

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (566.18 KB, 112 trang )

ĐỀ SỐ 1:
CÂU 1: (4 điểm): Viết chương trình có sử dụng hàm kiểm tra n (nhập từ bàn phím) có
phải số nguyên tố không ?
Câu 2: (6 điểm): Viết chương trình có sử dụng hàm
a. Viết chương trình nhập mảng một chiều A với n phần tử (n>=10). Xuất mảng A ra màn
hình (2điểm)
b. Xuất ra màn hình các nguyên tố trong A trên

#include <stdio.h>
#include <conio.h>
#include <math.h>
int kt (int n)
{
int i;
if (n<2) return 0;
for (i=2; i<=(int)sqrt(n); i++)
if (n%i==0) return 0;
return 1;
}
main ()
{
int i, n;
printf ("nhap so nguyen n : ");
scanf ("%d",&n);


if (kt(n)) printf ("la so nguyen to");
else printf ("khong la so nguyen to");
getch ();
}
CÂU 2:


#include <stdio.h>
#include <conio.h>
#include <math.h>
void nhap (int a[], int n)
{
int i;
for (i=0; i{
printf ("a[]",i);
scanf ("%d",&a[i]);
}
}
void xuat (int a[], int n)
{
int i;
for (i=0; iprintf ("%4d",a[i]);
}
int kt (int n)


{
int i;
if (n<2) return 0;
for (i=2; i<=(int)sqrt(n); i++)
if (n%i==0) return 0;
return 1;
}
void cacsont (int a[], int n)
{

int i;
for (i=0; iif (kt(a[i])) printf ("%4d",a[i]);
}
main ()
{
int a[100];
int n;
do {
printf ("nhap n:");
scanf ("%d",&n);}
while (n<10);
nhap (a,n);
xuat (a,n);
printf ("\ncac so nguyen to trong day");


cacsont (a,n);
getch ();
}

ĐỀ SỐ 2
Câu 1: (4 điểm): Số hoàn hảo là số nguyên dương bằng tổng các ước thực sự của nó. Ví
dụ: 6=1+2+3. Viết chương trình có sử dụng hàm kiểm tra n (nhập từ bàn phím) có phải số
hoàn hảo không ?
Câu 2:(6 điểm): Viết chương trình có sử dụng hàm
a. Viết chương trình nhập mảng một chiều A với n phần tử (n>=10).Xuất mảng A ra màn
hình (2điểm)
b. Xuất ra màn hình các hoàn hảo trong A trên (4 điểm)


CÂU 1:
#include <stdio.h>
#include <conio.h>
int ktsohoanchinh (int n)
{
int i, s=0;
for (i=1;i{
if (n%i==0) s=s+i;
}
if (s==n) return 1;
return 0;
}


main()
{
int i, n;
printf ("nhap n:");
scanf ("%d",&n);
if (ktsohoanchinh(n)) printf ("la so hoan hao");
else printf (“khong phai là so hoan hao”);
getch ();
}
CÂU 2:

#include <stdio.h>
#include <conio.h>
void nhap (int a[], int n)
{

int i;
for (i=0;i{
printf (" a[%d]",i);
scanf ("%d",&a[i]);
}
}
void xuat (int a[], int n)
{


int i;
for (i=0; iprintf ("%4d", a[i]);
}

int ktsohoanchinh (int n)
{
int i, s=0;
for (i=1;i{
if (n%i==0) s=s+i;
}
if (s==n) return 1;
return 0;
}
void cacsohoanhao (int a[], int n)
{
int i;
for (i=0; i

if (ktsohoanchinh(a[i])) printf ("%4d",a[i]);
}
main()
{
int n, a[100];


do {
printf ("nhap n:");
scanf ("%d",&n);
}
while (n<10);
nhap (a,n);
xuat (a,n);
printf ("\ncac so hoan hao trong mang:");
cacsohoanhao (a,n);
getch();
}

ĐỀ SỐ 3
Câu 1: (4 điểm): Số tổ hợp Ckn có công thức truy hồi:
Câu 2: (6 điểm): Viết chương trình có sử dụng hàm
a. Viết chương trình nhập mảng một chiều A với n phần tử (n>=10). Xuất mảng A ra màn
hình (2điểm)
b. Xóa các số hoàn hảo trong A trên, xuất lại mảng A sau khi xóa các số hoàn hảo.

CÂU 1:
#include <stdio.h>
#include <conio.h>
int C (int n, int k);

int main()
{


int n, k;
printf ("Tinh to hop chap k cua n C(n,k) \nn= ");
scanf ("%d", &n);
printf ("k= ");
scanf ("%d", &k);
printf ("C(%d,%d)=%d ",n,k,C(n,k));
int C (int n, int k)
{
if(k==0 || k==n) return 1;
return C(n-1,k-1)+C(n,k);
}
}
CÂU 2:

#include <stdio.h>
#include <conio.h>
void nhap (int a[], int n)
{
int i;
for (i=0;i{
printf (" a[%d]= ",i);
scanf ("%d",&a[i]);
}



}
void xuat (int a[], int n)
{
int i;
for (i=0; iprintf ("%4d", a[i]);
}

int ktsohoanchinh (int n)
{
int i, s=0;
for (i=1;i<=n/2;i++)
{
if (n%i==0) s=s+i;
}
if (s==n) return 1;
return 0;
}
void cacsohoanhao (int a[], int n)
{
int i;
for (i=0; iif (ktsohoanchinh(a[i])) printf ("%4d",a[i]);
}


void xoasohoanhao (int a[], int *n)
{
int i, j;
for (i=0; i<*n; i++)

if (ktsohoanchinh(a[i]))
{
for (j=i; j<*n-1;j++)
a[i]=a[j+1];
(*n)--;
continue;
}
i++;
}
main()
{
int n, a[100];
do {
printf ("nhap n:");
scanf ("%d",&n);
}
while (n<10);
nhap (a,n);
xuat (a,n);
printf ("\ncac so hoan hao trong mang:");


cacsohoanhao (a,n);
printf ("\nmang sau khi xoa cac so hoan hao trong mang:");
xoasohoanhao (a,&n);
xuat (a,n);
getch();
}

ĐỀ SỐ 4

Câu 2: (6 điểm): Cho đoạn chương trình sau:
int Chiahet(int a[], int n)
{int i;
int s=0;
for (i=0; iif(a[i]%5==0)s+=a[i];
return s;
}
a. Viết chương trình nhập mảng một chiều với n phần tử là số nguyên với n>=10.Xuất
mảng A ra màn hình
b. Đưa hàm trên vào chương trình và xuất kết quả tổngra màn hình (4 điểm)
CÂU 1:
#include <stdio.h>
#include <conio.h>
int main()
{
int n, k;


float x, a=1, s=1;
printf ("nhap n= ");
scanf ("%d",&n);
printf ("nhap x= ");
scanf ("%f", &x);
for (k=1;k<=n; k++)
{
s= s+a;
a=a*x/k;
}
printf ("ket qua %0.2f",s);

getch();
return 0;
}
CÂU 2:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void nhap (int a[], int n)
{
int i;
for (i=0; i{
printf ("a[%d]=",i);


scanf ("%d",&a[i]);
}
}
void xuat (int a[], int n)
{
int i;
for (i=0; iprintf ("%4d",a[i]);
}
void chiahet (int a[], int n)
{
int i;
int s=0;
for (i=0; iif (a[i]%5==0) s+=a[i];

printf ("%d",s);
}
main()
{
int n, a[100];
do
{
printf ("nhap n= ");
scanf ("%d",&n);


}
while (n<10);
nhap (a,n);
xuat (a,n);
printf (" \ntong cac so chia het cho 5 la: ");
chiahet(a,n);
getch();
}

ĐỀ SỐ 5
Câu 2: (6 điểm): Cho đoạn chương trình sau:
int Check(long n)
{
long k=2;
while (k*k<=n && n%k!=0) k++;
return k*k>n;
}
a. Viết chương trình nhập mảng một chiều với n phần tử là số nguyên với n>=10. Xuất
mảng A ra màn hình

b.Đưa hàm trên vào chương trình và xuất kết quả ra màn hình (4 điểm)

CÂU 1:
#include <stdio.h>
#include <conio.h>
int main()


{
int n, k;
float x, a=1, s=1;
printf ("nhap n= ");
scanf ("%d",&n);
printf ("nhap x= ");
scanf ("%f", &x);
for (k=1; k<=n;k++)
{
a=a*x;
s=s+a/k;
}
printf ("tong %0.2f",s);
getch();
}
CÂU 2:

ĐỀ SỐ 6
Câu 1: (4 điểm): Viết chương trình sử dụng hàm: Giải và biện luận phương
trình bậc 2 (tính cả trường hợp suy biến).
Câu 2: (6 điểm):Viết chương trình có sử dụng hàm
a.Nhập mảng số nguyên A gồm n phần tử và nhập số nguyên k. (2 điểm)

b. Xóa phần tử có chỉ số k ra khỏi mảng A. Xuất mảng A sau khi xóa chỉ số
chỉ số k ra màn hình (4 điểm)


CÂU 1:
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
float a, b, c, delta, x1, x2, x;
printf ("nhap a= ");
scanf ("%f", &a);
printf ("nhap b= ");
scanf ("%f", &b);
printf ("nhap c= ");
scanf ("%f", &c);
delta= b*b-4*a*c;
if (delta>0)
{
printf ("phuong trinh co 2 nghiem phan biet");
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf ("x1= %4.2f\n",x1);
printf ("x2= %4.2f",x2);
}
else if (delta==0) printf ("phuongtinh co 1 nghiem duy nhat :x= %f", -b/(2*a));
else printf ("phuong trinh vo nghiem");



getch();
}
CÂU 2:
#include<stdio.h>
#include<conio.h>
void nhapmang(int a[], int &n)
{ printf("nhap so phan tu :" );
scanf("%d",&n);
for(int i=0;i{ printf(" phan tu thu %d :",i);
scanf("%d",&a[i]);
}
}
int xuatmang(int a[],int n)
{for(int i=0;i{
printf("%d \t",a[i]);
}
}
void xoa1vitrik(int a[],int n)
{
int k;
printf("nhap vi tri can xoa: ");
scanf("%d",&k);


for(int i=0;ia[k]=a[k+1];
n=n-1;
xuatmang(a,n);

}
int main()
{
int a[50],n;
nhapmang(a,n);
xoa1vitrik(a,n);
return 0;
}

ĐỀ SỐ 7
Câu 1: (4 điểm): Viết chương trình nhập lãi suất năm r (%), tiền vốn p và thời hạn gửi
tiền n năm. In ra vốn tích lũy a của từng năm. Biết công thức a = p * (1+r)n
Câu 2: (6 điểm):
a. Viết chương trình nhập mảng một chiều A với n phần tử (n>=9). Xuất mảng A ra màn
hình (2điểm)
b. Nhập số k từ bàn phím,kiểm tra k có trong mảng không?(4 điểm)
CÂU 1:
#include <stdio.h>


#include <conio.h>
#include <math.h>
main()
{
float r, n, a, p;
printf ("nhap p= ");
scanf ("%f", &p);
printf ("nhap n= ");
scanf ("%f", &n);
printf ("nhap r= ");

scanf ("%f", &r);
a= p*pow((1+r),n);
printf ("von tich luy a cua tung nam: %4.2f", a);
getch();

}
CÂU 2:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void nhap (int a[], int n)
{
int i;
for (i=0; i

{
printf ("a[%d]= ",i);
scanf ("%d",&a[i]);
}
}
void xuat (int a[], int n)
{
int i;
for (i=0; iprintf ("%4d",a[i]);
}
int k (int n)
{
int i, k;

for (i=1; i<=n; i++)
if (i==k) return 0;
return 1;
}
void kt (int a[], int n)
{
int i;
for (i=0; iif (k(a[i]))
printf ("\nk co trong mang, vi tri thu %d", i);


else printf ("\nk khong co trong mang");
}
main()
{
int n, k, a[100];
do
{
printf ("n= ");
scanf ("%d",&n);
printf ("k= ");
scanf ("%d", &k);
}
while (n<9);
nhap (a,n);
xuat (a,n);
kt (a,n);
getch();
}


ĐỀ SỐ 8
Câu 1: (4 điểm):Viết chương trình giải phương trình bậc bốn trùng phương (ax4 + bx2
+
ếm số nghiệm khác nhau của phương trình.
Câu 2: (6 điểm): Viết chương trình có sử dụng hàm
c. Viết chương trình nhập mảng một chiều A với n phần tử (n>=9).Xuất mảng A ra màn
hình (2điểm)


d. Sắp xếp các số trong mảng theo thứ tự tăng dần, xuất ra lại màn hình (4 điểm)
CÂU 1:
CÂU 2:
#include <stdio.h>
#include <conio.h>
void nhap (int a[], int n)
{
for (int i=0; i{
printf ("a[%d]= ", i);
scanf ("%d",&a[i]);
}
}
void xuat (int a[], int n)
{
for (int i=0; iprintf ("%4d",a[i]);
}
void hoandoi (int *x, int *y)
{

int tam;
tam=*x;
*x=*y;
*y=tam;


}
void sapxeptangdan (int a[], int n)
{
int i, j;
for (i=0; ifor (j=i+1; jif (a[i]>a[j]) hoandoi (&a[i], &a[j]);
}
main()
{
int a[100], n;
printf ("nhap n= ");
scanf ("%d", &n);
nhap (a,n);
xuat (a,n);
sapxeptangdan (a,n);
printf ("\nday tang dan cua mang la:");
xuat (a,n);
getch();
}

ĐỀ SỐ 9
Câu 1: (4 điểm):Viết chương trình nhập giờ h, phút m và giây s hiện tại và một số
nguyên dương n. In ra màn hình giờ, phút, giây sau n giây.

Câu 2: (6 điểm): Viết chương trình có sử dụng hàm


a. Viết chương trình nhập mảng một chiều A với n phần tử (n>=9).Xuất mảng A ra màn
hình (2điểm)
b. Sắp xếp các phần tử chẵn ra đầu mảng, các phần tử lẻ ra cuối mảng,xuất ra lại màn
hình (4 điểm)
CÂU 1:
Chương trình:
#include <conio.h>
#include <stdio.h>
int main()
{
int n, h, m, s;
printf("Nhap gio: ");
scanf("%d", &h);
printf("Nhap phut: ");
scanf("%d", &m);
printf("Nhap giay: ");
scanf("%d", &s);
printf("Nhap so nguyen n: ");
scanf("%d", &n);
h = (h + ((n + s)/60 + m)/60)%24;
m = (m + (n + s)/60)%60;
s = (n+ s)%60;
printf("Ket qua gio, phut, giay sau n giay: ");
printf("%d : %d : %d\n", h, m, s);
getch();



CÂU 2:

ĐỀ SỐ 10
Câu 1: (4 điểm):Viết chương trình in ra màn hình bảng chân trị của các phép toán logic:
AND, OR, NOT. Ví dụ, với phép OR thì có kết quả in ra là
OR 0 1 1
000
111
Dùng các phép logic tương ứng là: &&, ||, !.
Câu 2: (6 điểm): Viết chương trình có sử dụng hàm
a. Viết chương trình nhập mảng một chiều A với n phần tử (n>=9). Xuất mảng A ra màn
hình (2điểm)
b. Sắp xếp mảng theo thứ tự giảm dần,xuất ra lại màn hình (4 điểm)
CÂU 1:
CÂU 2:
#include <stdio.h>
#include <conio.h>
void nhap (int a[], int n)
{
for (int i=0; i{
printf ("a[%d]= ", i);
scanf ("%d",&a[i]);
}
}


×