(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)
第一题:三位数
有1、2、3、4四个数字,可以组成多少个互不相同且无重复数字的三位数?都是多少?
思路:首先创建三个变量分别表示三位数的个位,十位,百位,在创建一个变量用于计数
int a, b, c;//首先创建三个变量分别表示三位数的个位,十位,百位 int sum = 0;//用于计数
//接着用for循环对三位数进行输出
for (a = 1; a < 5; a++)//确保三位数都在1-4之内 { for (b = 1; b < 5; b++) { for (c = 1; c < 5; c++) { //因为三位数各不相同,所以用if语句进行判断 if (a != b && b != c && a != c) { printf("%d%d%d\n", a, b, c); sum++; }
总代码如下:
#include<stdio.h> int main() { int a, b, c;//首先创建三个变量分别表示三位数的个位,十位,百位 int sum = 0;//用于计数 //接着用for循环对三位数进行输出 for (a = 1; a < 5; a++)//确保三位数都在1-4之内 { for (b = 1; b < 5; b++) { for (c = 1; c < 5; c++) { //因为三位数各不相同,所以用if语句进行判断 if (a != b && b != c && a != c) { printf("%d%d%d\n", a, b, c); sum++; } } } } printf("sum = %d", sum); return 0; }
第二题 :菱形
思路:我们可以将菱形分为上下两个部分进行打印
先创建变量,确定要打印菱形的行数
int a = 0; scanf("%d", &a);//行数
先打印上半部分
int b = 0; for (b = 0; b < a; b++) { int c = 0; int d = 0; for (c = 0; c < a-b-1; c++)//确定每一行空格数量 { printf(" ", c);//打印空格 } for (d = 0; d < 2 * b + 1; d++)//确定每一行*数量 { printf("*", d);//打印* } printf("\n"); }
再打印下半部分
int e = 0; for (e = 0; e < a - 1; e++) { int i = 0; int p = 0; for (i = 0; i <=e; i++) { printf(" ", i); } for (p = 0; p < 2*(a-e-1) - 1; p++) { printf("*", p); } printf("\n"); }
总代码如下
#include<stdio.h> // * // *** // ***** // ******* // ***** // *** // * int main() { int a = 0; scanf("%d", &a);//行数 int b = 0; int e = 0; //先打印上半部分 for (b = 0; b < a; b++) { int c = 0; int d = 0; for (c = 0; c < a-b-1; c++) { printf(" ", c);//打印空格 } for (d = 0; d < 2 * b + 1; d++) { printf("*", d);//打印* } printf("\n"); } //再打印下半部分 for (e = 0; e < a - 1; e++) { int i = 0; int p = 0; for (i = 0; i <=e; i++) { printf(" ", i); } for (p = 0; p < 2*(a-e-1) - 1; p++) { printf("*", p); } printf("\n"); } return 0; }
第三题:猜数字
要求我们制作一个100以内猜数字的游戏,根据系统提示,直到猜到准确数字
先创建一个随机数,作为我们要猜的数字
int c = 0; int guess = 0; c = rand() % 100 + 1;
注意!为了防止每一次系统给出的随机值都相同,这里我们需要创建一个随机数种子
srand((unsigned int)time(NULL));
然后用while循环判断我们猜的数字与电脑给的数字之间的关系
while (1) { printf("请输入猜想值"); scanf("%d", &guess); if (guess > c) { printf("小于猜想值\n"); } else if (guess < c) { printf("大于猜想值\n"); } else if (guess == c) { printf("答对啦\n"); break; } }
现在游戏的基本框架已经搭建好了,接下来就是一系列优化
总代码如下
#include<stdio.h> #include<stdlib.h> #include<time.h> void a() { printf("1.play 0.exit\n"); } void game() { int c = 0; int guess = 0; c = rand() % 100 + 1; while (1) { printf("请输入猜想值"); scanf("%d", &guess); if (guess > c) { printf("小于猜想值\n"); } else if (guess < c) { printf("大于猜想值\n"); } else if (guess == c) { printf("答对啦\n"); break; } } } int main() { int b = 0; srand((unsigned int)time(NULL));//创建随机数种子,使每一次的随机数都不一样 do { a(); printf("请选择>:"); scanf("%d", &b); switch(b) { case 1: game(); break; case 0: printf("退出游戏\n"); break; default: printf("输入错误\n"); break; } } while (b); return 0; }