1.求符合给定条件的整数集
给定不超过6的正整数A,考虑从A开始的连续4个整数,请输出所有由它们组成的无重复数字的三位数。
#include <stdio.h>int main(){ int a; scanf("%d",&a); int i,j,k; int cnt =0; i=a; while (i<=a 3) { j=a; while(j<=a 3) { k=a; while(k<=a 3) { if (i!=j && i!=k && j!=k) { cnt ; printf("%d%d%d",i,j,k); if (cnt ==6) { printf("\n"); cnt=0; }else { printf(" "); } } k ; } j ; } i ; } return 0; }
2.水仙花数
水仙花数是指一个N位正整数(N>=3),它的每个位数上的数字的N次幂之和等于它本身,例如:153=1x1x1 5x5x5 3x3x3,本题要求编写程序,计算所有N位水仙花数。
#include <stdio.h>int main(){ int n; scanf("%d", &n); n=3; int first =1; int i =1; while ( i<n ) { first *= 10; i ; } //printf("first=%d\n",first); //遍历100-999 i=first; while ( i<first*10 ) { int t = i; int sum = 0; do{ int d = t; 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; }
3.九九乘法表
本题要求对任意的给定的1位正整数N,输出从1x1到NxN的部分口诀表
#include <stdio.h>int main(){ int n; scanf("%d", &n); n=9; int i,j; i=1; while ( i<=n ) { j=1; while ( j<=i ) { printf("%d*%d=%d",j,i,i*j); if ( i*j <10 ) { printf(" "); }else { printf(" "); } j ; } printf("\n"); i ; } return 0; }
4.统计素数求和
本题要求统计给定整数M和N区间内素数的个数并对它们求和
#include <stdio.h>int main(){ int m,n; int i; int cnt = 0; int sum = 0; scanf("%d %d, &m,&n); if (m==1) m=2; for ( i=m; i<=n; i ) { int isPrime = 1; int k; for ( k=2;k<i-1;k ) { if ( i%k == 0 ) { isPrime = 0; break; } } //判断i是否素数 if ( isPrime ) { cnt ; sum =i; } } printf("%d %d\n", cnt,sum); return 0; }
5.猜数游戏
猜数字游戏是令系统随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了还是小了,相等表示猜到了,则结束程序,如果输入超过规定的次数,则提示“Game over”,并结束程序。
#include <stdio.h>int main(){ int number,n; int inp; int finished = 0; int cnt = 0; scanf("%d %d", &number,&n); do{ scanf("%d", &inp); cnt ; if ( inp<0 ) { printf("Game Over\n"); finished = 1; }else if ( inp>number ) { printf("Too big\n"); }else if (inp<number ) { printf("Too small\n"); }else { if ( cnt ==1 ) { printf("Bingo!\n"); }else if ( cnt <=3 ) { printf("Lucky You!\n"); }else { printf("Good Guess!\n"); } finished =1; } if ( cnt==n ) { if ( !finished ) { printf("Game Over\n"); finished =1; } } }while ( !finished ); return 0; }
6.求序列前N项求和
本题要求编写程序,计算序列2/1 3/2 5/3 8/5 …的前N项和,注意该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
#include <stdio.h>int main(){ int n; double dividend,divisor; double sum = 0.0; int i; double t; scanf("%d", &n); n = 2000; dividend = 2; divisor = 1; for ( i=1;i<=n;i ){ sum = dividend/divisor; t = dividend; dividend = dividend divisor; divisor = t; } printf("%f %f\n",dividend,divisor); printf("%.2f\n",sum); return 0; }
来源:https://www.icode9.com/content-1-684001.html
联系客服