Q1:输入三个数求最大的数、最小数
补充题目:求出次大数。
#include <stdio.h>
int main() {
int a, b, c;
int max;
// 输入三个整数
scanf("%d %d %d", &a, &b, &c);
// 比较三个数,找出最大的数
max = a; // 假设a是最大的
if (b > max) {
max = b; // 如果b更大,更新max为b
}
if (c > max) {
max = c; // 如果c更大,更新max为c
}
// 输出最大的数
printf("最大的数是:%d\n", max);
return 0;
}
——————————————————————————————————————————
#include <stdio.h>
int main() {
int a, b, c;
int min;
// 输入三个整数
printf("请输入三个整数,用空格隔开: ");
scanf("%d %d %d", &a, &b, &c);
// 比较三个数,找出最小的数
min = a; // 假设a是最小的
if (b < min) {
min = b; // 如果b更小,更新min为b
}
if (c < min) {
min = c; // 如果c更小,更新min为c
}
// 输出最小的数
printf("最小的数是:%d\n", min);
return 0;
}
Q2:输入一个数,判断是不是素数
#include <stdio.h>
#include <math.h>
int main() {
int num, i;
scanf("%d", &num);
if (num <= 1) {
printf("%d不是素数。\n", num);
} else {
for (i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
printf("%d不是素数。\n", num);
return 0; // 如果找到了因子,则提前结束程序
}
}
printf("%d是素数。\n", num); // 如果没有找到因子,则为素数
}
return 0;
}
Q3:输入两个数,求最大公约数和最小公倍数
#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 num1, num2;
scanf("%d %d", &num1, &num2);
// 计算最大公约数
int max_gcd = gcd(num1, num2);
// 计算最小公倍数
int min_lcm = (num1 * num2) / max_gcd;
// 输出结果
printf("最大公约数是:%d\n", max_gcd);
printf("最小公倍数是:%d\n", min_lcm);
return 0;
}
Q4:输入第一个数和第二个数,计算第10个(例子)斐波那契数列
#include <stdio.h>
int main() {
int f1, f2, f3, i;
// 输入前两个数
scanf("%d%d", &f1, &f2);
// 计算第十个数
for (i = 3; i <= 10; i++) {
f3 = f1 + f2; // 计算下一个数
f1 = f2; // 更新f1
f2 = f3; // 更新f2
}
// 输出第十个数
printf("%d\n", f3);
return 0;
}
Q5:一元二次方程( ax^2 + bx + c = 0 ) 输入系数abc。判断是否有实数根,有的话求出根
#include <stdio.h>
#include <math.h> // 引入数学库,因为我们需要使用sqrt函数
int main() {
double a, b, c, delta, root1, root2;
// 输入系数a, b和c
scanf("%lf%lf%lf", &a, &b, &c);
// 计算判别式delta
delta = b * b - 4 * a * c;
// 根据delta的值判断根的情况
if (delta > 0) {
// 两个不相等的实数根
root1 = (-b + sqrt(delta)) / (2 * a);
root2 = (-b - sqrt(delta)) / (2 * a);
printf(" %f %f\n", root1, root2);
} else if (delta == 0) {
// 两个相等的实数根
root1 = root2 = -b / (2 * a);
printf("%f", root1);
} else {
// 没有实数根
printf("没有实数根");
}
return 0;
}