- 乘法口诀表
- 示例一:打印乘法九九表
- 示例二:写一个函数输入行数打印乘法表
- 输出100~200内的素数
- 第一种方法
- 第二种方法
示例一:打印乘法九九表
分析:产生如下九九乘法表的形式,首先确定要打印出九行九列的乘法表,可以使用for循环产生九行,然后嵌套一个判断需要根据几行产生几列的for循环。
代码如下:
>//九九乘法表 >#includeint main() { int i = 0; for (i = 1; i <= 9; i++) { int j = 0; for (j = 1; j <= i; j++) { printf("%d*%d=%-2d ", i, j, i * j); } printf("n"); } return 0; }
示例二:写一个函数输入行数打印乘法表输入行数打印乘法口诀表需要产生如下结果。
分析:输入行数,产生一个乘法表,首先我们应该用产生一个输入值,然后它的行是可变的,我们写一个print_table函数,行要变化的话,它的列也会随行数而变,同样用for循环嵌套使用。
代码如下:
#include输出100~200内的素数int print_table(int n) { int i = 0; for (i = 1; i <= n; i++) { int j = 0; for (j = 1; j <= i; j++) { printf("%d*%d=%-2d ", i, j, i * j); } printf("n"); } } int main() { int n = 0; scanf("%d", &n); print_table(n); return 0; }
第一种方法首先素数的概念我们需要知道,只能被1和它本身整除的数就叫素数。
分析:假设我们要判断7是否为素数,那我们则需要拿2~6之间的数和7相除。可以看到判断一个数 i 为素数,只要拿 i 和 2 ~ i-1之间的数相除来判断是否整除。那就简单了,我们首先产生100-200之间的数,但是我们可以知道偶数一定不是素数。所以我们从101开始输入。可以假设当令flag变量为1时,i为素数。同时我们也可以计算100-200之间素数个数。
代码如下:
#includeint main() { int i = 0; int count = 0; for (i = 101; i <= 200; i+=2) { //判断i是否为素数 //拿2-i-1之间的数字去试除i int j = 0; int flag = 1;//flag是1,表示是素数 for (j = 2; j <=i - 1; j++) { if (i % j == 0) { flag = 0; break; } } if (flag == 1) { count++; printf("%d ", i); } } printf("ncount = %dn", count); return 0; }
第二种方法代码实现效果:
分析:第一种的方法在代码实现的方法太繁琐了,需要除到i-1;有没有一种跟简单的方法,当然是有的。例:判断16是否为素数,16不是素数,它可以写成44也可以写成28,可以发现一个数字总是会小于开平方的数字。如果用最小的数字除以开平方的数能整除说明这个数字不是素数。
代码如下:
#include#inlcude int main() { int i = 0; int count = 0; for (i = 101; i <= 200; i+=2)//偶数不可能是素数,产生奇数 { int j = 0; int flag = 1;//flag是1,表示是素数 for (j = 2; j <= sqrt(i); j++) { if (i % j == 0) { flag = 0; break; } } if (flag == 1) { count++; printf("%d ", i); } } printf("ncount = %dn", count); return 0; }
代码实现效果:
写成函数形式:只要判断函数内,是素数返回1,不是返回0。
代码如下:
#include#include int is_prime(int n) { int j = 0; for (j = 2; j <= sqrt(n); j++) { if (n % j == 0) { return 0; } } return 1; } int main() { int i = 0; int count = 0; for (i = 101; i <= 200; i += 2)//偶数不可能是素数,产生奇数 { if (is_prime(i)==1) { printf("%d ", i); count++; } } printf("ncount = %dn", count); return 0; }
写在最后✨:码字不易,如果对你有帮助的话,给个三连支持以下吧或者关注以下,或者点个赞再走叭。感谢!



