c语言写一个代码,输入n个整数,输出最小的数和倒数第二小的数
时间: 2023-03-30 12:01:43 浏览: 216
您好,我可以回答您的问题。以下是代码:
#include <stdio.h>
int main() {
int n, i, min, secondMin;
printf("请输入整数个数n:");
scanf("%d", &n);
int a[n];
printf("请输入%d个整数:", n);
for (i = ; i < n; i++) {
scanf("%d", &a[i]);
}
min = a[];
secondMin = a[1];
if (min > secondMin) {
int temp = min;
min = secondMin;
secondMin = temp;
}
for (i = 2; i < n; i++) {
if (a[i] < min) {
secondMin = min;
min = a[i];
} else if (a[i] < secondMin) {
secondMin = a[i];
}
}
printf("最小的数是:%d\n", min);
printf("倒数第二小的数是:%d\n", secondMin);
return ;
}
相关问题
写一个c语言代码,输入若干整数作为成绩,若最后输入的是-1那就输出最小的数,-2就输出倒数第二小的数
以下是C语言代码:
```
#include <stdio.h>
int main() {
int score[100];
int i = ;
int input;
while (1) {
scanf("%d", &input);
if (input == -1) {
int min = score[];
for (int j = 1; j < i; j++) {
if (score[j] < min) {
min = score[j];
}
}
printf("最小的数是:%d\n", min);
break;
} else if (input == -2) {
int min = score[];
int secondMin = score[];
for (int j = 1; j < i; j++) {
if (score[j] < min) {
secondMin = min;
min = score[j];
} else if (score[j] < secondMin) {
secondMin = score[j];
}
}
printf("倒数第二小的数是:%d\n", secondMin);
break;
} else {
score[i] = input;
i++;
}
}
return ;
}
```
输出c语言 输入n个整数,输出倒数第m个数。 输入: 第一行为n,m;表示有n个整数 第二行有n个整数 输出: 倒数第m个数 输入格式 6 4 4 3 2 1 6 5 输出格式 2 说明:倒数第4个数字就是2 样例
在C语言中,你可以通过数组和指针来解决这个问题。首先,你需要读取用户输入的n和m值,然后创建一个大小为n的数组来存储整数。接着,按照从大到小的顺序对数组进行排序,因为我们需要找到倒数第m个数,也就是第(n-m+1)个数。最后,输出该位置的元素。
下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
// 内部函数用于比较数组元素
int compare(const void *a, const void *b) {
return (*(int*)b - *(int*)a);
}
// 主函数
int main() {
int n, m;
scanf("%d %d", &n, &m); // 输入n和m
// 创建数组并读取整数
int arr[n];
for (int i = 0; i < n; ++i) {
scanf("%d", &arr[i]);
}
// 对数组进行降序排序
qsort(arr, n, sizeof(int), compare);
// 输出倒数第m个数
printf("%d\n", arr[n - m]);
return 0;
}
```
阅读全文