Professional Documents
Culture Documents
Function là hàm do người lập trình tự tạo để thực hiện một chức năng nào đó, TD:
long long giaithua(int k) {}
là hàm dùng để tính giai thừa của một số k và trả về giá trị giai thừa của K
long long giaithua (int k) { // Giá trị trả về là số nguyên lớn long long
long long gt, i; // long long để khai báo số nguyên lớn
gt=1;
for (i=1; i<=k; i++) gt=gt*i;
return gt; // Trả về giá trị gt tính được
}
#include <stdio.h>
#include <conio.h>
void main(){
clrscr();
int n, i, a[10]; // Sử dụng tối đa 10 số trong dãy
Bài 02.02 – In ra giá trị luỹ thừa 2 của các phần tử trong mảng 1 chiều
Bạn hãy nhập một dãy số nguyên và tính luỹ thừa 2 của từng số trong dãy đó.
(Dãy 1, 4, 7, 5, 2 => In ra 1, 16, 49, 25, 4)
#include <stdio.h>
#include <conio.h>
void main(){
clrscr();
int n, i, a[10];
Procedure (void) cũng tương tự như Function, có thể có đối số, nhưng không giá trị trả về. TD:
void nhandoimang();
void nhandoimang () {
int i;
for (i=1; i<=n; i++) a[i]=a[i]*2;
return;
}
Bài 02.03 – In ra giá trị nhân đôi của các phần tử trong mảng 1 chiều
Bạn hãy nhập một dãy số nguyên và nhân đôi từng số trong dãy đó.
(Dãy 1, 4, 7, 5, 2 => In ra 2, 8, 14, 10, 4)
#include <stdio.h>
#include <conio.h>
int n, i, a[10];
void nhandoimang () {
int i;
for (i=1; i<=n; i++) a[i]=a[i]*2;
return;
}
void main(){
clrscr();
printf("Nhap so phan tu cua day so ");
scanf("%d", &n);
for (i=1; i<=n; i++) {
printf("Nhap so phan tu thu %d ", i);
scanf("%d", &a[i]);
}
printf("Day so da nhap la: \n");
for (i=1; i<=n; i++) {
printf("%5d ", a[i]);
}
printf("\n");
nhandoimang(); // Chú ý nếu không có () thì mảng không được nhân đôi
Bài 02.04 – In ra giá trị nhân 4 của các phần tử trong mảng 1 chiều
Bạn hãy nhập một dãy số nguyên và nhân 4 từng số trong dãy đó. Chỉ được sử dụng void
nhandoimang như trong Bài 02.03. và không sửa lệnh a[i]=a[i]*2 => a[i]=a[i]*4 trong void này
(Dãy 1, 4, 7, 5, 2 => In ra 4, 16, 28, 20, 8)
#include <stdio.h>
#include <conio.h>
#include <math.h> // Dùng để tính sqrt (căn số bậc 2)
int nguyento (int k) {
if (k<2) return 0; // Các số nhỏ hơn 2 không phải số nguyên tố
int i;
for (i=2; i<=int(sqrt(k)); i++) if (k%i==0) return 0; // Thử chia k cho
// 2 đến căn của k nếu chia hết thì không là nguyên tố
return 1; // không chia hết số nào thì là nguyên tố
}
void main(){
int n, i, a[10];
clrscr();
printf("Nhap so phan tu cua day so ");
scanf("%d", &n);
for (i=1; i<=n; i++) {
printf("Nhap so phan tu thu %d ", i);
scanf("%d", &a[i]);
}
printf("Day so da nhap la: \n");
for (i=1; i<=n; i++) {
printf("%5d ", a[i]);
}
printf("\n");
printf("Cac so nguyen to trong day: \n");
for (i=1; i<=n; i++) {
if (nguyento(a[i])==1) printf("%5d ", a[i]);
}
getch();
}