question:
思路:
answer:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(0));//生成随机数 int number = rand()%100+1;//限定随机数在1~100的范围内 int count = 0; int a = 0; printf("我已经想好了一个1~100之间的数:"); do { printf("请猜这个1~100之间的数:"); scanf("%d",&a); count++; if(a > number){ printf("你猜的数大了!"); } else if(a < number){ printf("你猜的数小了!"); } } while(a != number); printf("太好了,你用了%d就猜到了答案!\n",count); return 0; }question:
answer:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int count = -1; int sum = 0; int number = 0; printf("请开始输入:"); while(number != -1) { sum += number; count++; scanf("%d",&number); } if(number == -1) { printf("未输入数!"); } else{ printf("平均数为%f\n",1.0*sum/count); } return 0; }question:
answer:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int x; scanf("%d",&x); int digit; int ret = 0; while(x > 0) { digit = x%10; printf("%d",digit); ret = ret * 10 + digit; //printf("x=%d, digit=%d, ret=%d\n",x, digit, ret);//调试行 x /= 10; } return 0; }question:
answer:
#include <stdio.h> int main() { int i,j,k; int a; int cnt = 0;//计数器 scanf("%d",&a); i = a; while(i <= a+3){ j = a; while(j <= a+3){ k = a; while(k <= a+3){ if(i != j){ if(i != k){ if(j != k){ cnt++; printf("%d%d%d",i,j,k); if(cnt == 6){ printf("\n");//输出6个数就回车 cnt = 0; }else{ printf(" ");//输出1个数就空格 } } } } k++; } j++; } i++; } return 0; }question:
answer:
#include <stdio.h> int main() { int n; scanf("%d",&n); /*3位数的范围:100~999 4位数的范围:1000~9999*/ int first = 1; int i=1; //确定范围的最小值 while(i < n ){ first *= 10; i++; } //以3位数为例:遍历100~999 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; }question:
answer:
#include <stdio.h> int main() { int n = 9; int i = 1; while(i <= n){ int 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; }qusetion:
answer:
#include <stdio.h> int main() { int m,n; scanf("%d %d",&m,&n); int i; int cnt = 0;//素数个数 int sum = 0;//素数和 if(m == 1){//处理1的情况,1不是素数 m=2; } for(i=m; i<=n; i++){ int label = 1;//表示素数 int k; for(k=2; k<i-1; k++){ if(i%k == 0){ label = 0;//不是素数 break; } } //判断是否为素数 if( label ){ cnt++; sum += i; } } printf("%d %d",cnt,sum); return 0; }question:
answer:
#include <stdio.h> int main() { int number, n; int inp; int finished = 0;//结束标志,1:结束 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("Luck You!\n"); }else{ printf("Good Guess!\n"); } finished = 1; } if(cnt == n){ if(!finished){ printf("Game Over\n"); finished = 1; } } } while(!finished); return 0; }