C语言程序设计谭浩强(第二版)第七章课后答案

7.1

int main(int argc, char *argv[]) {
int i,j;
for(i=2;i<=100;i++)
         {for(j=2;j<i;j++)
         if(i%j==0)break;
    if(j>=i)
         printf("%d,",i);
         }      

7.2

 

int main(int argc, char *argv[]) {

int a[10]={1,5,9,6,7,3,2,4,8,10};

int i,j,t;

for(i=0;i<10;i++)

for(j=i+1;j<10;j++)

 

         if(a[i]<a[j])

         {t=a[i];a[i]=a[j];a[j]=t;}

for(i=0;i<10;i++)

printf("%d ",a[i]);

}

 7.3

int main(int argc, char *argv[]) {

int i,a[3][3]={{1,2,3},{4,5,6},{7,8,9}},t=0;

for(i=0;i<3;i++)

t=t+a[i][i];

printf("%d",t);

}

7.4

int main(int argc, char *argv[]) {

int i,a[10]={1,2,3,4,5,8,9},t,j,b;

scanf("%d",&t);

for(i=0;i<7;i++)

 if(t>=a[i]&& t<a[i+1])

 {

 b=i;

 for(j=7;j>i+1;j--)

{a[j]=a[j-1];

}      

 }

a[b+1]=t;

for(i=0;i<10;i++)

printf("%d ",a[i]);

}

7.5

int main(int argc, char *argv[]) {

int a[5]={8,6,5,4,1};

int i,t,b;

t=5/2;

for(i=0;i<t;i++)

{

b=a[i];a[i]=a[4-i];a[4-i]=b;    

}

for(i=0;i<5;i++)

printf("%d",a[i]);

}

7.6

int main(int argc, char *argv[]) {

int a[10][10]={0};

int i,j;

for(i=0;i<10;i++)

a[i][0]=1;

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

for(j=1;j<10;j++)

{

  a[i][j]=a[i-1][j-1]+a[i-1][j];

}

for(i=0;i<10;i++)

for(j=0;j<=i;j++)

{

printf("%d ",a[i][j]);

if(j==i)printf("\n");

}

}

7.7

7.8

int main(int argc, char *argv[]) {

        

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};

int i,j,t,q,m,p;

p1:for(i=0;i<3;i++)

{

q=0;

for(j=0;j<3;j++)

         if(q<a[i][j])

         {q=a[i][j];

         m=j;

         }

     p=q;

for(t=0;t<3;t++)

if(p>a[t][m])p=a[t][j];

if(q<=p)printf("%d\n",q);

}

}

7.9

nt main(int argc, char *argv[]) { 

int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

int i=0,mid,j=14,num;

printf("输入要查找的数\n");

scanf("%d",&num);

for(;i!=j;)

{

mid=(i+j)/2;

if(num>a[mid])i=mid;

else if(num<a[mid])j=mid;

else {

printf("第%d位,%d",mid,num);

break;

}

}}

7.10

int main(int argc, char *argv[]) {

chara[3][10]={"abc","ABCDEFGHIJ","a b c def"};

int i,j,q=0,w=0,e=0;

for(i=0;i<10;i++)

{

for(j=0;j<10;j++)

if(a[i][j]>='a'&&a[i][j]<='z')

q++;

else if(a[i][j]>='A'&&a[i][j]<='Z')

w++;

else if(a[i][j]==' ')

e++;

}

printf("%d,%d,%d",q,w,e);

}

7.11

int main(int argc, char *argv[]) {

         chara[5][9]={};

         int i,j;

         for(i=0;i<5;i++)

         for(j=0;j<9;j++)

         {

         if((j<i)||(j>=i+5))

         a[i][j]='';

         else

         a[i][j]='*';

}

for(i=0;i<5;i++)

for(j=0;j<9;j++)

{printf("%c",a[i][j]);

if(j%9==0)printf("\n");

}

}

7.12

int main(int argc, char *argv[]) {

         chara[81];

         int i;

         printf("请输入密码:\n");

         gets(a);

         for(i=0;i<81;i++)

         if(a[i]>=65&&a[i]<=90)

         a[i]=90-(a[i]-65);

         elseif(a[i]>=97&&a[i]<=122)

   a[i]=122-(a[i]-97);

    printf("输出原文:\n");

   printf("%s",a);

}

7.13

int main(int argc, char *argv[]) {

         chara[3]={"abc"},b[8]={"ABC"};

         int i,j;

         for(i=0;i<3;i++)

         b[3+i]=a[i];

         printf("%s",b);

}

7.14

int main(int argc, char *argv[]) {

         chara[3],b[3];

         inti,j=0;

         printf("输入数组a:\n");

         gets(a);

         printf("输入数组b\n");

         gets(b);

         for(i=0;i<3;i++)

         if(a[i]>b[i])

         {printf("a>b大%d",a[i]-b[i]);break;}

         elseif(a[i]<b[i]){printf("a<b %d",a[i]-b[i]);break;}

         elseif((a[i]==b[i])&&i==2)printf("a和b相等:%d",j);

}

7.15

int main(int argc, char *argv[]) {

         chara[15]={"adcv"},s2[3]={"ABC"};

         inti=0,j=0;

for(;i<3;i++)

             a[i]=s2[i];

    a[i]='\0';

   printf("%s",a);

}

猜你喜欢

转载自blog.csdn.net/yhxiaohao/article/details/79862921