实验05函数程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算两个复数之积(调试示例error05_1)程序填空,不要改变与输入输出
有关的语句。
分别输入两个复数的实部与虚部,编程调用函数实现计算两个复数之积。
若两个复数分别为:c1=x1+(y1)i, c2=x2+(y2)i,则:
c1*c2 = (x1*x2-y1*y2) + (x1*y2+x2*y1)i
输入输出示例:括号内是说明
输入
1 2 (x1=1, y1=2)
-2 3 (x2=-2, y2=3)
输出
product of complex is (-5.000000)+(1.000000)i
#include
/*---------*/
int main(void)
{
float imag1, imag2, real1, real2;
scanf("%f%f", &real1, &imag1);
scanf("%f%f", &real2, &imag2);
complex_prod(real1, imag1, real2, imag2);
printf("product of complex is (%f)+(%f)i\n", result_real, result_imag);
return 0;
}
/*---------*/
使用函数求1! + 2! + … + m!(改错题error05_2)程序填空,不要改
变与输入输出有关的语句。
求1! + 2! + … + 10!,要求定义并调用函数fact(n)计算 n!,函数形参 n 的类型是int,函数类型是double。
输入输出示例:括号内是说明
输出:
1!+2!+...+10! = 4037913.000000
#include
double fact(int n);
int main(void)
{
int i;
double sum;
/*---------*/
printf("1!+2!+...+10! = %f\n", sum);
return 0;
}
/*---------*/
使用函数判断数的符号
程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat (0 输入1个整数 x,若 x 大于0,sign(x) = 1;若 x 等于0,sign(x) = 0;否则,sign(x) = -1,最后输出sign(x)的值。 要求定义和调用函数sign(x)实现该分段函数, 函数形参x的类型是int,函数类型是int。 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 (x=10) -5 (x=-5) 0 (x=0) 输出 sign(10) = 1 (x=10时sign(x)的值为1) sign(-5) = -1 (x=-5时sign(x)的值为-1) sign(0) = 0 (x=0时sign(x)的值为0) #include int sign(int x); int main(void) { int x, y; int repeat, ri; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d",&x); /*---------*/ printf("sign(%d) = %d\n", x, y); } return 0; } /*---------*/ 使用函数求奇数和程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 输入一批正整数(以零或负数为结束标志),求其中的奇数和。 要求定义和调用函数even(n) 判断数的奇偶性,当n为偶数时返回1,否则返回0,函数形参n的类型是int,函数类型是int。 输入输出示例:括号内是说明 输入 2 (repeat=2) 12 9 7 18 3 11 20 0 11 8 6 17 2 10 19 -1 输出 The sum of the odd numbers is 30. The sum of the odd numbers is 47. #include int even(int n); int main(void) { int n, sum; int ri, repeat; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d",&n); /*---------*/ printf("The sum of the odd numbers is %d.\n", sum); } return 0; } /*---------*/ 使用函数计算两点间的距离程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 给定平面任意两点坐标 (x1, y1) 和 (x2, y2),求这两点之间的距离(保留2位小数)。 要求定义和调用函数 dist(x1, y1, x2, y2)计算两点间的距离,函数形参x1、y1、x2和y2的类型都是double,函数类型是double。 输入输出示例:括号内是说明 输入 1 (repeat=1) 10 10 (x1=10, y1=10) 200 100 (x2=200, y2=100) 输出 Distance = 210.24 #include #include double dist(double x1, double y1, double x2, double y2); int main(void) { int repeat, ri; double distance, x1, y1, x2, y2; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2); /*---------*/ printf("Distance = %.2f\n", distance); } return 0; } /*---------*/ 使用函数统计素数并求和 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0