cr:经典
题目31
求100之内的素数。
思路:
在判断素数的外面写一个for循环,从1开始判断。
代码:
#include<stdio.h>
main()
{
int i, n, sum = 0;
for (i = 2; i < 101; i++) {
for (n = 2; n < i; n++) {
if (i % n == 0) {
break;
}
}
if (n >= i) {
printf("%-3d", i);
sum++;
}
}
printf("\n\n100以内共有%d个素数。\n", sum);
}
对方:
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,n=0;
for(i=2;i<=100;i++)
{
k=(int)sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0) break;
if(j>k)
{
printf("%d ",i);
n++;
if(n%5==0)
printf("\n");
}
}
return 0;
}
反思&收获:
写代码的过程中,需要仔细思考。
cr:小林
例30
C语言求n! 要求用递归实现。
思路:
从大往小计算,1的时候有确定值。
代码:
#include<stdio.h>
int f(int n);
main()
{
int n, i;
printf("输入数字:");
scanf("%d", &n);
printf("%d!的结果是%d。\n", n, f(n));
}
int f(int n)
{
if (n == 1) {
n = 1;
}
else {
n = f(n - 1) * n;
}
return n;
}
对方:![](https://i-blog.csdnimg.cn/blog_migrate/46c06b30eb41e674d58fe9d9cd406462.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cb8292e48d4f5a4a3c6c13ae61e6334e.png)
反思&收获:
我的代码在写else里面语句体的时候,应该把值赋给一个全新的变量,而不是给n。虽然这次做对了,但是之后要注意。