给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
输入格式:
输入在一行中给出A。
输出格式:
输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。
输入样例: 2 输出样例: 234 235 243 245 253 254 324 325 342 345 352 354 423 425 432 435 452 453 523 524 532 534 542 543
#include <stdio.h> int main() { int a; scanf("%d",&a); int i,j,k; int cnt = 0; for(i=a ; i<=a+3 ; i++){ for(j=a ; j<=a+3 ; j++){ for(k=a ; k<=a+3 ; k++){ if(i!=j && i!=k && j!=k){ printf("%d%d%d",i,j,k); cnt++; if(cnt == 6){ printf("\n"); cnt = 0; } else{ printf(" "); } } } } } return 0; }水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例 如:153 = 1 3 1^3 13+ 5 3 5^3 53+ 3 3 3^3 33。 本题要求编写程序,计算所有N位水仙花数。
输入格式:
输入在一行中给出一个正整数N(3<=N<=7)。
输出格式:
按递增顺序输出所有N位水仙花数,每个数字占一行。
输入样例: 3 输出样例: 153 370 371 407
#include <stdio.h> int main() { int n; scanf("%d",&n); int first = 1; int i = 1; while(i <n){ first *= 10; i++; } i = first; while(i<first*10){ int t = i; int sum = 0; do{ int d = t%10; t/=10; int p = d; int j = 1; while(j<n){ p *=d; j++; } sum += p; }while(t>0); if(sum == i){ printf("%d\n",i); } i++; } return 0; }下面是一个完整的下三角九九口诀表:
11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16 15=5 25=10 35=15 45=20 55=25 16=6 26=12 36=18 46=24 56=30 66=36 17=7 27=14 37=21 47=28 57=35 67=42 77=49 18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64 19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81 本题要求对任意给定的1位正整数N,输出从11到N*N的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1<=N<=9)。
输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
输入样例: 4 输出样例: 11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16
#include <stdio.h> int main() { int n; scanf("%d",&n); int i,j; i = 1; while( i<=n){ j=1; while( j<=i ){ printf("%d*%d=%d",j,i,i*j); printf(" "); j++; } printf("\n"); i++; } return 0; }本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出2个正整数M和N(1<=M<=N<=500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例: 10 31 输出样例: 7 143
#include <stdio.h> int main() { int a,b; scanf("%d%d", &a, &b); int i, j, flag; int sum = 0; int count = 0; for (i = a; i <= b; i++) { flag = 0; for (j = 2; j < i; j++) { if (i%j == 0) { flag = 1; break; } } if (flag == 0 && i != 1) { count++; sum = sum + i; } } printf("%d %d",count, sum); return 0; }猜数字游戏是令系统随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
输入格式:
输入第一行中给出2个不超过100的正整数,分别是系统产生的随机数、以及猜测的最大次数N。随后每行给出一个用户的输入,直到出现负数为止。
输出格式:
在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。
输入样例: 58 4 70 50 56 58 60 -2 输出样例: Too big Too small Too small Good Guess!
#include <stdio.h> int main() { int number = rand()%100+1; int count = 1; int a,n; scanf("%d %d",&a,&n); if(a==number){ printf("Bingo!\n"); return 0; } do{ if(a<0){ printf("Game Over\n"); break; } else{ if ( a > number ) { printf("TOO big\n"); } else if ( a < number ) { printf("TOO small\n"); } } scanf("%d",&a); count++; if(count>n){ printf("Game Over\n"); break; } }while(a!=number); if(a==number){ if(count==2 || count==3){ printf("Lucky You!\n"); } else if(count>3 && count<=n){ printf("Good Guess!\n"); } } return 0; }