第八次作业
#include<stdio.h> int main() { int a[100],i,j=100; printf("数组中剩余的数分别是:"); for(i=0;i<100;i++) { a[i]=i+1; if(a[i]%3==0||a[i]%7==0) { a[i]=0; j--; } if(a[i]) printf("%d ",a[i]); } printf("\n数组还剩%d个元素\n",j); return 0; }
第一个作业,写的时候用了三个循环,一遍又一遍的优化之后,写出来了这个。
#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\t",a[i][j]);// "%d\t"的含义就是,输出一个整型数值,同时输出一个制表符。这个是我百度出来的,为了美观一点。微笑脸。 } printf("\n\n"); } printf("\n\n");//第一次尝试这样的分割方式。 for(i=8;i>=0;i--) { for(j=8;j>=0;j--) printf("%d\t",a[i][j]);//同上 printf("\n\n"); } }
#include<stdio.h> int main() { int a[10][10],m,n,i,j,t; printf("输入m和n,均为不超过10的正整数\n"); printf("输入m:"); scanf("%d",&m); printf("输入n:"); scanf("%d",&n); printf("输入%d*%d的矩阵\n",m,n); for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); if(m<=n) for(i=0;i<m;i++) { for(j=i+1;j<n;j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } } else for(i=0;i<n;i++) { for(j=i+1;j<m;j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } } for(i=0;i<n;i++) { for(j=0;j<m;j++) printf("%d ",a[i][j]); printf("\n"); } }
第三个题,非常好玩。因为看过转置矩阵的人,都跟我说是线性代数,没学过的我们,只能百度。可是百度完了,还是不理解,还是不明白。硬着头皮,瞎写了一个。
然而自己都不太理解。问了伍鹏和张照行,明白了张照行的,但是我觉得他写的不对。所以我还是交的自己的。很难理解这个题到底让写什么,表达功能,
这样就可以写出很多东西的。