Tải bản đầy đủ (.doc) (47 trang)

Tài liệu lập trinh C - Đầy đủ

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 (1.47 MB, 47 trang )

Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
PHẦN 1
Câu 1.1: Viết hàm tính tổng s = 1 + 3 + 5 + … + (2*n + 1), với n nguyên dương. Viết chương
trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình
tổng tương ứng.
#include <stdio.h>
#include <conio.h>
int tong (int n)
{
int i, s=0;
for (i=0;i<=n;i++)
s+=(2*i+1);
return s;
}
void main()
{
int n,s;
clrscr();
nhap: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap;
s = tong(n);
printf("Tong la: s = %d",s);
getch();
}
Câu 1.2: Viết hàm tính giai thừa của một số nguyên không âm. Viết chương trình nhập vào
từ bàn phím số nguyên dương n, áp dụng hàm trên in ra màn hình giai thừa của n.
#include <stdio.h>
#include <conio.h>
unsigned long int giai_thua (int n)
{
int i, gt=1;


for (i=1;i<=n;i++)
gt*=i;
return gt;
}
void main()
{
int n;
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
unsigned long int gt;
clrscr();
nhap: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap;
gt = giai_thua(n);
printf("Giai thua cua %d la: gt[%d] = %d",n,n,gt);
getch();
}
Câu 1.3: Viết hàm đổi một số nguyên không âm thành xâu nhị phân. Viết chương trình nhập
vào từ bàn phím số nguyên không âm n, áp dụng hàm trên in ra màn hình xâu nhị phân
tương ứng.
#include <stdio.h>
#include <conio.h>
int np(int n)
{
int i,m, snp;
m=128;
for(i=0; i<=7; i++)
{snp= n/m;
printf("%d",snp) ;
n = n- snp*m;
m= m/2;

}
return snp;}
void main()
{
int n;
printf("Moi ban nhap N="); scanf("%d", &n);
np(n);
getch();
}
Câu 1.4: Viết hàm tính tổng s = 2 + 4 + 6 + … + 2*n, với n nguyên dương. Viết chương trình
nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng
tương ứng.
#include <stdio.h>
#include <conio.h>
int tong (int n)
{
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
int i, s=0;
for (i=1;i<=n;i++)
s+=(2*i);
return s;
}
void main()
{
int n,s;
clrscr();
nhap: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap;
s = tong(n);
printf("Tong la: s = %d",s);

getch();
}
Câu 1.5: Viết hàm đổi một số nguyên không âm thành xâu Hecxa. Viết chương trình nhập
vào từ bàn phím số nguyên không âm n, áp dụng hàm trên tìm và in ra màn hình xâu Hecxa
tương ứng.
#include <conio.h>
#include <stdio.h>
void hexa(int n)
{int i=0,j=0;
int a[20];
while (n!=0)
{a[j]=n%16;n=n/16;j++;}
for(i=j;i>=0;i )
{if (a[i]<10) printf("%d",a[i]);
else
switch (a[i])
{case 10: printf("A");break;
case 11: printf("B");break;
case 12: printf("C");break;
case 13: printf("D");break;
case 14: printf("E");break;
case 15: printf("F");break;
}
}
}
void main()
{clrscr();
int n;
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
tiep:printf("\nBan hay nhap so can chuyen doi: ");

scanf("%d",&n);
if (n<0) goto tiep;
printf("\n\nMa Hexa cua so vua nhap la: ");
printf("\n\n\t\t");
hexa(n);
printf("\n\nChuc vui. Copyright Hiro ^^");
getch();
}
Câu 1.6: Viết hàm tính tổng s = 13 + 23 + + n3, với n nguyên dương. Viết chương trình
nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng
tương ứng
#include <stdio.h>
#include <conio.h>
#include <math.h>
int tong (int n)
{
int i, s=0;
for (i=1;i<=n;i++)
s+=i*i*i;
return s;
}
void main()
{
int n,s;
clrscr();
nhap: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap;
s = tong(n);
printf("Tong la: s = %d",s);
getch();

}
Câu 1.7: Viết hàm kiểm tra tính nguyên tố của một số nguyên dương. Viết chương trình
nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên hãy cho biết n có phải là số
nguyên tố hay không?
#include <stdio.h>
#include <conio.h>
#include <math.h>
int so_ngto (int n)
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
{
int i,kt=1;
if (n==1) kt=0;
for (i=2;i<(int)(n/2);i++){
if (n%i == 0) return kt=0;
break;
}
return kt;
}
void main()
{
int n;
clrscr();
nhap: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap;
if (so_ngto(n) == 1) printf("So %d la so nguyen to!",n);
else printf("So %d khong phai la so nguyen to!",n);
getch();
}
Câu 1.8: Viết hàm tính tổng s = 1*2*3 + 2*3*4 + + n*(n+1)*(n+2), với n nguyên dương.
Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra

