刷题第一天,刷了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; }