1. 1
C但u 1
Ch畛 c畉n vi畉t khai b叩o c畛a hm.
// Tim gia tri lon nhat
double gtln(double *a, int n);
// Tim diem lon nhat cho mang sinh vien
double diemln(struct SinhVien *a, int n);
// Sap xep mang so nguyen
void sapxep(int *a, int n);
// Ghi mang so thuc xuong tap tin
void ghimang(double *a, int n, char *tentep);
C但u 2
畉u ti棚n ta c畉n s畛 d畛ng c叩c th動 vi畛n
#include "stdio.h"
#include "string.h"
畛 nh畉p s畛 ph畉n t畛 trong kho畉ng, t畛t nh畉t ta d湛ng dowhile
int NhapSoPhanTu() {
int n;
do { printf("Nhap n:"); fflush(stdin); scanf("%d", &n); } while(n<5||n>10);
return n;
}
Nh畉p m畉ng trong tr動畛ng h畛p ny ta kh担ng ph畉i nh畉p s畛 ph畉n t畛 m ta truy畛n vo s畛 ph畉n t畛.
void NhapMang(char a[][30], int n) {
int k;
for(k=0; k<n; k++) {
printf("Nhap chuoi thu %d:", k+1);
fflush(stdin); gets(a[k]);
}
}
T狸m gi叩 tr畛 l畛n nh畉t hay t狸m chu畛i di nh畉t
int TimGTLN(char a[][30], int n) {
int k, m;
m = 0;
for(k=0; k<n; k++) if(m < strlen(a[k]) ) m = strlen(a[k]);
return m;
}
S畉p x畉p m畉ng
void SapXepMang(char a[][30], int n) {
int k, i;
for(i=n; i>1; i--) for(k=0; k<i-1; k++)
if( strcmp(a[k], a[k+1]) > 0 ) {
char t[30];
strcpy(t, a[k]); strcpy(a[k], a[k+1]); strcpy(a[k+1], t);
}
}
2. 2
In m畉ng
void InMang(char a[][30], int n) {
int k;
for(k=0; k<n; k++) printf("%sn", a[k]);
}
Ch動董ng tr狸nh ch鱈nh
void main() {
char a[10][30];
int k = NhapSoPhanTu();
NhapMang(a, k);
printf("nnDo dai lon nhat la %dn", TimGTLN(a, k));
SapXepMang(a, k);
printf("nnSau khi sap xepn");
InMang(a, k);
}
C但u 3
畉u ti棚n ta ph畉i include m畛t vi th動 vi畛n vo. T畛t nh畉t ta n棚n include m畛t s畛 th動 vi畛n quen bi畉t
ph嘆ng khi s畛 d畛ng 畉n.
#include "math.h"
#include "stdio.h"
#include "conio.h"
畛 nh畉p m畉ng, tr動畛c h畉t ta c畉n nh畉p s畛 hng, sau 坦 l s畛 c畛t, r畛i 畉n gi叩 tr畛 c畛a c叩c ph畉n t畛.
Nh動ng do ta c畉n truy畛n s畛 hng v s畛 c畛t ra ngoi, ta khai b叩o th棚m hai bi畉n con tr畛 p v q.
void NhapMang(int a[30][30], int *p, int *q) {
int i, k, hang, cot;
clrscr();
printf("Nhap so hang:"); scanf("%d", &hang); *p = hang;
printf("Nhap so cot:"); scanf("%d", &cot); *q = cot;
for(i=0; i<hang; i++) for(k=0; k<cot; k++) {
printf("Nhap phan tu hang %d cot %d:", i+1, k+1);
scanf("%d", &a[i][k]);
}
getch();
}
畛 in m畉ng, c叩ch t畛t nh畉t l in m畛i hng tr棚n m畛t d嘆ng mn h狸nh. Sau khi in h畉t m畛t d嘆ng, ta d湛ng
i畛u khi畛n "n" 畛 xu畛ng d嘆ng
void InMang(int a[30][30], int hang, int cot) {
int i, k;
clrscr();
for(i=0; i<hang; i++) {
for(k=0; k<cot; k++) printf("%6d", a[i][k]);
printf("n");
}
getch();
}
3. 3
畛 in ra s畛 ch鱈nh ph動董ng, tr動畛c ti棚n ch炭ng ta h達y vi畉t hm ki畛m tra ch鱈nh ph動董ng. 畉u vo c畛a
hm l s畛 th畛c, 畉u ra l m畛t con s畛 cho bi畉t s畛 畉u vo c坦 l ch鱈nh ph動董ng (1) hay kh担ng l ch鱈nh
ph動董ng (0).
int chinhphuong(double x) {
if(x<0) return 0;
x = sqrt(x);
if(x != floor(x)) return 0;
return 1;
}
void InChinhPhuong(int a[30][30], int hang, int cot) {
int i, k;
clrscr();
for(i=0; i<hang; i++) {
for(k=0; k<cot; k++)
if( chinhphuong(a[i][k]) ) printf("%6d", a[i][k]);
else printf("%6c", '*');
printf("n");
}
getch();
}
Tr動畛ng h畛p nguy棚n t畛 hon ton t動董ng t畛 tr動畛ng h畛p ch鱈nh ph動董ng. H畛c sinh t畛 gi畉i tr動畛ng h畛p
ny b畉ng c叩ch vi畉t th棚m hm nguyento
void InNguyenTo(int a[30][30], int hang, int cot) {
//tuong tu
}
畛 in ra t畛ng, ch炭ng ta c畉n t鱈nh t畛ng tr動畛c. G畛i si l t畛ng c畛a hng th畛 i, ch炭ng ta t鱈nh t畛ng si b畉ng
v嘆ng l畉p, sau 坦 in ra si. T動董ng t畛 nh動 v畉y v畛i hng
void InTong(int a[30][30], int hang, int cot) {
int i, k;
clrscr();
for(i=0; i<hang; i++) {
int si = 0;
for(k=0; k<cot; k++) si += a[i][k];
printf("Tong cua hang %d la %dn", i, si);
}
for(k=0; k<cot; k++) {
int sk = 0;
for(i=0; i<hang; i++) sk += a[i][k];
printf("Tong cua cot %d la %dn", k, sk);
}
getch();
}
4. 4
Ch動董ng tr狸nh ch鱈nh g畛i c叩c hm 董n l畉 trong m畛nh 畛 switch. Ch炭ng ta nh畛 s畛 d畛ng break sau
m畛i l畉n g畛i.
void main() {
int sohang, socot; int a[30][30];
int x;
do {
clrscr();
printf("nMAIN MENU");
printf("n 1.Nhap so hang va so cot gia tri mang");
printf("n 2. In mang vua nhap");
printf("n 3. In ra cac phan tu chinh phuong");
printf("n 4. In ra cac phan tu nguyen to");
printf("n 5. In ra tong hang va cot");
printf("n ESC. Thoat khoi chuong trinh");
x = getch();
switch(x) {
case '1':NhapMang(a, &sohang, &socot); break;
case '2':InMang(a, sohang, socot); break;
case '3':InChinhPhuong(a, sohang, socot); break;
case '4':InNguyenTo(a, sohang, socot); break;
case '5':InTong(a, sohang, socot); break;
case 27: return;
} //switch
} while (x!=27);
} //main