c语言,从键盘输入三个整数a, b, c,按从小到大排序,最小值存在a里,最大值存在c里。输出排序后的a,b,c的值。
时间: 2023-05-28 22:02:56 浏览: 56
```c
#include <stdio.h>
int main()
{
int a, b, c, tmp;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
// 排序
if (a > b)
{
tmp = a;
a = b;
b = tmp;
}
if (a > c)
{
tmp = a;
a = c;
c = tmp;
}
if (b > c)
{
tmp = b;
b = c;
c = tmp;
}
// 输出结果
printf("从小到大排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
相关问题
从键盘获取10个整数,通过循环完成以下操作: 输入选项1,输出最大值 输入选项2,输出最小值 输入选项3,输出平均值 输入选项4,输出从小到大的排序结果 输入0,退出程序c语言·
以下是使用C语言实现的程序:
```c
#include <stdio.h>
int main() {
int arr[10]; // 存储输入的数组
int i, j, temp; // 循环计数器和临时变量
int choice; // 用户选择的操作
int max, min, sum; // 最大值、最小值和总和
float avg; // 平均值
// 输入数组
printf("请输入十个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 循环操作
while (1) {
// 显示菜单
printf("请选择要进行的操作:\n");
printf("1. 输出最大值\n");
printf("2. 输出最小值\n");
printf("3. 输出平均值\n");
printf("4. 输出从小到大的排序结果\n");
printf("0. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1: // 输出最大值
max = arr[0];
for (i = 1; i < 10; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
printf("最大值为:%d\n", max);
break;
case 2: // 输出最小值
min = arr[0];
for (i = 1; i < 10; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
printf("最小值为:%d\n", min);
break;
case 3: // 输出平均值
sum = 0;
for (i = 0; i < 10; i++) {
sum += arr[i];
}
avg = (float) sum / 10;
printf("平均值为:%f\n", avg);
break;
case 4: // 输出从小到大的排序结果
for (i = 0; i < 9; i++) {
for (j = i + 1; j < 10; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
printf("从小到大的排序结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
break;
case 0: // 退出程序
printf("程序已退出。\n");
return 0;
default:
printf("无效的选项,请重新输入。\n");
break;
}
}
}
```
运行程序后,输入10个整数,然后根据菜单选择要进行的操作即可。
编写一个C语言程序,能在一个从小到大排序的数组里查找比给定整数小的、下标最大的元素,找到则输出该元素,找不到则输出“没有符合要求的数据”信息。整数从键盘输入
以下是一个实现该功能的C语言程序:
```c
#include <stdio.h>
int main() {
int arr[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int len = sizeof(arr) / sizeof(int);
int num, i, index;
printf("请输入一个整数:");
scanf("%d", &num);
for (i = 0; i < len; i++) {
if (arr[i] < num) {
index = i;
} else {
break;
}
}
if (index >= 0) {
printf("比%d小的下标最大的元素是%d\n", num, arr[index]);
} else {
printf("没有符合要求的数据\n");
}
return 0;
}
```
程序中,我们先定义了一个从小到大排序的数组 `arr`,然后从键盘输入一个整数 `num`。接着,我们使用一个 `for` 循环遍历数组,找到第一个比 `num` 大的元素,记录下其前一个元素的下标,即为比 `num` 小的下标最大的元素的下标。最后,根据记录的下标输出结果。
需要注意的是,如果输入的整数比数组中的最小值还要小,那么 `index` 的值将一直为初始值 0,此时应该输出“没有符合要求的数据”信息。