输入四个数,判断最小并输出,C语言
时间: 2023-05-12 09:07:34 浏览: 62
的代码该怎么写?
可以使用以下代码实现:
#include <stdio.h>
int main() {
int a, b, c, d, min;
printf("请输入四个数:\n");
scanf("%d %d %d %d", &a, &b, &c, &d);
min = a;
if (b < min) {
min = b;
}
if (c < min) {
min = c;
}
if (d < min) {
min = d;
}
printf("最小值为:%d\n", min);
return 0;
}
相关问题
C语言输入四个整数求其最小数。(用选择结构来实现)
下面是用选择结构实现的C语言代码:
```c
#include <stdio.h>
int main() {
int a, b, c, d, min;
printf("请输入四个整数:\n");
scanf("%d%d%d%d", &a, &b, &c, &d);
min = a; // 先假设a是最小的数
if (b < min) { // 如果b比min小,那么把b赋值给min
min = b;
}
if (c < min) { // 如果c比min小,那么把c赋值给min
min = c;
}
if (d < min) { // 如果d比min小,那么把d赋值给min
min = d;
}
printf("最小的数是:%d\n", min);
return 0;
}
```
首先,我们定义了四个整数变量a、b、c、d和一个min变量,用来存储最小的数。然后,我们通过scanf函数从控制台输入四个整数。
接着,我们假设a是最小的数,然后依次判断b、c、d是否比a小,如果是,就把对应的数赋值给min。最后,我们通过printf函数输出最小的数。
这种用选择结构实现的方法比较简单,但是如果要求最小值的数量增加,代码的长度也会增加,并且不够直观。可以使用其他算法来简化代码,例如用数组来存储输入的数,然后通过循环遍历数组找到最小值。
用C语言编写一个为小学生随机出10道算术题,每题10分,输入答案后,程序自动判断对错,最后给出总分,算术运算中有加,减,乘,除四种运算,得出结果后,求平均值,并把最大数和最小数输出,并用由大到小,由小到大的顺序给结果排序
好的,我可以为您解答这个问题。以下是一个实现上述功能的C语言程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, ans, score = 0, sum = 0, max, min;
int num1, num2, op;
srand((unsigned int)time(NULL)); // 设置随机种子
printf("请回答以下10道算术题:\n");
for (i = 1; i <= 10; i++) {
num1 = rand() % 100; // 生成0~99的随机数
num2 = rand() % 100;
op = rand() % 4; // 生成0~3的随机数,分别对应加减乘除
switch (op) {
case 0:
ans = num1 + num2;
printf("%d、%d + %d = ", i, num1, num2);
break;
case 1:
ans = num1 - num2;
printf("%d、%d - %d = ", i, num1, num2);
break;
case 2:
ans = num1 * num2;
printf("%d、%d * %d = ", i, num1, num2);
break;
case 3:
ans = num1 / num2;
printf("%d、%d / %d = ", i, num1, num2);
break;
}
int user_ans;
scanf("%d", &user_ans);
if (user_ans == ans) {
printf("正确!\n");
score += 10;
} else {
printf("错误,正确答案为%d!\n", ans);
}
}
printf("总分为:%d分\n", score);
float average = (float)score / 10;
printf("平均分为:%.1f分\n", average);
int arr[10];
for (i = 0; i < 10; i++) {
arr[i] = rand() % 100;
sum += arr[i];
}
max = arr[0];
min = arr[0];
for (i = 1; i < 10; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
printf("随机数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
printf("从大到小排序为:\n");
for (i = 0; i < 10; i++) {
int j;
for (j = i+1; j < 10; j++) {
if (arr[i] < arr[j]) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
printf("%d ", arr[i]);
}
printf("\n");
printf("从小到大排序为:\n");
for (i = 0; i < 10; i++) {
int j;
for (j = i+1; j < 10; j++) {
if (arr[i] > arr[j]) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
printf("%d ", arr[i]);
}
printf("\n");
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
程序中使用 `rand()` 函数生成随机数,并使用 `switch` 语句随机生成加减乘除四种运算。用户输入答案后,程序判断对错并计算总分。计算平均数和最大值最小值时,使用了一个长度为10的随机数组,然后进行排序和计算。
希望这个程序能够帮到您!