求一个算法,矩阵

chy710 2017-11-10 09:57:16
题目:编写程序形成一个n×n 的方阵a ,例当n=5时,得到:

1 2 3 4 5
2 1 3 4 5
3 2 1 4 5
4 3 2 1 5
5 4 3 2 1

并且求出,当n=20时,反对角线元素的和:s=a(1,20)+...+a(20,1)为:
...全文
223 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qimi_and_softkitty 2017-11-14
  • 打赏
  • 举报
回复
给你个c的 #include<stdio.h> #define N 20 int main() { int i = 0, j = 0; int ary[N][N] = {0}; for (i = 0; i < N; i++) /*赋值*/ { for (j = 0; j <= i + 1; j++) /*倒序*/ { ary[i][j] = i - j + 1; } for (j = i + 1; j < N; j++)/*正序*/ { ary[i][j] = j + 1; } } for (i = 0; i < N; i++) /*打印*/ { printf("\n"); for (j = 0; j < N; j++) { printf("%d ", ary[i][j]); } } getchar(); return 0; }
真相重于对错 2017-11-11
  • 打赏
  • 举报
回复
提示 第N行的,前N个数倒序。。。
vvvlei 2017-11-11
  • 打赏
  • 举报
回复
#include "stdafx.h" #include <iostream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int n, add = 0; int a[20][20]; cout << "输入方阵边长:"; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j<n; j++) { if (i == 0) a[i][j] = j + 1; else if (i - j>= 0) a[i][j] = i- j + 1; else a[i][j] = j + 1; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) cout << " " << a[i][j] << "\t"; cout << endl; } //cout << "********************\n"; for (int i = 0; i < n; i++) cout << "***\t"; cout << "\n\n" << "反对角线数字:\n"; for (int i = 0; i <n ; i++) { cout << a[i][n - i - 1] << "\t"; add += a[i][n - i - 1]; } cout << "\n\n" << "反对角线数字和:"; cout << add << "\n\n"; system("pause"); return 0; }
CT8100 2017-11-10
  • 打赏
  • 举报
回复
=1+2+3....20

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