1.九九乘法表
双循环即可完成,第一层循环打印行数,第二层循环打印列数,最后依靠循环变量打印出乘法表。
#includeint main() { int i, j; for (i = 1; i <= 9; i++)//行数 { for (j = 1; j <= i; j++)列数 { printf("%d*%d = %-2d ", i, j, i * j);//打印乘法口诀 } printf("n");//每一行打印结束进行换行 } }
这是打印出来的效果
1.1 九九乘法表还有进阶版本,也就是可以打印任意行的乘法表实现如下:
实现效果大同小异,只是可以自由控制打印的行数
#includeint main() { int i, j, n; scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = 1; j <= i; j++) { printf("%2d*%d = %-3d ", i, j, i * j); } printf("n"); } }
2.打印素数
我们最常见的判断素数的方法是:除1和它本身之外的数字无法进行整除
实现如下:
#includeint main() { int i, j, n; scanf("%d", &n); if (n == 1)//1不是素数 { printf("不是素数n"); } for (i = 2; i < n; i++)//判断从2到它本身是否可以被整除 { if (n % i == 0) { printf("不是素数n"); break; } } if (n == i)//都不可以整除,是素数 { printf("是素数n"); } return 0; }
接下来我们打印100~200之间的素数,代码如下:
#includeint main() { int i, j; for (i = 100; i <= 200; i++) { for (j = 2; j < i; j++) { if (i % j == 0) { break; } } if (j == i) { printf("%d ", i); } } return 0; }
打印出来的效果如下:
除此之外我们还有更简单的方法。
比如:除2之外的数字一定不为素数;从2到sqrt(n)中没有可以整除的数则是素数。
#include#include int main() { int i, j, k = 0; for (i = 101; i <= 200; i+=2) { for (j = 2; j <= sqrt(i); j++) { k = 0; if (i % j == 0) { k = 1; break; } } if (k == 0) { printf("%d ", i); } } return 0; }
打印出来的结果也是一样的。
3.打印闰年
可以被4整除不能被100整除并且可以被400整除的年份为闰年。
下面是代码的实现。
#includeint main() { int i, j; for (i = 1000; i <= 2000; i++)//打印1000到2000之间的闰年 { if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)//判断 { printf("%d ", i); } } return 0; }
4.打印n的阶乘以及n个阶乘的累加
#includeint main() { int i, n, m = 1;//m要初始化为1 scanf("%d", &n); for (i = 1; i <= n; i++) { m *= i;//让m累乘i, i = 1,2,3,4,5 } printf("%dn", m); return 0; }
如果是n个阶乘的累加也很简单 思路如下:
n = 5,m = 1!+2!+3!+4!+5!;
将每一次循环进行的累乘加在一起即可实现,如下:
#includeint main() { int i, n, m = 1, k = 0; scanf("%d", &n); for (i = 1; i <= n; i++) { m *= i;//累乘 k += m;//累加 } printf("%dn", k); return 0; }
5.猜数字游戏
猜数字游戏的具体实现在我以前的文章里,这里只给出代码
#define _CRT_SECURE_NO_WARNINGS #include#include #include #include void menu() { printf("****************************n"); printf("**** 1.Play 0.exit ****n"); printf("****** 1.1.1版本 ******n"); printf("****************************n"); } void game() { int a = 0,len = 100,len1 = 0;//len为大值初始为100,len1为小值初始为0 printf("游戏开始n"); int ret = 0; ret = rand() % 100 + 1; //printf("(Plug-in --> The number is %d)n",ret);//这是外挂 for (a = 1; a <= 5; a++) { int b = 0,count = 0; printf("请输入你猜的数字:"); scanf("%d", &b); if (b > ret) { len = b;//当玩家猜大的时候,将玩家输入的猜大的的数值 作为游戏的最大值,并存到len里 if (a != 5) { printf("猜大了,范围是%d - %dn",len1,len); } } else if (b < ret) { len1 = b;//当玩家猜小的时候,将玩家输入的猜小的的数值 作为游戏的最小值,并存到len1里 if (a != 5) { printf("猜小了,范围是%d - %dn", len1, len); } } else { printf("猜对了,数字是:%dn", b); } } printf("答案是:%dn", ret); system("pause"); Sleep(1000); system("cls"); } int main() { srand((unsigned int)time(NULL)); int input = 0; system("cls"); Sleep(1000); do { menu(); printf("请开始游戏,输入1或0:(1/0)n"); scanf("%d", &input); switch (input) { case 1: system("cls"); Sleep(1000); game(); break; case 0: printf("游戏结束n"); break; default: system("cls"); printf("输入错误,请在输入一次n"); break; } Sleep(1000); } while (input); return 0; }
希望我的文章可以对你有帮助,期待老铁们的三连哦。



