Đề kiểm tra

Post date: Dec 7, 2011 7:50:57 AM

  1. Viết chương trình nhập họ tên, mã số sinh viên. In ra màn hình các thông tin sau:

******************************************

Ho va ten: <họ tên>

MSSV: <Mã số sinh viên>

Lớp: KT200704-G

******************************************

Chon cac cau hoi sau:

1. Cau hoi 2

2. Cau hoi 3

3. Cau hoi 4

4. Ket thuc

Chon: _

Nếu người dùng nhập số 1: Thực hiện câu hỏi thứ 2

Nếu người dùng nhập số 2: Thực hiện câu hỏi thứ 3

Nếu người dùng nhập số 3: Thực hiện câu hỏi thứ 4

Nếu người dùng nhập số 4: Thoát khỏi chương trình

  1. Tính giai thừa của một số nguyên.
  2. Đếm số chữ số và tính tổng các chữ số trong 1 số nguyên

Ví dụ:

Nhap mot so nguyen: 152_

So nguyen vua nhap co 3 chu so

Tong cac chu so: 8

  1. Nhập vào một dãy n số nguyên với n là số chẳn.
    1. In dãy số vừa nhập
    2. In các số không chia hết cho 3 có trong dãy
    3. Tính trung bình dãy số
    4. Sắp xếp dãy số theo thứ tự tăng dần.

Hướng dẫn giải:

#include <stdio.h>

#include <stdlib.h>

main()

{

int choice,gt,n,i,s,x[20],j,tam;

int tong=0,dem=0,a=0;

printf("***********************************");

printf("\nHo va ten: .............");

printf("\nMSSV: ..........");

printf("\nLop:...............");

printf("\n********************************");

printf("\nChon cac cau hoi sau: ");

printf("\n1. Cau hoi 2");

printf("\n2. Cau hoi 3");

printf("\n3. Cau hoi 4");

printf("\n4. Thoat khoi chuong trinh");

printf("\nChon: ");

scanf("%d",&choice);

if(choice==1)

//Tính giai thừa của một số nguyên.

{

printf("\nNhap so can tinh giai thua: ");

scanf("%d",&n);

gt=1;

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

gt=gt*i;

printf("%d! = %d",n,gt);

}

if(choice==2)

//Đếm số chữ số và tính tổng các chữ số trong 1 số nguyên

{

printf("Nhap n: ");

scanf("%d",&n);

while(n!=0)

{

s=n%10;

n=n/10;

dem++;

a=a+s;

}

printf("\n Co %d chu so!\n\n Tong cac so la: %d",dem,a);

}

if(choice==3)

//Nhập vào một dãy n số nguyên với n là số chẳn

{

printf("\nNhap so n: ");

scanf("%d",&n);

if(n%2==0)

//Kiem tra neu n la so chan

{

//in dãy số vừa nhập

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

{

printf("\nSo nguyen thu %d: ",i+1);

scanf("%d",&x[i]);

}

// In day so vua nhap

printf("\nDay so vua nhap la:");

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

printf("\t%d ",x[i]);

//In các số không chia hết cho 3 có trong dãy

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

{

if(x[i]%3!=0)

printf("\n\n %d khong chia het cho 3",x[i]);

}

//Tinh trung binh day so

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

{

tong=tong+x[i];

}

printf("\n\nTrung binh day so la: %.2f",(float)tong/n);

//Sap xep day so theo thu tu tang dan

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

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

if(x[i]>x[j])

{

tam=x[i];

x[i]=x[j];

x[j]=tam;

}

printf("\n\nMang sau khi sap xep\n");

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

printf("%d\t",x[i]);

}

else printf("n phai la so chan!!!\n");

}

if(choice==4)

exit(0);

}