习题一 对三个数进行从大到小的排序。
对三个数进行从大到小的排序。
解题代码:
#include <stdio.h>
int main() {
int a, b, c, temp; // 声明整型变量 a, b, c 和临时变量 temp
scanf("%d%d%d", &a, &b, &c); // 读取用户输入的三个整数并赋值给 a, b, c
// 比较 a 和 b,如果 a 小于 b,则交换它们
if (a < b) {
temp = a;
a = b;
b = temp;
}
// 比较 a 和 c,如果 a 小于 c,则交换它们
if (a < c) {
temp = a;
a = c;
c = temp;
}
// 比较 b 和 c,如果 b 小于 c,则交换它们
if (b < c) {
temp = b;
b = c;
c = temp;
}
printf("三个数从大到小排序为:%d>%d>%d\n", a, b, c); // 输出排序后的结果,从大到小排列
return 0; // 程序结束
}
习题二 计算1到100的和(两种方法)。
计算1到100的和(两种方法)。
解题代码:
##方法一:累加法
int main() {
int sum = 0;
for (int i = 1; i < 101; i++)
{
sum += i;
}
printf("%d\n",sum);
}
##方法二:高斯求和公式
int main() {
int sum = 100 * (100 + 1) / 2; // 采用高斯求和公式计算 1 到 100 的和
printf("%d\n", sum); // 输出结果
return 0; // 程序结束
}
习题三 判断100到200中的素数及其个数。
判断100到200中的素数及其个数。
解题代码:
#include <stdio.h>
#include <math.h> // 包含 math.h 头文件以使用 sqrt 函数
int main() {
int count = 0; // 初始化素数计数器为 0
for (int i = 100; i <= 200; i++) { // 遍历 100 到 200 之间的每个整数
int flag = 1; // 初始化标志变量为 1,假设当前数是素数
for (int j = 2; j <= sqrt(i); j++) { // 从 2 到 sqrt(i) 遍历,检查是否有因数
if (i % j == 0) { // 如果 i 能被 j 整除,则 i 不是素数
flag = 0; // 将标志变量设为 0,表示 i 不是素数
break; // 退出内层循环,因为已确定 i 不是素数
}
}
if (flag == 1) { // 如果标志变量仍为 1,说明 i 是素数
count++; // 素数计数器加 1
printf("数字%d是素数。\n", i); // 输出当前素数
}
}
printf("100-200之间共有%d个素数\n", count); // 输出 100 到 200 之间的素数总数
return 0; // 程序结束
}