实验7 函数

更新时间:2023-12-14 04:21:01 阅读量: 教育文库 文档下载

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

实验7 函 数

姓名:

专业: 计算机科学与技术 同组人:

学班

号级

: 1107082106 : 物联网

实验日期: 2011-12-05

【实验目的与要求】

? ? ? ?

掌握函数声明、定义和使用的方法; 掌握函数递归调用的方法;

掌握全局变量、局部变量、静态局部变量的概念和使用方法; 掌握定义头文件的方法,学会建立和调试多文件程序。

【实验内容与步骤】

1. 程序改错题

(1) 输入并运行下面的程序,查看编译时的出错信息,分析出错的原因,然后修改这个程序使其能够正常运行。程序以文件名sy7_1.c存盘。

#include \void main() {

getFloat(9.9); }

float getFloat(float m) {

printf(\ retutn m; }

请给出正确的程序: #include \void main() {

float getFloat(float m); getFloat(9.9); }

float getFloat(float m) {

printf(\ return m; }

//没有输出语句怎么输出?

请给出程序运行测试结果: //没有输出语句怎么输出?

1

(2)下列程序的功能为:求三角形面积,请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy7_2.c存盘。

#include \ #include \

area(float,float,float); void main() {

float a,b,c;

printf(\请输入三角形的三个边长值:\\n\ scanf(\ if(a+b>c&&a+c>b&&b+c>a) printf(\ }

area(float a,float b,float c) {

float s,area_s; s=(a+b+c)/2.0;

area_s=sqrt(s*(s-a)*(s-b)*(s-c)); return(area_s); }

请给出正确的程序: #include \ #include \

float area(float,float,float); void main() {

float a,b,c;

printf(\请输入三角形的三个边长值:\\n\ scanf(\ if(a+b>c&&a+c>b&&b+c>a) printf(\ }

float area(float a,float b,float c) {

float s,area_s; s=(a+b+c)/2.0;

area_s=sqrt(s*(s-a)*(s-b)*(s-c)); return(area_s); }

请给出程序运行测试结果:

2. 程序填空

(1)下列程序的功能为:输出如下图形, 请填写适当的符号或语句,使程序实现其

2

功能,程序以文件名sy7_3.c存盘。

#include \

void print(int i) //根据传入参数i,输出一行由2*i-1个数字i组成的字符 {

int j,k;

for(j=1;j<=30-i;j++) printf(\ //输出空格

for(k=1;k<= ;k++) //控制输出字符个数 printf( ); printf(\}

void main() {

int i;

for(i=1;i<=7;i++) ; //调用函数print(i) for(i=6;i>=1;i--) ; //调用函数print(i) }

请给出正确的程序: #include \

void print(int i) //根据传入参数i,输出一行由2*i-1个数字i组成的字符 {

int j,k;

for(j=1;j<=30-i;j++) printf(\ //输出空格

for(k=1;k<=2*i-1;k++) //控制输出字符个数 printf(\ printf(\}

void main() { int i;

for(i=1;i<=7;i++) print(i) ; //调用函数print(i) for(i=6;i>=1;i--) print(i) ; //调用函数print(i) }

请给出程序运行测试结果:

3

(2) 以下程序的功能是计算s=#include “stdio.h” long fun(int n) {

int i; long m;

m= ; for(i=1; i<=n; i++)

m= ; return m; }

void main() {

long m; int k,n;

scanf(“%d”,&n); m= ;

for(k=0;k<=n;k++)

m=m+ ; printf(“%ld\\n”,m); }

请给出正确的程序: #include \long fun(int n) {

?k!k?0n,补足所缺语句。

4

int i; long m;

m=1 ;

for(i=1; i<=n; i++) m=m*i ; return m; }

void main() {

long m; int k,n;

scanf(\ m=0 ;

for(k=0;k<=n;k++) m=m+fun(n) ; printf(\}

请给出程序运行测试结果:

3. 程序编写

(1).编写一个函数prt(c,n),重复打印n次给定的字符c。在主函数中调用prt(c,n)函数,

打印一个直角三角形。 如:prt(*,6)的结果如下:

【实验提示】函数prt(c,n)完成输出功能,是一个void函数,有两个参数。 请给出程序源码: #include void main() {

void prt(char,int); char c; int n;

scanf(\ prt(c,n); }

void prt(char c,int n) {

int i,j;

5

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

Top