产生10个在[100,200]区间的随机数(含100和200),将这10个随机数存储在一个名字为num的数组中,计算并显示这10个随机数及平均值。这个c语言怎么编写呀
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int main()
{
srand((int)time(NULL));
int num[N], i,add;
for (i = 0; i < N; i++)
{
num[i] = rand() % 100 + 100;
}
for (i = 0; i < N; i++)
{
add=num[i]+add;
}
printf("%d\n",add/10);
return 0;
}
你看下能不能解决你的问题,如果可以请采纳,如果有疑问可以继续追问,谢谢
不知道你这个问题是否已经解决, 如果还没有解决的话:【设计思想】将输入的10个整数,按其奇偶性分别放在数组a的左部和右部。其具体方法就是设置两个整型变量odd和 even,分别表示奇数和偶数存放在数组a中元素的下标,odd 的初始值为0,每存放一个奇数odd 增1,even 的初始值为9,每存放-个偶数even减1,然后通过选择排序的方法分别对数组 a左边的奇数和右边的偶数进行排序。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i, j, odd, even, arr[10], n;
odd = 0;
even = 9;
// 获取输入的10个整数
for (i = 0; i < 10; i++)
{
scanf("%d", &n);
if (n % 2 == 0)
{
// 说明是偶数, 偶数放在数组最后面
arr[odd++] = n;
}
else
{
// 说明是奇数, 奇数放在数组最前面
arr[even--] = n;
}
}
// 选择排序
int k, temp;
for (i = 0; i < odd; i++)
{
k = i;
for (j = i + 1; j < odd; j++)
{
if (arr[k] > arr[j])
{
k = j;
}
}
if (k != i)
{
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
for (i = even; i < 10; i++)
{
k = i;
for (j = i + 1; j < 10; j++)
{
if (arr[k] > arr[j])
{
k = j;
}
}
if (k != i)
{
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
/*
// 冒泡排序
int temp;
for (i = 0; i < odd; i++)
{
for (j = 0; j < odd - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (i = even; i < 10; i++)
{
for (j = even + 1; j < 10; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
*/
for (i = 0; i < 10; i++)
{
printf("%d \t", arr[i]);
}
}