1.
#include <stdio.h> int main() { int i,a[100],n=0; for(i=0;i<100;i++) { a[i]=i+1; if(a[i]%3 ==0 || a[i]%7 == 0) a[i]=0; else if(a[i] != 0) n++; } printf("数组中剩余的个数为:%d ",n); printf("这些数为: "); for(i=0;i<100;i++) { if(a[i] != 0) printf("%d ",a[i]); } return 0; }
2.
#include <stdio.h> int main() { int a[9][9],i,j; for(i=0;i<9;i++) { for(j=0;j<9;j++) { a[i][j]=(i+1)*(j+1); printf("%d ",a[i][j]); } printf(" "); } printf("其旋转对称的乘法表为: "); for(i=0;i<9;i++) { for(j=0;j<9;j++) { printf("%d ",a[8-i][8-j]); } printf(" "); } return 0; }
3.这道题目感觉有些牵强了,如果是要用户一个一个输入矩阵数组的没个元素,那用户作死让m和n为100的话就要先输入10000个数字才能接着运行了,所以我觉得体现出要考察的点就好了,让矩阵定为从1开始一个个增大好了,用户只用输入m和n的值就行。
#include <stdio.h> int main() { int m,n,a[100][100]={1},i,j,k=1; printf("你想要一个多大的矩阵啊,输入m和n的值:"); scanf("%d %d",&m,&n); printf("矩阵里我就直接放123挨个变大了啊,不然太多了一个个输你得累死 "); for(i=0;i<m;i++) { for(j=0;j<n;j++) { a[i][j]=k; k++; printf("%d ",a[i][j]); } printf(" "); } printf("我还可以转置这个矩阵! "); for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%d ",a[j][i]); } printf(" "); } return 0; }
感想:感天动地!这次作业总算没有上次那么变态了,整体来说比较轻松,反正是比上次轻松多了,,,,我是不是对上次作业产生阴影了。。。。总之,加油!!!