c语言编程:输入两行数据,第一行为正整数个数年,第二行为n个正整数,中间以空格区分.输出:从小到大的两行数据,第一行所有数字小于平均值,且每个数据后都有一个空格
时间: 2023-06-13 17:05:36 浏览: 129
以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int n, sum = 0;
float avg;
// 输入
scanf("%d", &n);
int nums[n];
for(int i = 0; i < n; i++)
{
scanf("%d", &nums[i]);
sum += nums[i];
}
// 求平均值
avg = (float)sum / n;
// 排序并输出小于平均值的数字
printf("从小到大的小于平均值的数字为:\n");
for(int i = 0; i < n; 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;
}
}
if(nums[i] < avg)
{
printf("%d ", nums[i]);
}
}
printf("\n");
// 排序并输出大于等于平均值的数字
printf("从小到大的大于等于平均值的数字为:\n");
for(int i = 0; i < n; 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;
}
}
if(nums[i] >= avg)
{
printf("%d ", nums[i]);
}
}
printf("\n");
return 0;
}
```
示例输入:
```
5
3 5 1 7 2
```
示例输出:
```
从小到大的小于平均值的数字为:
1 2 3
从小到大的大于等于平均值的数字为:
5 7
```
阅读全文