求一个算法,矩阵

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)为:
...全文
168 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
给你个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; }
  • 打赏
  • 举报
回复
提示 第N行的,前N个数倒序。。。
  • 打赏
  • 举报
回复
Ray1206i 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
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2017-11-10 09:57
社区公告
暂无公告