C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

循环控制上机习题参考答案

Posted on 2006-04-27 10:40 我爱C 阅读(1387) 评论(1)  编辑 收藏 引用 所属分类: 疑难作业习题解答

7.4
main()
{int a[11]={1,4,6,9,13,16,19,28,40,100};
 int temp1,temp2,number, end,i,j;
 scanf("%d",&number);
 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;
         }
       }
     }
 for(i=0;i<11;i++)
   printf("%6d",a[i]);
}

7.5
#define N 5
main()
{int a[N]={8,6,5,4,1},i,temp;
 for(i=0;i<N/2;i++)
   {temp=a[i];
    a[i]=a[N-i-1];
    a[N-i-1]=temp;
    }
 for(i=0;i<N;i++)
   printf("%4d",a[i]);
}

7.8
#define N 10
#define M 10
main()
{int i,j,k,m,n,flag1,flag2,a[N][M],max,maxi,maxj;
 scanf("%d,%d",&n,&m);
 for(i=0;i<n;i++)
   for(j=0;j<m;j++)
     scanf("%d",&a[i][j]);
 flag2=0;
 for(i=0;i<n;i++)
   {max=a[i][0];
    for(j=0;j<m;j++)
      if(max<a[i][j])
        {max=a[i][j];
         maxj=j;
        }
    for(k=0,flag1=1;k<n&&flag1;k++)
      if(max>a[k][maxj])flag1=0;
    if(flag1)
      { printf("\na[%d][%d]=%d\n",i,maxj,max);
        flag2=1;
      }
    }
 if(!flag2) printf("NOT");
}

 

7.10
main()
{int i,j,uppn,lown,dign,span,othn;
 char text[3][80];
 uppn=lown=dign=span=othn=0;
 for(i=0;i<3;i++)
   {gets(text[i]);
    for(j=0;j<80&&text[i][j]!='\0';j++)
      {if(text[i][j]>='A'&&text[i][j]<='Z')
         uppn++;
       else if(text[i][j]>='a'&&text[i][j]<='z')
         lown++;
       else if(text[i][j]>='0'&&text[i][j]<='9')
         dign++;
       else if(text[i][j]==' ')
         span++;
       else
         othn++;
       }
    }
 for(i=0;i<3;i++)
   printf("%s\n",text[i]);
 printf("uppn=%d\n",uppn);
 printf("lown=%d\n",lown);
 printf("dign=%d\n",dign);
 printf("span=%d\n",span);
 printf("othn=%d\n",othn);
}

Feedback

# re: 循环控制上机习题参考答案  回复  更多评论   

2006-06-14 16:43 by wa
adf

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理