用随机函数产生16个100~1000的整数,放到4×4的二维数组中,求最大值和平均值
/*
用随机函数产生16个100~1000的整数,放到4×4的二维数组中,求最大值和平均值
*/
#include<stdlib.h>
#include<time.h>
void main()
{
int a[4][4];
srand((unsigned)time(NULL));//选取种子文件
int i, j,max=0;
float sum = 0,avg;
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++)
{
a[i][j] = rand() % 900 + 100;
if (a[i][j] > max)
max = a[i][j];
sum+=a[i][j];
}
//
avg = sum/16;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
printf("%d ", a[i][j]);
printf("\n");
}
printf("最大值为:%d,平均值为:%.1f", max, avg);
}
代码如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h>
#include <stdlib.h>
#define ROWS 4
#define COLUMNS 4
int findMaxNum(int* ptr,int size)
{
int i;
int max = ptr[0];
for (i = 1; i < size;i++)
{
if(ptr[i] > max)
max = ptr[i];
}
return max;
}
double countAverage(int(*ptr)[COLUMNS],int rows)
{
int i,j;
double sum = 0.0;
for (i = 0; i < rows; i++)
{
for(j = 0; j < COLUMNS;j++)
sum += ptr[i][j];
}
return sum/(rows*COLUMNS);
}
void main()
{
int i,j;
int arr[ROWS][COLUMNS] = {0};
int size = ROWS * COLUMNS;
printf("16个数为:");
for (i = 0; i < ROWS; i++)
{
for(j = 0;j < COLUMNS;j++)
{
arr[i][j] = 100 + rand()%900;
printf("%d ",arr[i][j]);
}
}
printf("\n最大数:%d\n",findMaxNum(&arr[0][0],size));
printf("平均值:%g\n",countAverage(arr,ROWS));
return;
}
#include "stdio.h"
#include<windows.h>
#include<time.h>
int main(){
int arr[4][4];
float sum=0.0;
int max=0;
//用随机函数产生16个100~1000的整数,放到4×4的二维数组中,求最大值和平均值
srand((unsigned)time(NULL));
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
arr[i][j] = 100 + rand()%900;
if(max<arr[i][j]){
max=arr[i][j];
}
sum+=arr[i][j];
}
}
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
printf("%d\t",arr[i][j]);
}
printf("\n");
}
printf("最大值为:%d,平均值为:%.2f",max,sum/16);
return 0;
}
代码如上,万望采纳。
你自己的思路是什么呢?
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632