#include void main() { int num[100],i,j; for (i=0;i<100;i++) num[i]=1; for (i=2;i<=10;i++) for (j=2;i*j<=100;j++) num[i*j-1]=0; printf(\"0至100内素数有:\\n\"); for (i=j=0;i<100;i++) if (num[i]==1) {printf(\"%-4d\ } 2、用选择法对10个整数排序。 #include void main() { int num[10],n,i,j,t,k; printf(\"请输入十个整数:\"); for (n=0;n<10;n++) scanf(\"%d\ for (i=0;i<9;i++) { k=i; for (j=i+1;j<10;j++) if (num[k] } printf(\"从大到小排序为:\"); for (n=0;n<10;n++) printf(\"%d \ } 3、求一个3*3的整型二维数组对角线元素之和。 #include void main() { int num[3][3],i,j; printf(\"输入二维数组:\\n\"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf(\"%d\j]); printf(\"两对角线和分别为和%d\\n\ %d } 5、将一个数组中的值按逆序重新存放。 #include #include #include void main() { int num[100],n,i,temp; srand(time(0)); n=rand()%100+1; printf(\"生成数组长度为%d\\n生成的数组:\\n\ for (i=0;i for (i=0;i } 6、输出以下的杨辉三角形(要求输出10行)。 1 1 1 1 2 1 1 3 3 1 ︙ ︙ ︙ ︙ #include void main() { int num[10][10],i,j; for (i=0;i<10;i++) { for (j=0;j<10;j++) { if (j-1<0||j==i) num[i][j]=1; else num[i][j]=num[i-1][j-1]+num[i-1][j]; printf(\"%-4d\j]); if (j==i) break; } printf(\"\\n\"); } } 7、输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为8 1 6 3 5 7 4 9 2 #include void main() { int n,i,j,k; printf(\"输入奇数阶魔方阵的阶数:\"); scanf(\"%d\ k=(5*n-1)/2; for(i=0;i for (j=0;j printf(\"\\n\"); } } } 9、有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。 #include #include #include void main() { int num[15],n,t=0,left,right,middle,key; srand(time(0)); printf(\"数组为\\n\"); for (n=14;n>=0;n--) t=num[n]=rand()%10+(t+1); for (n=0;n<15;n++) printf(\"^%-4d\ printf(\"\\n请输入要查找的数:\"); scanf(\"%d\ left=0; right=14; while (left<=right) { middle=(left+right)/2; if (key==num[middle]) {t=-1;break;}