Xin chào mừng các bạn đến với blog thủ thuật lập trình của chúng tôi, bài học tiếp theo tôi sẽ giới thiệu cho các bạn về tổng hợp bài tập về hàm trong C, chúng tôi đã sưu tầm, chọn lọc những bài tập có liên quan để các bạn có thể tham khảo để hiểu rỏ hơn về hàm trong C, sau đây là những bài tập liên quan.
- Hiển thị tất cả các số nguyên tố giữa hai Khoảng
- Kiểm tra số nguyên tố trong C
- Kiểm tra số đối xứng trong C
- Kiểm tra xem một số có thể được biểu thị bằng tổng của hai số nguyên tố không
- Tìm tổng các số tự nhiên bằng cách sử dụng đệ quy
- Tính giai thừa của một số bằng cách sử dụng đệ quy
- Tìm USCLN,BSCNN bằng cách sử dụng đệ quy
- Đảo ngược một câu sử dụng đệ quy
- Tính số mũ của một số bằng cách sử dụng đệ quy
- Chuyển đổi số nhị phân thành số thập phân và ngược lại
- Chuyển đổi một số bát phân thành số thập phân và ngược lại
- Chuyển đổi số nhị phân thành bát phân và ngược lại
Và sau đây chúng tôi sẽ giải những bài tập trên, nếu như các bạn có lời giải nào hay hãy comment bên dưới nhé.
Hiện thị tất cả các số nguyên tố giữa 2 khoảng
Để giải được bài toàn này các bạn có thể hiểu rõ về vòng lặp for trong C
#include <stdio.h>
int checkPrimeNumber(int n);
int main() {
int n1, n2, i, flag;
printf("Enter two positive integers: ");
scanf("%d %d", &n1, &n2);
printf("Prime numbers between %d and %d are: ", n1, n2);
for (i = n1 + 1; i < n2; ++i) {
// gắn biến flag cho hàm kiểm tra
flag = checkPrimeNumber(i);
if (flag == 1)
printf("%d ", i);
}
return 0;
}
// hàm do người dùng tự định nghĩa
int checkPrimeNumber(int n) {
int j, flag = 1;
for (j = 2; j <= n / 2; ++j) {
if (n % j == 0) {
flag = 0;
break;
}
}
return flag;
}
Kiểm tra số nguyên tố trong C
Cũng như bài toàn đã giải trên nếu bạn muốn biết cách thực hiện như thế nào thì hãy thao khảo chương trình dưới đây.
#include <stdio.h>
#include <math.h>
int checkPrimeNumber(int n);
int main(){
int n,i;
printf("nhap so nguyen n \n");
scanf("%d",&n);
if(checkPrimeNumber(n) == 1){
printf("%d la so nguyen to",n);
}else{
printf("khong phai la so nguyen to");
}
}
int checkPrimeNumber(int n){
int i, flag = 1, squareRoot;
squareRoot = sqrt(n);
for (i = 2; i <= squareRoot; ++i) {
if (n % i == 0) {
flag = 0;
break;
}
}
return flag;
}
Kiểm tra số đối xứng trong C
#include <math.h>kết quả của chương trình trên:
#include <stdio.h>
int checkArmstrongNumber(int n);
int main() {
int n, flag;
printf("Enter a positive integer: ");
scanf("%d", &n);
flag = checkArmstrongNumber(n);
if (flag == 1)
printf("%d is an Armstrong number.", n);
else
printf("%d is not an Armstrong number.", n);
return 0;
}
int checkArmstrongNumber(int num) {
int originalNum, remainder, n = 0, flag;
double result = 0.0;
for (originalNum = num; originalNum != 0; ++n) {
originalNum /= 10;
}
for (originalNum = num; originalNum != 0; originalNum /= 10) {
remainder = originalNum % 10;
result += pow(remainder, n);
}
if (round(result) == num)
flag = 1;
else
flag = 0;
return flag;
}
Enter a positive integer: 407
407 is an Armstrong number.
Kiểm tra xem một số có thể được biểu thị bằng tổng của hai số nguyên tố không
Trong ví dụ này, bạn sẽ học cách kiểm tra xem một số nguyên được nhập bởi người dùng có thể được biểu thị dưới dạng tổng của hai số nguyên tố của tất cả các kết hợp có thể.
Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình C sau:
#include <stdio.h>
int checkPrime(int n);
int main() {
int n, i, flag = 0;
printf("Enter a positive integer: ");
scanf("%d", &n);
for (i = 2; i <= n / 2; ++i) {
if (checkPrime(i) == 1) {
if (checkPrime(n - i) == 1) {
printf("%d = %d + %d\n", n, i, n - i);
flag = 1;
}
}
}
if (flag == 0)
printf("%d cannot be expressed as the sum of two prime numbers.", n);
return 0;
}
int checkPrime(int n) {
int i, isPrime = 1;
for (i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
isPrime = 0;
break;
}
}
return isPrime;
}
Kết quả
Enter a positive integer: 34
34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 17
Tìm tổng các số tự nhiên bằng cách sử dụng đệ quy
Trong ví dụ này, bạn sẽ học cách tìm tổng các số tự nhiên bằng cách sử dụng hàm đệ quy.
#include <stdio.h>
int addNumbers(int n);
int main() {
int num;
printf("Enter a positive integer: ");
scanf("%d", &num);
printf("Sum = %d", addNumbers(num));
return 0;
}
int addNumbers(int n) {
if (n != 0)
return n + addNumbers(n - 1);
else
return n;
}
Kết quả
Enter a positive integer: 20Còn một số bài tập các bạn có thể tham khảo bài viết sau, mình sẽ giải nếu các bạn cần, hãy comment cho mình nhé.
Sum = 210
Post a Comment
Post a Comment