(ᗜ ˰ ᗜ) 2023-05-22 09:18 采纳率: 66.7%
浏览 25
已结题

用随机数产生一个5行5列的整数数组,每个元素均为3位数。输出该数组。计算该数组非对角线(主对角线和辅对角线)元素的和。

描述:用随机数产生一个5行5列的整数数组,每个元素均为3位数。输出该数组。计算该数组非对角线(主对角线和辅对角线)元素的和。
请问这怎么解

  • 写回答

3条回答 默认 最新

  • SmallFatMan 2023-05-22 09:48
    关注
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main() {
        int arr[5][5];
        int sum = 0;
        
        srand((unsigned) time(NULL)); // 初始化随机数种子
        
        // 生成数组
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                arr[i][j] = rand() % 900 + 100;
                printf("%d ", arr[i][j]);
            }
            printf("\n");
        }
        
        // 计算非对角线元素和
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                if (i != j && i+j != 4) { // 非对角线元素
                    sum += arr[i][j];
                }
            }
        }
        
        printf("非对角线元素的和为:%d", sum);
        
        return 0;
    }
    

    注意,随机数需要初始化种子,一般使用当前时间作为种子。数组的行列数都为5,利用循环遍历数组元素,并且在输出时每个数字后要加一个空格,以便观察。计算非对角线元素的方式是遍历数组,如果这个元素不在主对角线和辅对角线上,就把它加入到sum变量中。最后输出sum即可。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月30日
  • 已采纳回答 5月22日
  • 修改了问题 5月22日
  • 修改了问题 5月22日
  • 展开全部

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据