eg:判断闰年
思路:闰年应能别4整除,但不会所有能被4整除的年份都是闰年。在能被100整除的年份中,只有同时能被400整除的年份才是闰年。
#include<stdio.h>
int fun(int year)
{
if ((year % 400 == 0) || (year % 4 == 0) && (year % 100 != 0))
return 1;
}
int main()
{
int n ;
printf("请输入年份:");
scanf_s("%d", &n);
if (fun(n) == 1)
{
printf("是闰年");
}
else
{
printf("不是闰年");
}
}
eg2:输出100到200之间的素数
思路1:首先判断素数,从2到n-1,判断是否存在能被n整除的数,有就不是质数,否则为质数。(可以在此基础上做出优化,因为除2之外其他偶数都不是质数,只需判断所有奇数是否为质数)
思路2:对于整数n,如果用2到sqrt(n)之间的所有整数去除,均无法整除,则n为质数。
#include<stdio.h>
#include<math.h>
int su(int x)
{
int i = 2;
for (i = 2; i <= sqrt(x); i++)
if (x%i == 0)
return 0;
if (i > sqrt(x))
{
return 1;
}
}
int main()
{
int num = 100;
for (num = 101; num <= 200; num += 2)
{
if (su(num) == 1)
{
printf("%d\n", num);
}
}
return 0;
}
这里举思路二的例子。
eg3:用函数输出乘法表,输入9,便是9*9乘法表;输入12,便为12*12乘法表。
#include<stdio.h>
void fun(int N)
{
for (int i = 1; i <= N; ++i)
{
for (int j = 1; j <= i; ++j)
{
printf("%d*%d=%2d ", j, i, j*i);
}
printf("\n");
}
}
int main()
{
int n = 0;
scanf_s("%d", &n);
fun(n);
}