1. 题目一:编写一个C程序,实现一个简单的计算器,能够计算两个整数的加减乘除运算。
#include <stdio.h>
int main() {
int a, b;
printf("请输入两个整数(用空格分隔):");
scanf("%d %d", &a, &b);
printf("加法:%d + %d = %d\n", a, b, a + b);
printf("减法:%d - %d = %d\n", a, b, a - b);
printf("乘法:%d * %d = %d\n", a, b, a * b);
printf("除法:%d / %d = %d\n", a, b, a / b);
return 0;
}
2. 题目二:编写一个C程序,实现一个判断一个整数是否为偶数的函数。
#include <stdio.h>
int is_even(int num) {
return num % 2 == 0;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (is_even(num)) {
printf("%d 是偶数。\n", num);
} else {
printf("%d 是奇数。\n", num);
}
return 0;
}
3. 题目三:编写一个C程序,实现一个判断一个字符串是否为回文的函数。
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str) {
int left = 0, right = strlen(str) - 1;
while (left < right) {
if (str[left] != str[right]) {
return 0;
}
left++;
right--;
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (is_palindrome(str)) {
printf("%s 是回文。\n", str);
} else {
printf("%s 不是回文。\n", str);
}
return 0;
}
4. 题目四:编写一个C程序,实现一个计算两个整数最大公约数的函数。
#include <stdio.h>
int gcd(int a, int b) {
while (b != 0) {
int t = b;
b = a % b;
a = t;
}
return a;
}
int main() {
int a, b;
printf("请输入两个整数(用空格分隔):");
scanf("%d %d", &a, &b);
printf("最大公约数:%d\n", gcd(a, b));
return 0;
}
5. 题目五:编写一个C程序,实现一个判断一个整数是否为素数的函数。
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (is_prime(num)) {
printf("%d 是素数。\n", num);
} else {
printf("%d 不是素数。\n", num);
}
return 0;
}
以上是C语言程序设计第5章课后习题的答案详解,希望对你有所帮助。
