文档详情

C语言程序设计第四版第六节答案_谭浩强.doc

发布:2017-06-02约9.32千字共13页下载文档
文本预览下载声明
用筛选法求100之内的素数。 解: #include stdio.h #include math.h int main() {int i,j,n,a[101]; for (i=1;i=100;i++) a[i]=i; a[1]=0; for (i=2;isqrt(100);i++) for (j=i+1;j=100;j++) {if(a[i]!=0 a[j]!=0) if (a[j]%a[i]==0) a[j]=0; } printf(\n); for (i=2,n=0;i=100;i++) { if(a[i]!=0) {printf(%5d,a[i]); n++; } if(n==10) {printf(\n); n=0; } } printf(\n); return 0; } 用选择法对10整数排序。 解: #include stdio.h int main() {int i,j,min,temp,a[11]; printf(enter data:\n); for (i=1;i=10;i++) {printf(a[%d]=,i); scanf(%d,a[i]); } printf(\n); printf(The orginal numbers:\n); for (i=1;i=10;i++) printf(%5d,a[i]); printf(\n); for (i=1;i=9;i++) {min=i; for (j=i+1;j=10;j++) if (a[min]a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf(\nThe sorted numbers:\n); for (i=1;i=10;i++) printf(%5d,a[i]); printf(\n); return 0; } 求一个3×3的整型矩阵对角线元素之和。 解: #include stdio.h int main() { int a[3][3],sum=0; int i,j; printf(enter data:\n); for (i=0;i3;i++) for (j=0;j3;j++) scanf(%3d,a[i][j]); for (i=0;i3;i++) sum=sum+a[i][i]; printf(sum=%6d\n,sum); return 0; } 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。 解: #include stdio.h int main() { int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; printf(array a:\n); for (i=0;i10;i++) printf(%5d,a[i]); printf(\n); printf(insert data:); scanf(%d,number); end=a[9]; if (numberend) a[10]=number; else {for (i=0;i10;i++) {if (a[i]number) {temp1=a[i]; a[i]=number; for (j=i+1;j11;j++) {temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } printf(Now array a:\n); for (i=0;i11;i++) printf(%5d,a[i]); printf(\n); return 0; } 将一个数组中的值按逆序重新存放。例如,原来顺序为8、6、5、4、1。要求改为1、4、5、6、8。 解: #include stdio.h #define N 5 void main() { int a[N],i,temp; printf(enter arry a:\n); for(i=0;iN;i++) scanf(%d,a[i]);
显示全部
相似文档