1:判断是否是闰年
解题思路:首先要知道怎么判断闰年,才能做这道题,能被4整除并且不能被100整除,或者能被400整除,满足其中一个,则是闰年。
以下是我个人的解题方法,答案不唯一,仅供参考。
#include "stdio.h"
int main()
{
int year = 0;
scanf("%d", &year);
if ((year % 4 == 0 )&& (year % 100 != 0) ||( year % 400 == 0))
{
printf("%d是闰年", year);
}
else
{
printf("%d不是是闰年", year);
}
return 0;
}
2:计算1-100之间出现9的个数
解题思路:9可以位于个位,也可以在十位上,因此要判断两种情况。以下答案不唯一,仅供参考。
#include "stdio.h"
int main()
{
int a = 0;
int count = 0;
for (a = 1; a <= 100; a++)
{
if (a % 10 == 9)//计算各位上的9的个数
count++;
if (a / 10 == 9)//计算十位上的9的个数
count++;
}
printf("count = %d", count);
return 0;
}
3:分数求和: 1-1/2+1/3-1/4+1/5+...+1/99-1/100
解题思路:仔细观察,发现每一个都是加减加减的,因此可以有一个中间变量,在计算的时候,进行符号的改变。还有一个需要注意的地方就是,求和的时候不能再选用int类型。
以下答案不唯一,仅供参考。
#include "stdio.h"
int main()
{
int i = 0;
float sum = 0;
int flag = 1;
for (i = 1; i <= 100; i++)
{
sum += flag * 1.0 / i;
flag = -flag;//加减加减..
}
printf("%f\n", sum);
return 0;
}
4:打印100-200之间的素数:
解题思路:首先要知道什么是素数:只能被1和本身整除的称为素数,即2到i-1之间的任意一个数都不能被整除才是素数。以下答案不唯一,仅供参考。
#include "stdio.h"
int main()
{
int i = 0;
int count = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
break;
}
}
//当i在2到i-1都不能被j整除时,此时j==i
if (j == i)
{
count++;
printf("%d ", i);
}
}
}
还有一个小细节:所有的偶数都不是素数,因此本题还可以在优化一下。本题还有更多的解题思路,留给大家自己思考吧~
#include "stdio.h"
int main()
{
int i = 0;
int count = 0;
for (i = 101; i <= 200; i+=2)
{
int j = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
break;
}
}
//当i在2到i-1都不能被j整除时,此时j==i
if (j == i)
{
count++;
printf("%d ", i);
}
}
}