(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)
第一题:三位数
有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;
}