1、
#include<stdio.h> int main() { int a[100]; int i,j,n=0; for(i=0;i<=100;i++) { for(j=0;j<=100;j++) { a[i]=j; if(a[i]%3!=0&&a[i]%7!=0) { n++; printf("%d\n",a[i]); } } break; } printf("还剩下%d个数\n",100-n); return 0; }
2、
#include<stdio.h> int main() { int a[10][10]; int i,j; for(i=0;i<9;i++) { for(j=0;j<9;j++) { a[i][j]=(i+1)*(j+1); } } for(i=0;i<9;i++) { for(j=0;j<9;j++) { printf("%d ",a[i][j]); } printf("\n"); } return 0; }
#include<stdio.h> int main() { int a[10][10]; int i,j; for(i=9;i>0;i--) { for(j=9;j>0;j--) { a[i][j]=i*j; } } for(i=9;i>0;i--) { for(j=9;j>0;j--) { printf("%d ",a[i][j]); } printf("\n"); } return 0; }
3、
#include <stdio.h> #define n 4 #define m 4 void juzhen(int a[n][m],int b[n][m]) { int i,j; for(i=0;i<n;i++) { for(j=0;j<m;j++) { b[i][j]=a[j][i]; } } } void juzhen(int a[n][m],int b[n][m]); int main() { int a[n][m],b[n][m],i,j; printf("请输入一个4*4的矩阵:\n"); for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&a[i][j]); } } printf("\n转置后的矩阵为:\n"); juzhen(a,b); for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%d ",b[i][j]); } putchar(10); } return 0; }
第3题有2个问题:1,数组里不能是变量,所以我觉得不能让用户来输入数组的长度,只能提前设定好数组长度,所以我只能用define。个人想法,求解。 2,转置是什么意思?是让矩阵的排和列相互颠倒还是把整个矩阵翻转?
时间: 2024-09-30 14:58:30