PAT刷题第一天。。。

刷题第一天,刷了11题,应该是最简单了,发现自己还好许多要学习的地方。。。

例如:

给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。

#include<stdio.h>
int main()
{
  int m,n,k,l;
  scanf("%d",&m);
  n=m+1;
  k=n+1;
  l=k+1;
  printf("%d %d %d %d %d %d\n",m*100+n*10+k,m*100+n*10+l,m*100+k*10+n,m*100+k*10+l,m*100+l*10+n,m*100+l*10+k);
  printf("%d %d %d %d %d %d\n",n*100+m*10+k,n*100+m*10+l,n*100+k*10+m,n*100+k*10+l,n*100+l*10+m,n*100+l*10+k);
  printf("%d %d %d %d %d %d\n",k*100+m*10+n,k*100+m*10+l,k*100+n*10+m,k*100+n*10+l,k*100+l*10+m,k*100+l*10+n);
  printf("%d %d %d %d %d %d\n",l*100+m*10+n,l*100+m*10+k,l*100+n*10+m,l*100+n*10+k,l*100+k*10+m,l*100+k*10+n);
  return 0;
写成这样心也是蛮累的,眼睛花。。。
贴个别人写的,学习一下~

#include<stdio.h> int main() {    int a;    scanf("%d",&a);    int m[4] ;    int count = 0;    int i,j,k;    for(i=0;i<4;i++){

     m[i] = a+i;         }         for(i=0;i<4;i++){                 for(j=0;j<4;j++){                         for(k=0;k<4;k++){                                 if(k!=i&&k!=j&&i!=j){                                         printf("%d",m[i]*100+m[j]*10+m[k]);                                         count++;                                         if(count % 6 == 0){                                                 printf("\n");                                         }else{                                                 printf(" ");                                         }                                 }                         }                 }         }

return 0; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值