weixin_58567021
2021-05-31 11:13
采纳率: 100%
浏览 34

c程序编程 求大神帮助

用随机函数产生16个100~1000的整数,放到4×4的二维数组中,求最大值和平均值

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • CSDN专家-link 2021-05-31 11:26
    已采纳
    /*
    用随机函数产生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);
    }
    已采纳该答案
    1 打赏 评论
  • qfl_sdu 2021-05-31 11:27

    代码如下,如有帮助,请采纳一下,谢谢。

    
    #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;
    }
    1 打赏 评论
  • 答题大神 2021-05-31 11:27
    #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;
    }

    代码如上,万望采纳。

    1 打赏 评论
  • SoftwareTeacher 2021-05-31 11:15

    你自己的思路是什么呢?

    打赏 评论
  • 有问必答小助手 2021-05-31 16:39

    您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

    ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

    【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
    【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632

    打赏 评论

相关推荐 更多相似问题