关于C语言的N阶方阵,输出N阶方阵,和它的上,下三角阵(高手帮分析一下有程序,只是不理解)...
感觉像没读懂题目。。。
#include #include #define swap(a,b) a=a+b,b=a-b,a=a-bint main(int argc, char* argv[]){ int n; printf("请输入n的值:
"); scanf("%d",&n); int a[100][100]; int i,j; printf("请输入矩阵:
"); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d", &a[i][j]); for(i=0;i<n;i++) { for(j=i;j<n;j++) { if(i==j) continue; swap(a[i][j],a[j][i]); } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("%5d",a[i][j]); } printf("
"); } return 0;}运行结果:
#include<conio.h> //定义头文件
#define N 3 //宏定义,定义N=3
main() //主函数
{ int i,j,k=1,a[N][N]; //定义几个整形变量,其中k=1,a为一个二维数组(a[3][3] a是一个3行3列的数组)?
for(i=0;i<N;i++) //for循环,初始化i=0,判断i<3,如果成立则执行for循环里面的语句,每次执行完for循环语句后i+1
for(j=0;j<N;j++) //for循环,初始化j=0,判断j<3,如果成立则执行for循环里面的语句,每次执行完for循环语句后j+1
a[i][j]=k++; //如果两个for循环都成立则将k的值赋给二维数组相应的元素,然后k+1,例如,当i=0,j=0,则满足两个for循环,a[0][0]=1,之后k+1
//以上两个for循环的目的是给二维数组赋值,最后二维数组的值为a[3][3]={{1,2,3},{4,5,6},{7,8,9}}
for(i=0;i<N;i++) //for循环,初始化i=0,判断i<3,如果成立则执行for循环里面的语句,每次执行完for循环语句后i+1
{
for(j=0;j<N;j++) //for循环,初始化j=0,判断j<3,如果成立则执行for循环里面的语句,每次执行完for循环语句后j+1
printf("%6d",a[i][j]); //如果满足j<3,则执行打印,打印信息为二维数组,即将二维数组逐个打印出来
printf("\n"); //当执行完for(j=0;j<N;j++)之后打印回行,即每次打印完一行二维数组则回行(可以理解为回车)
}
printf("\n"); //当执行完for(i=0;i<N;i++)之后打印回行,即每次打印完一行二维数组则回行(可以理解为回车)
for(i=0;i<N;i++) //for循环,初始化i=0,判断i<3,如果成立则执行for循环里面的语句,每次执行完for循环语句后i+1
{ for(j=0;j<N;j++) //for循环,初始化j=0,判断j<3,如果成立则执行for循环里面的语句,每次执行完for循环语句后j+1
if(j<i) printf("%6c",' '); //判断,如果j的值小于i则打印空格
else printf("%6d",a[i][j]); //如果j的值不小于i的话则打印二维数组a[i][j],
printf("\n"); //当执行完for(j=0;j<N;j++)之后打印回行,即每次打印完一行二维数组则回行(可以理解为回车)
}printf("\n"); //当执行完for(i=0;i<N;i++)之后打印回行,即每次打印完一行二维数组则回行(可以理解为回车)
for(i=0;i<N;i++) //for循环,初始化i=0,判断i<3,如果成立则执行for循环里面的语句,每次执行完for循环语句后i+1
{ for(j=0;j<=i;j++) //for循环,初始化j=0,判断j<=i,如果成立则执行for循环里面的语句,每次执行完for循环语句后j+1
printf("%6d",a[i][j]); //如果满足j<=i则打印相应的二维数组,
printf("\n"); //当执行完for(j=0;j<=i;j++)之后打印回行,即每次打印完一行二维数组则回行(可以理解为回车)
}
getch(); //获取键盘输入,没有实际意义,可忽略
用C语言编程打印出由1到n^2的自然数构成的魔方阵,n由键盘输入。魔方阵的...
.初始化 创建n*n方阵(n为奇数), 并以0填充 以整数h表示方阵列, v表示方阵行 h = n-1 v = n\/2 .初始化完毕 .定义 当前: 当前方阵行列位置(v, h)下一: 下一方阵行列位置(v+1, h+1).定义完毕 .开始 1. 判断: 数是否填完 是: 结束 否: ...
c语言中*(*(p+1)+2) 什么意思?具体怎么表示的?
(*(p+1)+2)为二维数组用指针表示的形式,相当于数组元素num[1][2]。二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都...
c语言输出魔方阵,所谓魔方阵是指这样的方阵,她的每一行,每一列和对角...
include<stdio.h> define MAX 15 int a[MAX][MAX];int N;void magic();int main(){ int i,j ;do { printf("\\nshuru N:");scanf("%d",&N);if(N%2==0||N>15)printf("cuowu de N");else break;} while(1);magic();printf("the is %d*%d magic",N,N);printf(".....
C语言。输入一个正整数n(1<=n<=6)和n阶方阵a中的元素,如果a是上三角矩 ...
1、首先,定义8个整型变量。2、接着,定义一个数组变量保存奇数幻方的各数值。3、输入奇数幻方的阶数。4、给数组赋初值,初始值为0。5、计算第一个数1的坐标,保存在变量x和y中。6、将第一数字1,保存在数组中。7、用for循环,实现奇数幻方各值位置的计算。8、运行程序,输入一个阶数后,电脑...
c语言:输入 1 个正整数 n(1≤n≤6)和 n 阶方阵 a 中的元素,求副对角线...
include <stdio.h>main(){int a[7][7], i, j, ans;int n;printf("请输入阶数:\\n");scanf("%d",&n);printf("请输入方阵元素:\\n");ans=0;for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%d",&a[i][j]);if(j+i<=n+1) ans+=a[i][j];}}printf("答案是:\\...
C语言编程:N*N方阵的转置
include<stdio.h> int main(){ int n,t,a[100][100],i,j; scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++) scanf("%d",&a[i][j]);printf("转换后:\\n");for(i=0;i<n;i++)for(j=0;j<n;j++){ for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(j=...
C语言求救!!c为一个n×n方阵,先从键盘读入n的值,再输入n×n个数组元 ...
include<stdio.h>int main(){int c[30][30]={0},n,i,j,s=0; scanf("%d",&n); for(i=0;i<n;i++) for(j=0;j<n;j++) {scanf("%d",&c[i][j]); if(j==0||i==0||j==n-1||i==n-1) s+=c[i][j]; } printf("\\n数组的元素:\\n"); for...
C语言编程:求N×N的方阵除主对角线、最后一列和最后一行以外的所有元素...
代码文本:include "stdio.h"define N 5 int main(int argc,char *argv[]){ int a[N][N],i,j,k;for(k=1,i=0;i<N;i++){\/\/为矩阵赋值 for(j=0;j<N;j++,(k%=99)++)printf("%3d",a[i][j]=k);putchar('\\n');} for(k=i=0;i<N;i++)for(j=0;j<N;j++)if(...
C编程 按反对角线走斜S形方阵,生成如以下方阵
C编程 按反对角线走斜S形方阵,生成如以下方阵 30 11104311912952201813862421171472523221615看懂了吧,就是从右上开始一直蛇形转到左下角的,要求是输入N,N在3-10之间都可以,然后输出N阶N行的这样的方阵,求教!!!... 11 10 4 3 119 12 9 5 220 18 13 8 624 21 17 14 725 23 22 16 15看懂了吧,就...
c语言中魔方阵编程的思路
\/ 所谓魔方阵是指这样的的方阵:它的每一行、每一列和对角线之和均相等。输入n,要求打印由自然数1到n2的自然数构成的魔方阵(n为奇数)。例如,当n=3时,魔方阵为:8 1 6 3 5 7 4 9 2 魔方阵中各数排列规律为:① 将“1”放在第一行的中间一列;② 从“2”开始直到n×n为止的...
泰河美司: #include <stdio.h> //定义头文件 #include<conio.h> //定义头文件 #define N 3 //宏定义,定义N=3 main() //主函数 { int i,j,k=1,a[N][N]; //定义几个整形变量,其中k=1,a为一个二维数组(a[3][3] a是一个3行3列的数组)?for(i=0;i<N;i++) //for循环...
宜秀区17273194824: 如何用C语言编出一个N阶螺旋方阵? - ?
泰河美司: int n为阶数,具体打印格式你可以按需要改void op(int n) {int i=0,j=0;int*(*p);int temp = 1;int t;p = (int**)malloc(sizeof(int*)*n);for (t=0;t<n;t++){p[t]=(int*)malloc(sizeof(int)*n);}for (t=0;t<((float)n/2);t++){for (;j<n-t;j++)p[i][j] = temp++;j--;i++...
宜秀区17273194824: 用C语言怎样输出一个N阶蛇形矩阵? - ?
泰河美司: 先说思想:N=4时候和N=5的时候前面4条斜线上三角是相同的!所以这个可以用递归做.还有个规律很重要就是当2个数的横纵坐标和都是N+1的时候这2个值的和都是N*N+1!问题就很容易解决了! 写个大概: int **array=NULL; void main() {...
宜秀区17273194824: C语言.键盘输入n阶的方阵,请输出该矩阵各列元素的和,以及两条对角线上各个元素之和. - ?
泰河美司: #include int main()//矩阵对角线 { int a[3][3]={1,2,55,4,5,6,20,8,17},i,j,tp=0;// 1 2 55 for(i=0;i<=2;i++) // 4 5 6 { // 20 8 17 23 80 j=i;tp+=a[i][j];} printf("%d\n",tp); tp=0; for(i=0;i<=2;i++) {j=2-i;tp+=a[i][j];} printf("%d",tp); /*再加个sum[i]的循环...
宜秀区17273194824: c语言中的n阶方阵怎嘛做 - ?
泰河美司: C语言中int型的数值非常的小,最大的范围也只在[-2^31 , 2^31 -1],所以使用int类型最大只能表示13的阶乘而已,使用范围更大的double才是王道./* Note:Your choice is C IDE */#include "stdio.h" void main() { int i,n,flg; double num=1; printf("...
宜秀区17273194824: c语言:建立N阶蛇形方阵并输出 - ?
泰河美司: 用C语言输出一个N阶蛇形矩阵生成一个按蛇形方式排列自然数1、2、3、…N2 而在你的程序里并没有察觉到这点而是直接输出了 所以那里就是0了 其他0
宜秀区17273194824: C语言课程设计:什么是n阶回转折叠方阵,并写出n阶回转折叠方阵的C语言程序 - ?
泰河美司: //这种小程序还是该自己动手的//帮你写了一个,仅供参考!#include#defineN4//矩阵的阶introt(intmatrix[N][N])//分块旋转函数{inttemp[N/2][N/2];intp_x=0,p_y=0;//起点,用来分别操作四个子块inti,j,m,n;while(p_y
宜秀区17273194824: 用c语言编写一个程序,将一个n阶方阵转置后输出(注:只能用一个数组实现). - ?
泰河美司: 经过TC2调试:#define N 5 main() { int i,j; int a[N][N],temp; printf("please input the array:"); for(i=0;i for(j=0;j scanf("%d",&a[i][j]); printf("\nyou input is:\n"); for (i=0;i{ printf("\n"); for (j=0;jprintf("%5d",a[i][j]); } for (i=0;i for (j=0;j {if(i>j) {temp=a...
宜秀区17273194824: c语言 只用循环/选择 输出n阶蛇行/螺旋方阵 - ?
泰河美司: #include<iostream.h>#include<math.h>/*(1) 螺旋方阵,如下图: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 */ void op1(int n) { int i = 0, //i表示方阵的行数j = 0; //j表示方阵的列数 int *p = new int[n*n];//p表示方阵数组 int temp = 1; int t; for (t = 0; t < ((float...
宜秀区17273194824: 用C语言输出一个N阶蛇形矩阵(随意输出n*n个数之后,不要从1开始的,是自己任意输出的n*n个数). - ?
泰河美司: #include <stdlib.h>#include <stdio.h>#include <time.h> /*用到了time函数,所以要有这个头文件*/ int main( void) { int i,j,MAX; int number[400][400] = {0}; printf("请输入一个整数:\n"); scanf("%d",&MAX); srand((unsigned) time(NULL)); ...