màn hình tổng tương ứng.
#include <stdio.h>
#include <conio.h>
#include <math.h>
int tong (int n)
{
int i, s=0;
for (i=1;i<=n;i++)
s+=i*(i+1)*(i+2);
return s;
}
void main()
{
int n,s;
clrscr();
nhap: printf("Nhap n: n = "); scanf("%d",&n);
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
if (n<=0) goto nhap;
s = tong(n);
printf("Tong la: s = %d",s);
getch();
}
Câu 1.9: Viết hàm kiểm tra tính hoàn thiện của một số nguyên dương. Viết chương trình
nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên thông báo ra màn hình số n có
phải là số hoàn thiện hay không?
#include <stdio.h>
#include <conio.h>
int so_hoanthien (int n)
{
int i,s=0;

for (i=1;i<=(n/2);i++)
if (n%i == 0)
s+=i;
if (s==n) return 1;
return 0;
}
void main()
{
int n;
clrscr();
nhap: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap;
if (so_hoanthien(n) == 1) printf("So %d la so hoan
thien!",n);
else printf("So %d khong phai la so hoan thien!",n);
getch();
}
Câu 1.10: Viết hàm tìm số bé nhất của 3 số thực. Viết chương trình nhập vào từ bàn phím 3
số thực x, y, z, áp dụng hàm trên tìm và in ra màn hình số bé nhất của 3 số vừa nhập.
Câu 1.11: Viết hàm giải và biện luận phương trình bậc hai ax
2
+ bx + c = 0. Viết chương
trình nhập vào từ bàn phím ba số thực a, b, c, áp dụng hàm trên cho biết kết quả giải
phương trình bậc hai với ba hệ số a, b, c vừa nhập
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
#include <stdio.h>
#include <conio.h>
#include <math.h>
void giai_ptb2(float a, float b, float c)
{

float delta;
if (a!=0) {
delta = b*b - 4*a*c;
if (delta>0)
printf("Phuong trinh co 2 nghiem thuc phan biet: x1 =
%5.2f, x2 = %5.2f",(-b-sqrt(delta))/(2*a),(-b+sqrt(delta))/(2*a));
else if (delta==0)
printf("Phuong trinh co 2 nghiem thuc chung: x1 = x2
= %5.2f",(-b)/(2*a));
else printf("Phuong trinh khong co nghiem so thuc.");
}
else if (b!=0)
printf("Phuong trinh co mot nghiem thuc: x = %5.2f",-
c/b);
else if (c==0)
printf("Phuong trinh co vo so nghiem thuc.");
else
printf("Phuong trinh khong co nghiem so thuc.");
}
void main()
{
float a,b,c;
clrscr();
printf("Nhap a: a = "); scanf("%f",&a);
printf("Nhap b: b = "); scanf("%f",&b);
printf("Nhap c: c = "); scanf("%f",&c);
giai_ptb2(a,b,c);
getch();
}
//nuyen bui hau

#include <stdio.h>
#include <conio.h>
#include <math.h>
void bh(float a, float b,float c)
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
{
float dt;
if (a!=0)
{
dt = b*b-4*a*c;
if (dt>0) printf("PT co 2 nghiem phan biet: x1=%f x2=%f",
(-b-sqrt(dt))/2/a,(-b+sqrt(dt))/2/a );
if (dt == 0) printf("PT co nghiem kep x= %f", -b/2/a);
if (dt <0) printf("PT VN");
}
else
if (b!=0) printf("Ngiem duy nhat: x= %f",-c/b);
else if (c!=0) printf("Vo li");
else printf("Vo so nghiem");
}
void main()
{ clrscr();
float a,b,c;
printf("\nNhap 3 so: "); scanf("%f%f%f", &a, &b, &c);
bh(a,b,c);
getch();}
Câu 1.12: Viết hàm kiểu int kiểm tra xem 3 số thực có thể lập thành 3 cạnh của một tam giác
hay không? Viết chương trình nhập vào từ bàn phím 3 số thực a, b, c, áp dụng hàm trên
thông báo ra màn hình 3 số vừa nhập có tạo thành 3 cạnh của một tam giác hay không?
#include <stdio.h>

#include <conio.h>
int tg(int a, int b, int c)
{
int kt =1;
if ((a+b <= c) || (a+c <= b) || (b+c <= a)) return kt =0;
return kt;
}
void main()
{ clrscr();
int a, b,c;
printf("\nMoi ban nhap 3so can kt: "); scanf("%d%d%d", &a,
&b,&c);
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
if (tg(a,b,c) == 1) printf ("3 so %d %d %d lap thanh 3 canh
cua tam giac", a,b,c);
else printf("3 so %d %d %d khong lap thanh 3 canh cua tam
giac", a,b,c);
getch();
}
Câu 1.13: Viết hàm đếm số từ trong một xâu ký tự chuẩn (xâu chuẩn theo nghĩa các từ trong
xâu được ngăn cách bởi một dấu cách trống). Viết chương trình nhập vào từ bàn phím một
xâu ký tự chuẩn s, áp dụng hàm trên thông báo ra màn hình số từ của xâu.
#include <stdio.h>
#include <conio.h>
int sotu(char *s)
{
int i=0,n=0;
while (s[i]!='\0') {
if (s[i]==' ') n++;
i++;

}
return n+1;
}
void main()
{
char *s;
clrscr();
printf("Nhap vao mot xau ki tu: ");
gets(s);
printf("So tu trong xau vua nhap la: %d",sotu(s));
getch();
}
Câu 1.14: Viết hàm tính số fibonaxi thứ n. Viết chương trình nhập vào từ bàn phím số
nguyên dương n. Áp dụng hàm trên tìm và in ra màn hình số fibonaxi tương ứng.
#include <stdio.h>
#include <conio.h>
int so_fibonaxi (int n)
{
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
if ((n==1) || (n==2)) return 1;
return so_fibonaxi(n-1) + so_fibonaxi(n-2);
}
void main()
{
int n,f;
clrscr();
nhap: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap;
f = so_fibonaxi(n);
printf("So fibonaxi thu %d la: %d",n,f);

getch();
}
Câu 1.15: Viết hàm có kiểu void nhằm đổi chỗ giá trị hai biến thực cho nhau. Viết chương
trình nhập vào từ bàn phím hai số thực x, y, áp dụng hàm trên để đổi chỗ giá trị hai biến x, y
cho nhau. In ra màn hình giá trị của x và y trước và sau khi đổi chỗ.
#include <stdio.h>
#include <conio.h>
void doicho(float *x, float *y)
{
float temp;
temp = *x;
*x = *y;
*y = temp;
}
void main()
{
float a,b;
clrscr();
printf("Nhap so thuc a: a = "); scanf("%f",&a);
printf("Nhap so thuc b: b = "); scanf("%f",&b);
printf("\n\n\nTruoc khi doi cho.\n\n\ta = %4.2f\n\tb =
%4.2f",a,b);
doicho(&a,&b);
printf("\n\n\nSau khi doi cho.\n\n\ta = %4.2f\n\tb =
%4.2f",a,b);
getch();
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
Câu 1.16: Viết hàm tìm ước chung lớn nhất của 2 số nguyên dương. Viết chương trình nhập
vào từ bàn phím 2 số nguyên dương a và b, áp dụng hàm trên tìm và in ra màn hình ước

chung lớn nhất của chúng
#include <stdio.h>
#include <conio.h>
#include <math.h>
int ucln(int x, int y)
{
x = abs(x);
y = abs(y);
if (x==y) return x;
if (x>y) return ucln(x-y,y);
return ucln(x,y-x);
}
void main()
{
int a,b,c;
clrscr();
nhap: printf("Nhap a: a = "); scanf("%d",&a);
printf("Nhap b: b = "); scanf("%d",&b);
if ((a<=0) || (b<=0)) goto nhap;
c = ucln(a,b);
printf("Uoc chung lon nhat cua 2 so %d va %d la: %d",a,b,c);
getch();
}
Câu 1.17: Viết hàm tính độ dài xâu ký tự (không sử dụng hàm chuẩn strlen). Viết chương
trình nhập vào từ bàn phím xâu ký tự s, áp dụng hàm trên in ra màn hình độ dài của xâu
vừa nhập
#include <stdio.h>
#include <conio.h>
int do_dai_xau(char *s)
{

int i=0;
while (s[i]!='\0') i++;
return i;
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
void main()
{
char *s;
clrscr();
printf("Nhap vao mot xau ki tu: ");
gets(s);
printf("Do dai xau vua nhap la: %d",do_dai_xau(s));
getch();
}
Câu 1.18: Viết hàm đếm số chữ cái in hoa trong một xâu ký tự. Viết chương trình nhập vào
từ bàn phím xâu ký tự s, áp dụng hàm trên cho biết trong xâu s có bao nhiêu chữ in hoa.
#include <stdio.h>
#include <conio.h>
int so_kytu_hoa(char *s)
{
int i=0,n=0;
while (s[i]!='\0') {
if ((s[i]>='A') && (s[i]<='Z')) n++;
i++;
}
return n;
}
void main()
{
char *s;

clrscr();
printf("Nhap vao mot xau ki tu: ");
gets(s);
printf("So ky tu hoa trong xau vua nhap la:
%d",so_kytu_hoa(s));
getch();
}
Câu 1.19: Viết hàm đổi các chữ cái in hoa của một xâu ký tự thành chữ cái in thường. Viết
chương trình nhập vào từ bàn phím xâu ký tự s, áp dụng hàm trên đổi các chữ cái in hoa của
xâu s thành chữ cái in thường. In ra màn hình xâu trước và sau khi đổi.
#include <stdio.h>
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
#include <conio.h>
#include <ctype.h>
void doi_kytu(char *s)
{
int i=0;
while (s[i]!='\0') {
s[i] = s[i]+'a'-'A';
i++;
}
s[i] = '\0';
}
void main()
{
char *s;
clrscr();
printf("Nhap vao mot xau ki tu: ");
gets(s);
printf("\nXau ban dau: \n\t");

puts(s);
doi_kytu(s);
printf("\nXau sau khi chuyen doi: \n\t");
puts(s);
getch();
}
Câu 1.20: Viết hàm giải và biện luận phương trình bậc nhất ax + b = 0. Viết chương trình
nhập vào từ bàn phím hai số thực a, b, áp dụng hàm trên cho biết kết quả giải phương trình
bậc nhất với hai hệ số a, b vừa nhập.
#include <stdio.h>
#include <conio.h>
void giai_ptb1(float a, float b)
{
if (a!=0) printf("Phuong trinh co mot nghiem: x = %5.2f",-
b/a);
else if (b==0) printf("Phuong trinh co vo so nghiem thuc.");
else printf("Phuong trinh vo nghiem.");
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
void main()
{
float a,b;
clrscr();
printf("Nhap a: a = "); scanf("%f",&a);
printf("Nhap b: b = "); scanf("%f",&b);
giai_ptb1(a,b);
getch();
}
PHẦN 2
Câu 2.1: Viết chương trình nhập một mảng một chiều a gồm n số thực. Hãy tính và in ra

màn hình trung bình cộng của các phần tử trong mảng.
#include <stdio.h>
#include <conio.h>
void nhap_mang(float A[], int n)
{
int i;
for (i=0;i<n;i++) {
printf("A[%d] = ",i);
scanf("%f",&A[i]);
}
}
void in_mang(float A[], int n)
{
int i;
for (i=0;i<n;i++) printf("%6.2f",A[i]);
}
float tb_cong(float A[], int n)
{
int i;
float s=0;
for (i=0;i<n;i++)
s+=A[i];
return s/n;
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
void main()
{
float A[100];
int n;
clrscr();

nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("Nhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
printf("\n\nTrung binh cong cua mang vua nhap la:
%5.2f",tb_cong(A,n));
getch();
}
Câu 2.2: Viết chương trình nhập một mảng một chiều n số nguyên. Sắp xếp mảng theo thứ
tự tăng dần. In ra màn hình mảng trước và sau khi sắp xếp
#include <stdio.h>
#include <conio.h>
void nhap_mang(int A[], int n)
{
int i;
for (i=0;i<n;i++) {
printf("A[%d] = ",i);
scanf("%d",&A[i]);
}
}
void in_mang(int A[], int n)
{
int i;
for (i=0;i<n;i++) printf("%6d",A[i]);
}
void sap_xep(int A[], int n)
{
int i,j,temp;

for (i=0;i<n-1;i++)
for (j=i;j<n;j++)
if (A[i]>A[j]) {
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
void main()
{
int A[100];
int n;
clrscr();
nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("\nNhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
sap_xep(A,n);
printf("\n\nMang sau khi sap xep la:\n\n");
in_mang(A,n);
getch();
}
Câu 2.3: Viết chương trình nhập một mảng một chiều n số thực. Sắp xếp mảng theo thứ tự
giảm dần. In ra màn hình mảng trước và sau khi sắp xếp
#include <stdio.h>
#include <conio.h>
void nhap_mang(float A[], int n)

{
int i;
for (i=0;i<n;i++) {
printf("A[%d] = ",i);
scanf("%f",&A[i]);
}
}
void in_mang(float A[], int n)
{
int i;
for (i=0;i<n;i++) printf("%6.2f",A[i]);
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
void sap_xep(float A[], int n)
{
int i,j;
float temp;
for (i=0;i<n-1;i++)
for (j=i;j<n;j++)
if (A[i]<A[j]) {
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
void main()
{
float A[100];
int n;
clrscr();

nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("\nNhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
sap_xep(A,n);
printf("\n\nMang sau khi sap xep la:\n\n");
in_mang(A,n);
getch();
}
Câu 2.4: Viết chương trình nhập một mảng một chiều n số thực. Đếm và thông báo ra màn
hình trong mảng có bao nhiêu phần tử âm
#include <stdio.h>
#include <conio.h>
void nhap_mang(float A[], int n)
{
int i;
for (i=0;i<n;i++) {
printf("A[%d] = ",i);
scanf("%f",&A[i]);
}
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
void in_mang(float A[], int n)
{
int i;
for (i=0;i<n;i++) printf("%6.2f",A[i]);
}
int so_pt_am(float A[], int n)

{
int i,s=0;
for (i=0;i<n;i++)
if (A[i]<0) s++;
return s;
}
void main()
{
float A[100];
int n;
clrscr();
nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("Nhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
printf("\n\nSo phan tu am cua mang la: %d",so_pt_am(A,n));
getch();
Câu 2.5: Viết chương trình nhập một mảng một chiều n số thực. Đếm và thông báo ra màn
hình trong mảng có bao nhiêu phần tử dương.
#include <stdio.h>
#include <conio.h>
void nhap_mang(float A[], int n)
{
int i;
for (i=0;i<n;i++) {
printf("A[%d] = ",i);
scanf("%f",&A[i]);
}

}
void in_mang(float A[], int n)
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
{
int i;
for (i=0;i<n;i++) printf("%6.2f",A[i]);
}
int so_pt_duong(float A[], int n)
{
int i,s=0;
for (i=0;i<n;i++)
if (A[i]>0) s++;
return s;
}
void main()
{
float A[100];
int n;
clrscr();
nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("Nhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
printf("\n\nSo phan tu duong cua mang la:
%d",so_pt_duong(A,n));
getch();
}
Câu 2.6: Viết chương trình nhập một mảng một chiều n số thực. Tìm và in ra màn hình giá

trị lớn nhất của mảng
#include <stdio.h>
#include <conio.h>
void nhap_mang(float A[], int n)
{
int i;
for (i=0;i<n;i++) {
printf("A[%d] = ",i);
scanf("%f",&A[i]);
}
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
void in_mang(float A[], int n)
{
int i;
for (i=0;i<n;i++) printf("%6.2f",A[i]);
}
float max(float A[], int n)
{
int i;
float s;
for (i=0;i<n;i++)
if (A[i]>s) s=A[i];
return s;
}
void main()
{
float A[100];
int n;
clrscr();

nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("Nhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
printf("\n\nGia tri lon nhat cua mang la: %6.2f",max(A,n));
getch();
}
Câu 2.7: Viết chương trình nhập một mảng một chiều gồm n số nguyên. Tính và in ra màn
hình tổng của các phần tử trong mảng.
#include <stdio.h>
#include <conio.h>
void nhap_mang(int A[], int n)
{
int i;
for (i=0;i<n;i++) {
printf("A[%d] = ",i);
scanf("%d",&A[i]);
}
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
void in_mang(int A[], int n)
{
int i;
for (i=0;i<n;i++) printf("%6d",A[i]);
}
int tong(int A[], int n)
{
int i;

int s=0;
for (i=0;i<n;i++)
s+=A[i];
return s;
}
void main()
{
int A[100];
int n;
clrscr();
nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("Nhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
printf("\n\nTong cac phan tu cua mang vua nhap la:
%6d",tong(A,n));
getch();
}
Câu 2.8: Viết chương trình nhập một mảng một chiều gồm n số nguyên dương. Tính và
thông báo ra màn hình tổng các phần tử có giá trị chẵn trong mảng.
#include <stdio.h>
#include <conio.h>
void nhap_mang(int A[], int n)
{
int i;
for (i=0;i<n;i++) {
nhap: printf("A[%d] = ",i);
scanf("%d",&A[i]);

if (A[i]<=0) goto nhap;
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
}
void in_mang(int A[], int n)
{
int i;
for (i=0;i<n;i++) printf("%6d",A[i]);
}
void tim_pt_chan(int A[], int n)
{
int i;
for (i=0;i<n;i++)
if (A[i]%2==0) printf("%6d",A[i]);
}
void main()
{
int A[100];
int n;
clrscr();
nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("Nhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
printf("\n\nCac phan tu chan trong mang la:\n");
tim_pt_chan(A,n);
getch();
}

Câu 2.9: Viết chương trình nhập một mảng một chiều gồm n số nguyên dương. Tính và
thông báo ra màn hình tổng các phần tử có giá trị lẻ trong mảng.
#include <stdio.h>
#include <conio.h>
void nhap_mang(int A[], int n)
{
int i;
for (i=0;i<n;i++) {
nhap: printf("A[%d] = ",i);
scanf("%d",&A[i]);
if (A[i]<=0) goto nhap;
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
}
void in_mang(int A[], int n)
{
int i;
for (i=0;i<n;i++) printf("%6d",A[i]);
}
void tim_pt_le(int A[], int n)
{
int i;
for (i=0;i<n;i++)
if (A[i]%2!=0) printf("%6d",A[i]);
}
void main()
{
int A[100];
int n;
clrscr();

nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
if (n<=0) goto nhap_n;
printf("Nhap so lieu vao mang A:\n\n");
nhap_mang(A,n);
printf("Mang vua nhap la: \n\n");
in_mang(A,n);
printf("\n\nCac phan tu le trong mang la:\n");
tim_pt_le(A,n);
getch();
}
Câu 2.10: Viết chương trình nhập và xem một mảng một chiều n số nguyên bằng cách sử
dụng con trỏ.
#include <stdio.h>
#include <conio.h>
void main()
{int a[5], i,*p;
p=a;
printf("Nhap mang theo con tro: \n");
for(i=0;i<5;i++)
{printf("Nhap phan tu thu %2d= ",i);
scanf("%d",p); p++;
}
printf("\nMang vua nhap la:");
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
p-=5;
for(i=0;i<5;i++)
printf("%5d",*(p+i));
getch();
}
Câu 2.11: Viết chương nhập vào một mảng hai chiều anxm gồm các số nguyên. Hãy in ra

màn hình dạng chuyển vị của ma trận a.
#include <stdio.h>
#include <conio.h>
#define N 100
#define M 100
void nhap_mang(int A[N][M], int n, int m)
{
int i,j;
for (i=0;i<n;i++)
for (j=0;j<m;j++) {
printf("A[%d][%d] = ",i,j);
scanf("%d",&A[i][j]);
}
}
void in_mang(int A[N][M], int n, int m)
{
int i,j;
for (i=0;i<n;i++){
printf("\n\n");
for (j=0;j<m;j++)
printf("%5d",A[i][j]);
}
}
void chuyen_vi(int A[N][M], int n, int m)
{
int i,j;
for (j=0;j<m;j++){
printf("\n\n");
for (i=0;i<n;i++)
printf("%5d",A[i][j]);

}
}
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh
void main()
{
int A[N][M];
int n,m;
clrscr();
nhap_n: printf("Nhap n: n = "); scanf("%d",&n);
printf("Nhap m: m = "); scanf("%d",&m);
if (n<=0 || m<=0) goto nhap_n;
printf("Nhap so lieu vao mang A:\n\n");
nhap_mang(A,n,m);
printf("\n\nMa tran vua nhap la: \n");
in_mang(A,n,m);
printf("\n\nMa tran chuyen vi cua ma tran A la: ");
chuyen_vi(A,n,m);
getch();
}
Câu 2.12: Viết chương trình nhập hai ma trận anxm, bnxm gồm các số nguyên. Hãy tính và
in ra màn hình ma trận cnxm là tổng của hai ma trận trên.
#include <stdio.h>
#include <conio.h>
#define M 100
#define N 100
void nhap(int a[M][N], int m, int n)
{
int i, j, tg;
printf("Moi ban nhap mang:\n") ;
for(i=0; i<m; i++)

for(j=0; j<n; j++)
{
printf("PT[%d][%d]=", i,j);
scanf("%d", &a[i][j]);
}}
void in(int a[M][N], int m, int n)
{
int i,j;
// printf("\nMang vua nhap la:");
for(i=0; i<m; i++)
{printf("\n\n");
for(j=0; j<n; j++)
printf("%5d", a[i][j]);}
printf("\n");
}

×