Tải bản đầy đủ (.docx) (15 trang)

ĐỀ KIỂM TRA THỰC HÀNH 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 (126.2 KB, 15 trang )

ĐỀ KIỂM TRA THỰC HÀNH 20141
ĐỀ 1
Viết 1 chương trình thực hiện các công việc sau:
a. Nhập một mảng gồm N số nguyên bất kỳ (0
dạng 1 dãy số.
b. Nhập 1 số nguyên X (X>0) bất kì. Nếu X<=N thì tính trung bình cộng của X số đầu tiên

trong mảng. Nếu X>N thì tính tổng các số có trong mảng. Hiện kết quả ra màn hình.
Chú ý: Sv kiểm tra N bằng lệnh do..while


<stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
int N;
do{
printf("Nhap N: ");
scanf("%d",&N);
}while(N<=0 || N>=10);
int A[N], i;
for(i=0;iprintf("Nhap so thu %d: ",i+1);
scanf("%d",&A[i]);
}
printf("Mang da nhap vao: ");
for(i=0;iprintf("%d ",A[i]);
}


int X;
do{
printf("\nNhap X: ");
scanf("%d",&X);
}while(X<=0);
if(X<=N){
int sum = 0;
for(i=0;isum += A[i];
}
printf("Trung binh cong cua %d so dau tien la: %f",X,1.0*sum/X);
}else{
int sum = 0;
for(i=0;isum += A[i];
}
printf("Tong cac so trong mang la: %d",sum);
}
getch();
}


Đề 2:
Nhập 1 mảng gồm các số nguyên bất kỳ từ bàn phím. Việc nhập sẽ dừng lại khi số lượng
phần tử bằng 7 hoặc số 0 được nhập. In ra mà hình mảng vừa nhập dưới dạng 1 dãy số.
Sắp xếp mảng vừa nhập theo thứ tự tang dần theo giá trị. In ra màn hình mảng đã sắp xếp.
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()

{
int A[7], i, n = 0;
for(i=0;i<7;i++){
printf("Nhap so thu %d: ",i+1);
scanf("%d",&A[i]);
if(A[i]==0){
break;
}else{
n++;
}}
printf("Mang da nhap vao: ");
for(i=0;iprintf("%d ",A[i]);
}
while(1){
bool flag = true;
for(i=0;iif(A[i]>A[i+1]){
int tmp = A[i];
A[i] = A[i+1];
A[i+1] = tmp;
flag = false;
}}
if(flag){
break;
}}
printf("\nMang da sap xep: ");
for(i=0;iprintf("%d ",A[i]);
}

getch(); }


