随机生成10个小于100的整数,并放入一维数组存放,编程求小于80且大于9的平均数,保留两位
#include <stdio.h>
#include <iostream>
#include <time.h>
int main()
{
srand((unsigned)time(NULL));
int num[10] = { 0 }, sum = 0,count=0;
for (int i = 0; i < 10; i++)
{
num[i] = rand() % 100;
if (num[i] > 9 && num[i] < 80) {
sum += num[i];
printf("%d ", num[i]);
count += 1;
}
}
printf("\n平均数为:%.2f\n", 1.0 * sum / count);
system("pause");
return 0;
}
我来
#include <stdio.h>
#include <stdlib.h>
int main()
{
int array[10];
int sum = 0, count = 0;
int temp;
for (int i=0; i < 10; ++i) {
temp = rand() % 100;
printf("%d ", temp);
array[i] = temp;
if (temp >9 && temp < 80) {
sum += temp;
count++;
}
}
float avg = 1.0 * sum / count;
printf("\naverage: %.2f\n", avg);
return 0;
}
输出结果:
83 86 77 15 93 35 86 92 49 21
average: 39.40
真速度
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int arr[10] = { 0 };
srand((unsigned)time(NULL));
float sum = 0;
float average = 0;
int index = 0;
for (index = 0; index < 10; index++)
{
arr[index] = rand() %100;
if (arr[index]>9 && arr[index]<80)
{
sum += arr[index];
}
}
for (index = 0; index < 10; index++)
{
printf("%d\n", arr[index]);
}
average = sum / 10;
printf("%.2f\n", average);
system("pause");
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!您可以使用 rand() 函数生成随机整数,然后用一个循环将它们存储到数组中。在求平均数之前,另一个循环可以检查每个整数,确定它是否符合条件,然后对符合条件的整数求和。
#include <stdio.h>
#include <stdlib.h>
int main() {
int nums[10];
int i, sum = 0, count = 0;
for (i = 0; i < 10; i++) {
nums[i] = rand() % 100;
}
for (i = 0; i < 10; i++) {
if (nums[i] > 9 && nums[i] < 80) {
sum += nums[i];
count++;
}
}
if(count==0)
{
printf("no numbers found that match the condition");
return 0;
}
float average = (float) sum / count;
printf("Average: %.2f", average);
return 0;
}
如上代码在没有满足条件的数字时特殊处理,并且终止程序.
以上答案对您有帮助,请及时采纳~