我们刚刚分享了C语言函数的重要知识点,那么我们现在就来趁热打铁解决一些函数的练习题。
- 写一个函数可以判断一个数是不是素数。
话不多说,直接看代码。
#include<stdbool.h>
bool is_prime(int n)
{
//拿2~sqrt(n)之间数字试除
int j = 0;
for (j = 2; j <= sqrt(n); j++)
{
if (n % j == 0)
return false;
}
return true;//是素数
}
int main()
{
//打印100~200之间的素数
int i = 0;
int count = 0;
for (i = 101; i <= 200; i+=2)
{
//判断i是否是素数?
if (is_prime(i))
{
count++;
printf("%d ", i);
}
}
printf("\ncount = %d\n", count);
return 0;
}
这里需要注意return ture或者false要加上头文件<stdbool.h>,主函数的i通过传值调用到我们自定义的函数中,如果i不能整除2到i的平方根的数,那么它就是素数,在return ture到主函数中if判断语句中为真,就计数并且打印它,而后又进入下一次循环。
- 写一个函数判断一年是不是闰年。
bool is_leap_year(int y)
{
if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
return true;
else
return false;
}
int main()
{
int y = 0;
int count = 0;
for (y = 1000; y <= 2000; y++)
{
//判断y是否是闰年
if (is_leap_year(y))
{
count++;
printf("%d ", y);
}
}
printf("\ncount = %d\n", count);
return 0;
}
这里依旧是使用上一题的做法,在自定义函数中进行判断,在主函数中进行计数和打印,我们依然使用的是<stdbool.h>中的库函数。完成这一题的重点是我们要清楚闰年的判断原则,闰年的判断原则为该年份被4整除不能被100整除或者该年份能够被400整除,那么这个题就迎刃而解了。
所以这里我们就可以很清楚的看到该题的结果了。
3.写一个函数,每调用一次这个函数,就会将 num 的值增加1。
void Add(int* p)
{
*p = *p + 1;
}
int main()
{
int num = 0;
Add(&num);
printf("%d\n", num);
Add(&num);
printf("%d\n", num);
Add(&num);
printf("%d\n", num);
return 0;
}
这里我们用到了指针变量,将num的地址传给了p,在Add函数中将*p加上1,在传回主函数打印出来。
这里再次感谢大家的支持和关注,博主之前的博客可能质量不太高,但是在大家的鼓励和支持下博主的能力也在得到提升,再次感谢大家的支持,今天的分享就到这里,谢谢大家。