好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计第四版第六章答案谭浩强

天下 分享 时间: 加入收藏 我要投稿 点赞

1、 用筛选法求100之内的素数。 解:

#include #include int main()

{int i,j,n,a[101];

for (i=1;i<=100;i++) a[i]=i; a[1]=0;

for (i=2;i

for (i=2,n=0;i<=100;i++) { if(a[i]!=0)

{printf(\ n++; }

if(n==10)

{printf(\ n=0; } }

printf(\ return 0; }

2、 用选择法对10整数排序。 解:

#include int main()

{int i,j,min,temp,a[11]; printf(\ for (i=1;i<=10;i++)

{printf(\ scanf(\ }

printf(\

printf(\ for (i=1;i<=10;i++) printf(\ printf(\

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(\ for (i=1;i<=10;i++) printf(\ printf(\ return 0; }

3、 求一个3×3的整型矩阵对角线元素之和。 解:

#include int main() {

int a[3][3],sum=0; int i,j;

printf(\ for (i=0;i<3;i++) for (j=0;j<3;j++)

scanf(\ for (i=0;i<3;i++) sum=sum+a[i][i];

printf(\

return 0; }

4、 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。 解:

#include int main()

{ int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; printf(\ for (i=0;i<10;i++) printf(\ printf(\

printf(\ scanf(\ end=a[9];

if (number>end) a[10]=number; else

{for (i=0;i<10;i++) {if (a[i]>number) {temp1=a[i]; a[i]=number;

for (j=i+1;j<11;j++) {temp2=a[j]; a[j]=temp1; temp1=temp2; }

break; } } }

printf(\ for (i=0;i<11;i++) printf(\ printf(\

return 0; }

5、 将一个数组中的值按逆序重新存放。例如,原来顺序为8、6、5、4、1。要求改为1、4、5、6、8。 解:

#include \#define N 5 void main()

{ int a[N],i,temp;

printf(\ for(i=0;i

printf(\ for(i=0;i

6、 输出以下的杨辉三角形(要求输出10行)。 1 1 1

1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

解:

#include \void main()

{ int i,j,n=0,a[31][31]={0};

while(n<1||n>30) /*最多可输出30行*/ {printf(\请输入杨辉三角形的行数:\ scanf(\ }

for(i=0;i

a[i][0]=1; /*第一列全置为一*/ for(i=1;i

a[i][j]=a[i-1][j-1]+a[i-1][j]; /*每个数是上面两数之和*/ for(i=0;i

7、 输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2 解:

#include int main()

{ int a[15][15],i,j,k,p,n; p=1;

while(p==1)

{printf(\ scanf(\

if ((n!=0) && (n<=15) && (n%2!=0)) p=0; }

for (i=1;i<=n;i++)

6qte01f0wd8xswm2yhl07916095eiv009ek
领取福利

微信扫码领取福利

微信扫码分享