用c语言写一个程序,输入n个整数,输出其中最小的k个。例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。
时间: 2024-05-12 08:16:53 浏览: 50
《C语言学习笔记》程序1
好的,我可以帮您解答这个问题。以下是解题思路:
1. 首先确定要输入多少个整数n,以及要求最小的k个数。
2. 创建一个数组,用来存放输入的所有整数。
3. 使用循环语句输入每个整数,将其存入数组中。
4. 对数组进行排序,从小到大。
5. 输出数组中前k个数即为所求的最小的k个数字。
以下是C语言程序实现:
```
#include<stdio.h>
int main()
{
//确定要输入多少个整数n,以及要求最小的k个数。
int n, k;
printf("请输入要输入多少个整数n:");
scanf("%d", &n);
printf("请输入要求的最小的k个数:");
scanf("%d", &k);
//创建一个数组,用来存放输入的所有整数。
int nums[n];
printf("请输入%d个整数:\n", n);
//使用循环语句输入每个整数,将其存入数组中。
for(int i=0; i<n; i++)
{
scanf("%d", &nums[i]);
}
//对数组进行排序,从小到大。
for(int i=0; i<n-1; i++)
{
for(int j=i+1; j<n; j++)
{
if(nums[i] > nums[j])
{
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
//输出数组中前k个数即为所求的最小的k个数字。
printf("最小的%d个数为:\n", k);
for(int i=0; i<k; i++)
{
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
希望可以帮到您,有问题欢迎追问!
阅读全文