Đề 3
Viết 1 chương trình thực hiện các cv sau:
a. Nhập số nguyên N(0b. Nhập 1 mảng gồm có N số thực. In ra màn hình mảng vừa nhập dưới dạng 1 dãy số. (Hiển

thị 2 chữ số sau dấu phấy).
c. Tìm số lớn nhất trong mảng và đếm xem có bao nhiêu số lớn nhất trong mảng. Hiển thị kết

quả ra màn hình như sau:
“Gia tri lon nhat cua day la: <giatri>”
“So luong phan tu bang gia tri lon nhat la: <giatri>”
Chú ý: Sv kiểm tra N bằng do…while.
#include<stdio.h>
#include<conio.h>
main()
{
float a[15],max;
int n,i,t=0;
do
{
printf("Nhap so nguyen 0scanf("%d",&n);
}while((n<1)||(n>9));
for(i=0;i{
printf("a[%d]= ",i);
scanf("%f",&a[i]);

}
printf("Mang vua nhap: ");
max=a[0];
for(i=0;i{
printf("%.2f ",a[i]);
if(a[i]>max) max=a[i];
}
printf("\nGia tri lon nhat cua day la: %.2f",max);
for(i=0;iif(a[i]==max) t=t+1;


printf("\nSo luong phan tu bang gia tri lon nhat la: %d",t);
getch();
}
Đề 4:
Viết 1 chương trình thực hiện các cv sau:
a. Nhập 1 số nguyên N (0b. Nhập 1 mảng gồm N số thực bất kì. In ra màn hình mảng vừa nhập dưới dạng 1 dãy số.
c.

Hiển thị 2 chữ số sau dấu phẩy.
Tìm số nhỏ nhất trong mảng và đếm xem có bao nhiêu số nhỏ nhất có trong mảng. Hiện kq
ra màn hình dưới dạng sau:
“Gia tri nho nhat cua day la: <giatri>”
“So luong phan tu bang gia tri nho nhat la: <giatri>”
Chú ý: Sv kiểm tra N bằng do…while.
#include<stdio.h>
#include<conio.h>

main()
{
float a[15],min;
int n,i,t=0;
do
{
printf("Nhap so nguyen 0scanf("%d",&n);
}while((n<1)||(n>9));
for(i=0;i{
printf("a[%d]= ",i);
scanf("%f",&a[i]);
}
printf("Mang vua nhap: ");
min=a[0];
for(i=0;i{
printf("%.2f ",a[i]);
if(a[i]< min) min=a[i];
}
printf("\nGia tri nho nhat cua day la: %.2f",min);


for(i=0;iif(a[i]==min) t=t+1;
printf("\nSo luong phan tu bang gia tri nho nhat la: %d",t);
getch();
}
Đề 5:

Viết 1 chương trình thực hiện các cv sau:
a. Nhập 1 số nguyên N (0b. Nhập 1 mảng gồm N số nguyên. In mảng vừa nhập ra màn hình dưới dạng 1 dãy số.
c. Tính số lượng số nguyên tố trong mảng và in ra dưới dạng:

“So luong so nguyen to co trong day la<giatri>”
Chú ý: Sv kiểm tra N bằng do…while.
#include <conio.h>
#include <stdio.h>
#include <math.h>
int main()
{
int N,i,j,k=0,h=0,a[10];
do
{
printf("\n Nhap mot so nguyen N: "); scanf("%d",&N);
if(N<=0 || N>=10) printf(" Xin moi nhap lai\n");
}
while(N<=0 || N>=10);
for(i=0;iprintf(" Cac phan tu trong mang:\n");
for(i=0;ifor(i=0;i{
k=0;
for(j=1;j<=a[i];j++)
{
if(a[i]%j==0) k++;
}
if(k==2 && a[i]!=1) {printf("\n %d",a[i]);h++;}

}
printf("\n So luong so nguyen to co trong day la: %d",h);


}
Đề 6:
Viết 1 chương trình thực hiện các cv sau:
a. Nhập một số nguyên N (0b. Nhập một mảng gồm N số nguyên bất kì. In ra màn hình dưới dạng 1 dãy số.
c. Tính và in trung bình cộng của các số chẵn trong mảng dưới dạng:

“trung binh cong cua cac so chan co trong day la: <giatri>”
Chú ý: sv kiểm tra N bằng do…while.
#include<stdio.h>
#include<conio.h>
main(){
int N;
do{
printf("Nhap N: ");
scanf("%d",&N);
}while(N<1 || N>10);
int A[N], i, sum = 0, count = 0;
for(i=0;iprintf("Nhap A[%d]: ",i+1);
scanf("%d",&A[i]);
if(A[i]%2==0){
sum += A[i];
count++;
}
}

if(count){
printf("Trung binh cong cua cac so chan co trong day la: %f",1.0*sum/count);
}else{
printf("Mang vua nhap khong co so le nao");
}
getch();
}
Đề 7:
Viết 1 chương trình thực hiện các cv sau:
a. Nhập 1 số nguyên N (1<=N<=10)


b. Nhập 1 mảng gồm N số nguyên bất kì từ bàn phím. In ra màn hình mảng vừa nhập dưới

dạng 1 dãy số.
c. Tính và in trung bình cộng của các số lẻ trong dãy dưới dạng:
“trung binh cong cua cac so le trong day la: <giatri>”
Chú ý: Sv kiểm tra N bằng do…while
#include <stdio.h>
#include <conio.h>
int main()
{
int a[15],n,s,dem;
do
{
printf("\n Nhap N: "); scanf("%d",&n);
}
while (n<1 || n>10);
dem=0;
for(int i=1;i<=n;i++)

{
printf("a[%d]=",i);
scanf("%d",&a[i]);
if (a[i]%2==1) { s+=a[i]; dem++; };
}
for(int i=1;i<=n;i++) printf("%d ",a[i]); printf("\n");
float tbc;
//printf("xx %d %d\n",s,dem);
tbc=1.0*s/dem;
printf("trung binh cong cua cac so le trong day la %f",tbc);
getch();
}
Đề 8:
Viết 1 chương trình thực hiện các cv sau:
a. Nhập vào 1 số nguyên N (0b. Nhập vào mảng có N phần từ. In mảng ra dưới dạng 1 dãy số.
c. Tính trung bình cộng của các số chia hết cho 3 nhưng không chia hết cho 2.

Chú ý: Dùng do..while để kiểm tra N, khi chia chú ý kiểm tra điều kiện khác 0.
#include <stdio.h>
#include <conio.h>


int main()
{
int N,a[10],i,dem=0;
float tbc,s=0;
printf("\n Nhap N: “);
scanf("%d",&N);
do

{
if(N>=10||N<=0)
{
printf("Nhap lai N: ");
scanf("%d",&N);
}
} while(N>=10||N<=0);
for(i=0;i{
printf("\n a[%d]: ",i);
scanf("%d",&a[i]);
if(a[i]%3==0&& a[i]%2!=0)
{
s+=a[i];
dem++;
}
}
printf("Mang vua nhap la");
for (i=0;iprintf(" %d",a[i]);
if(dem==0) printf("\nMang vua nhap khong co so nao chia het cho 3 va khong chia het cho 2");
else
{
tbc=s/dem;
printf("\nTrung binh cong cua cac so chia het cho 3 va khong chia het cho 2 la %f",tbc);
}
getch();
}
Đề 9:
Viết 1 chương trình thực hiện các cv sau:

a. Nhập 1 số nguyên N (0

b. Nhập 1 mảng có N số nguyên. In ra mảng vừa nhập dưới dạng 1 dãy số.
c. Tính trung bình cộng các số chia hết cho 5 nhưng không chia hết cho 10. Hiện kq ra màn

hình.
Chú ý: kiểm tra N bằng do…while. Khi thực hiện chia phải kiểm tra điều kiện khác 0.
#include<stdio.h>
#include<conio.h>
main(){
int N;
do{
printf("Nhap N: ");
scanf("%d",&N);
}while(N<1 || N>10);
int A[N], i, sum = 0, count = 0;
for(i=0;iprintf("Nhap A[%d]: ",i);
scanf("%d",&A[i]);
if(A[i]%10==5){
sum += A[i];
count++;
}
}
printf("Mang da nhap vao: ");
for(i=0;iprintf("%d ",A[i]);
}
if(count){

printf("\nTrung binh cong cua cac so chia het cho 5 nhung khong chia het cho 10 la:
%f",1.0*sum/count);
}else{
printf("\nMang vua nhap khong co so nao chia het cho 5 nhung khong chia het cho 10");
}
getch();
}
Đề 10:
Viết 1 chương trình thực hiện các cv sau:
a. Nhập 1 số nguyên N (0b. Nhập 1 mảng gồm có N số nguyên. In ra màn hình mảng vừa nhập dưới dạng 1 dãy số.
c. Tính và in số lượng các số hoàn thiện trong mảng vừa nhâp dưới dạng:


“ so luong so hoan thien trong day la: <giatri>”
Chú ý: sv kiểm tra N bằng do…while. Số hoàn thiện là số nguyên dương mà tổng giá trị các
ước nguyên dương của nó bằng 2 lần số đó.
#include <stdio.h>
#include <conio.h>
int Tonguoc(int a)
{
int j,S; S=0;
for (j=1;j<=a;j++)
if ((a%j)==0) S=S+j;
return S;
}
int main()
{
int a[15],b[15],N,i,dem;
do

{
printf(" \n Nhap N: "); scanf("%d",&N);
if ((N<=0)||(N>=10)) printf(" YEU CAU NHAP LAI!");
}
while ((N<=0)||(N>=10));
printf(" Nhap cac tu trong mang: ");
for (i=1;i<=N;i++)
{
printf("\n Nhap a[%d]: ",i); scanf("%d",&a[i]);
}
printf(" Mang vua nhap: ");
for (i=1;i<=N;i++) printf("%5d",a[i]);
for (i=1;i<=N;i++) b[i]=0;
dem=0;
for (i=1;i<=N;i++)
if((a[i]>0)&&(Tonguoc(a[i])==(2*a[i])))
{
dem++; b[i]=1;
}
printf("\n So luong cac so hoan thien trong mang: %d",dem);
if (dem!=0)
{
printf("\n Cac so do la: ");


for (i=1;i<=N;i++)
if (b[i]==1) printf("%5d",a[i]);
}
getch();
}

Đề 11:
Lập chương trình thực hiện các cv sau:
a. Nhập 3 số thưc a, b, c bất kỳ.
b. Giải và biện luân pt bậc 2:

ax2+bx+c=0
Chú ý cả trường hợp nghiệm phức
c. Đưa kq ra màn hình
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
float a,b,c,dt;
printf("\n Nhap vao ba so a:");
scanf("%f",&a);
printf("\n Nhap vao ba so b:");
scanf("%f",&b);
printf("\n Nhap vao ba so c:");
scanf("%f",&c);
if(a==0)
{
if(b==0)
{
if(c==0) printf("\n Phuong trinh co vo so nghiem");
else printf("\n phuong trinh vo nghiem");
}
else printf("\n Phuong trinh co mot nghiem x= %f",c/b);
}
else

{dt=b*b-4*a*c;
if(dt==0) printf("\n phuong trinh co nghiem kep x1= x2 = %f",-b/(2*a));
else if(dt>0) printf("\n phuong trinh co hai nghiem x1=%f, x2=%f",-b-sqrt(dt)/(2*a),-b+sqrt(dt)/
(2*a));
else printf("\n Phuong trinh co hai nghiem phuc la\n x1= %f - %f*i, x2= %f + %f*i",-b/
(2*a),sqrt(fabs(dt))/(2*a),-b/(2*a),sqrt(fabs(dt))/(2*a));}


getch();
}
Đề 12:
Viết 1 chương trình thực hiện các cv sau:
a. Nhập 1 số nguyên N (0b. In ra màn hình các số hoàn thiện trong dãy trong khoang 0 đến N.
c. Tính tổng các số vừa tìm được.
Chú ý: sv kiểm tra N bằng do…while. Số hoàn thiện là số nguyên dương mà tổng giá trị các
ước bằng 2 lần số đó.
#include<stdio.h>
#include<conio.h>
main()
{
int N,i,j,S,S1,tong=0,a[100],k=0;
do
{
printf("\n Nhap vao so nguyen N(0scanf("%d",&N);
if(N<=0||N>=1000)
printf("\n So ban nhap khong dung yeu cau, hay nhap lai!");
}
while(N<=0||N>=1000);

printf("\n Cac so hoan thien trong khoang tu 0 den N la: ");
for(i=1;i{
S=0;
for(j=1;j<=i;j++)
{
if(i%j==0)
{
S+=j;
}
}
if(S==2*i)
{
printf("%5d",i);
tong+=S;
}
}
printf("\n Tong cac so hoan thien trong khoang tu 0 den N la %d",tong/2);


getch();
return 0;
}
Đề 13
Viết 1 chương trình thực hiện các cv sau:
a. Nhập 1 số nguyên N (0b. In ra màn hình số nguyên tố trong khoảng 0 đến N.
c. Tính tổng các số nguyên tố vừa tìm được và hiện kq ra màn hình.

Chú ý: sv kiểm tra N bằng do…while.

#include<stdio.h>
#include<conio.h>
int main()
{
int n,i,j,dem,s=0;
do{printf("nhap so nguyen n = ");
scanf("%d",&n);
if(n<=0||n>=200)
{printf("so khong hop le.vui long nhap lai!\n");
}
}while(n<=0||n>=200);
if(n==1||n==2)
{printf("khong co so nguyen to nao trong khoang 0 den %d",n);
}
else
{
printf("\ncac so nguyen to trong khoang tu 0 den %d la: ",n);
for(i=2;i{dem=0;
for(j=2;j{
if(i%j==0)
{
dem++;}}
if(dem==1){
printf("%4d",i);
s+=i;
}}
printf("\ntong cac so nguyen to la: %d",s);}
getch();

}




×