实验7答案及实验8

更新时间:2023-09-24 10:36:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验7 函数

【实验目的】

1.掌握C语言中定义函数的方法

2.掌握函数嵌套调用和递归调用的方法。 3.掌握通过“值传递”调用函数的方法。 4.掌握宏定义的方法

5.掌握文件包含的处理方法 【实验内容】

1.编写程序,计算下面公式并输出结果。

Cmn?n!

(n?m)!m!要求:(1)编写一个函数计算n!

(2)编写主函数,由键盘输入n和m,调用(1)中的函数完成计算。

(3)输入n和m要给出提示,并检查n和m的合理性,不合理的输入应输出错误信息,并不再进行计算。

(4)运行程序并计算

C、85C、72C1、8C7、7C08。

参考程序:

long int fun(int n) {int i;

long int a=1; for(i=2;i<=n;i++) a=a*i; return a; }

main() {

int n,m; long int s;

printf(\ scanf(\ if(n

{ printf(\ s=fun(n)/fun(n-m)/fun(m);

printf(\}

2.将一个正整数n以相反的顺序输出的递归算法可以如下描述:

如果 要输出的整数只有一位

则 输出该整数 否则 输出整数的个位数字 反向输出除个位以外的全部数字 结束

请编写主程序,调用上述算法,反向输出正整数n。如输入123,则输出321。 参考程序: void fun(int n) {

if(0<=n&&n<=9) printf(\ else {

printf(\ fun(n/10); } }

main() {

int n;

printf(\ scanf(\ fun(n); }

3.请编写函数fun,起功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。合并的方式是:将a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。

例如,当a=45,b=12,调用该函数后,c=5241。 参考程序

int f(int x,int y) { int t; t=(x)*1000+(x/10)*10+(y/10)+(y)*100; return t; }

void main() { int a,b,c; scanf(\ c=f(a,b); printf(\}

4.请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5 或9 整除的所有自然数的倒数之和。

例如,若主函数从键盘给n 输入20后,则输出为s=0.853333。 注意:n 的值要求不大于100。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include double fun(int n) {

int i;

double sum=0.0; for(i=1;i<=n;i++) if(i%5==0||i%9==0) sum+=1.0/i; return sum; }

main() { int n; double s;

printf(\scanf(\s=fun(n);

printf(\}

实验8 使用文件的程序设计

【实验目的】

1.掌握文件与文件指针的概念。

2.学习使用文件打开、文件关闭、读写文件等基本的文件操作函数。 【实验内容】

编写程序,从文件输入某宿舍楼6家住户某月的水电消耗量及水费和电费标准,计算各户应交纳的水费和电费。

数据及要求如下:

1.水费标准为:1.5元/吨,电费标准为:0.5元,6户人家的信息如下表:

住户地址 水耗(吨) 电耗(度) 101 201 301 401 501 601 5 4 4 3 5 6 150 90 120 78 60 105 将表中信息按下面格式组织在文件input.dat中:

1.5 0.5 101 5 150 102 4 90 103 4 120 104 3 78 105 5 60 106 6 105

要求程序从文件input.dat中读取上述数据。

2.分别计算每户应交纳的电费、水费以及电费水费的总和。 3.汇总全部住户水费、电费的总和。

4.将计算结果按下面格式写入文件charge.dat中。表格线不必输出,如果实验环境不支持中文,第一行内容可使用英文或拼音码表示。

住户地址 水耗(吨) 水费(元) 电耗(度) 电费(元) 合计(元) 101 201 301 401 501 601 total

5 4 4 3 5 6 27 7.5 6 6 4.5 7.5 9 40.5 150 90 120 78 60 105 603 75 45 60 39 30 52.5 301.5 82.5 51 66 43.5 37.5 61.5 342

本文来源:https://www.bwwdw.com/article/jr0d.html

Top