1、判断最大公约数
2、判断1000到2000年的闰年
3、输出100到200之间的素数
4、打印乘法口诀表
5、制作一个猜数字小游戏
判断两个数的最大公约数
//判断两个数的最大公约数 辗转相除法
#include <stdio.h>
int main()
{
int m = 0;
int n = 0;
int r = 0;
scanf_s("%d %d", &m, &n);
while (r = m % n)
{
m = n;
n = r;
}
printf("最大公约数为:%d", n);
return 0;
}
判断1000到2000之间的闰年
//计算1000到2000年之间的闰年
//闰年:能被4整除,不能被100整除;能被400整除。
#include <stdio.h>
int main()
{
int i = 0;
int count = 0;
int year = 1000;
for (year = 1000; year <= 2000; year++)
{
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
printf("%d是闰年\n", year);
count++;
}
}
printf("1000到2000年之间共有%d个闰年", count);
return 0;
}
判断100到200之间的素数
//判断100到200之间的素数 试除法
#include <stdio.h>
#include <math.h>
int main()
{
int i = 100;
int j = 0;
int count = 0;
//非素数一定可以分解为一个小于根号下它的数和另一个数相乘;偶数一定不是素数所以加2
for (i = 101; i <= 200; i = i + 2)
{
//sqrt(i)试开根号函数
//j从2开始递增,如果sqrt(i)能整除j则证明不是素数,跳出循环进行下一个数的判定
for (j = 2; j <= sqrt(i); j++)
{
if (i%j == 0)
{
break;
}
}
//如果j已经大于sqrt(i)了证明这是一个素数
if (j > sqrt(i))
{
printf("%d ", i);
count++;
}
}
printf("\n100到200之间总共有%d个素数", count);
return 0;
}
打印9*9乘法表
//打印9*9乘法表
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
int res = 0;
for (i = 1; i <= 9; i++)
{
for (j=1;j<=i;j++)
{
res = i * j;
//%-2d的作用是占两位,左对齐;同理%2d的作用是占两位,右对齐。
printf("%d*%d=%-2d ", i, j, res);
}
printf("\n");
}
return 0;
}
猜数字游戏
//猜数字小游戏
#include <stdio.h>
#include <time.h>
#include <Windows.h>
void Game()
{
int ret = 0;
int gus = 0;
system("cls");
printf("游戏开始,请猜数\n");
ret = rand() % 100 + 1;
while (1)
{
scanf_s("%d", &gus);
if (gus < ret)
{
printf("您猜小了,请重猜\n");
}
else if (gus > ret)
{
printf("您猜大了,请重猜\n");
}
else
{
printf("恭喜您猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
printf("************************************\n");
printf("****** 1 play 2 exit ******\n");
printf("************************************\n");
scanf_s("%d", &input);
switch (input)
{
case 1:
Game();
case 2:
printf("游戏结束\n");
break;
default :
printf("请输入 1 或 2 \n");
}
} while (input!=2);
return 0;
}