(1). 写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。
本程序应当准备以下测试数据:17、34、2,1、0。分别输入数据,运行程序并检查结果是否正确。
(可以考虑两种不同解法:①有返回值:把输入的整数作为实参,传递给形参后,数据处理判断后返回值1或0,给回主函数作为判断是否素数的依据;②无返回值:直接把函数调用作为一句语句,在自定义函数里判断是否素数并输出结果。)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
void s1(int x);
int x;
printf("请输入一个数:\n");
scanf_s("%d", &x);
s1(x);
system("pause");
return 0;
}
void s1(int x)
{
int i, n;
for (i = 2; i <= x; i++)
{
n = x - i * (x / i);
if (n == 0)
{ break;
}
}
if (i == x)
{
printf("%d是素数\n", x);
}
else
{
printf("%d不是素数\n", x);
}
}
(2). 编写程序,调用函数求一个圆柱体的表面积和体积。
(自定义两个函数,分别求解表面积和体积,要求函数类型为double型,设计好形参表列,也就是理清需要从实参处得到哪些数值)
#include <stdio.h>
#define Pi 3.1415926
void fun(int h, int r)
{
float area, volume;
area = 2 * Pi * r * r + 2 * Pi * r;
volume = 2 * Pi * r * r * h;
printf("The surface area of this cylinder is %f, the volume is %f.", area, volume);
}
int main(void)
{
int h, r;
printf("Please enter the height and radius of the cylinder:");
scanf("%d%d", &h, &r);
fun(h, r);
}
(3). 用递归法,求解xn的值。其中n为整数(n>=0),x不等于0。
(找出该题的基例和链条,用if-else语句组织递归函数mypow()。确定好形参的个数。学有余力的同学可以把考虑n<0的情况考虑进去)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int f(int x, int n) {
if (n == 0) {
return 1;
}
else {
return x * f(x, n - 1);
}
}
int main() {
int a, b,c;
printf("请输入x和n:");
scanf("%d%d", &a, &b);
c = f(a, b);
printf("结果为%d", c);
return 0;}
这一节考察我们对函数的应用,其实更多的是和之前学习的内容的结合,函数的调用,同之前学习的函数使用其实大同小异,需要我们掌握之前学习的内容的基础上加以练习