C语言c语言算法数组指针与指针数组的区分与应用
Justin
这里以一道C语言题——输出矩阵两个对角线上的数(二维数组)为例
7-57 输出矩阵两个对角线上的数(二维数组) (6 分)
编写程序,将数据输入一个n * n二维数组中,输出矩阵两个对角线上的数。假设数据为整型数据。
输入格式:
第1行,输入 n ,表示矩阵的行列数。n在2-100之间。
第2行到n+1行,输入n行数据,每行n个数据,每行的n个数据之间用一个空格分隔。
输出格式:
输出二行,矩阵两个对角线上的数。第一行为从左上到右下对角线,第二行从左下到右上对角线上的值。。
输入样例:
在这里给出一组输入。例如:
4 25 36 78 13 12 26 88 93 75 18 22 32 56 44 36 58
|
输出样例:
在这里给出相应的输出。例如:
本题代码
#include <stdio.h>
int main(){ int n,i,j; int a[100][100]={0}; int (*p)[100]; p=a; char *s[10]={"hhjj","hhjhj"}; scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++){ scanf("%d",*p+j); } p++; } for(i=0;i<n;i++){ if(i==0){ printf("%d",a[i][i]); continue; } printf(" %d",a[i][i]); } printf("\n"); for(i=0;i<n;i++){ if(i==0){ printf("%d",a[n-i-1][i]); continue; } printf(" %d",a[n-i-1][i]); } return 0; }
|