C语言程序设计实验报告6

更新时间:2023-10-01 19:13:01 阅读量: 综合文库 文档下载

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

计算机基础课实验报告

题 目:《C语言程序设计》综合实训

院 系: 电气及自动化工程学院

专业年级: 电气工程及其自动化2011025班 学生姓名: 吴天一 学号: 20111331

2011年 11 月 30 日

实验7 函数

一、 实验目的

1、 掌握定义函数的方法;

2、 掌握函数实参与形参的对应关系以及“值传递”,“地址传递”的方式; 3、 掌握函数的嵌套调用和递归调用的方法;

4、 掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。 二、 实验内容和步骤 1、 改错

上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。 main() {

int,y;

printf(\ int sum(a,b) {

int a,b;

return(a+b); } }

系统给出的出错信息: c1.c

c:\\documents and settings\\administrator\\c1.c(3) : error C2143: syntax error : missing ';' before ','

c:\\documents and settings\\administrator\\c1.c(3) : warning C4091: ' ' : ignored on left of 'int ' when no variable is declared

c:\\documents and settings\\administrator\\c1.c(4) : warning C4013: 'printf' undefined; assuming extern returning int

c:\\documents and settings\\administrator\\c1.c(4) : warning C4013: 'sum' undefined; assuming extern returning int

c:\\documents and settings\\administrator\\c1.c(4) : error C2065: 'x' : undeclared identifier c:\\documents and settings\\administrator\\c1.c(4) : error C2065: 'y' : undeclared identifier c:\\documents and settings\\administrator\\c1.c(5) : error C2143: syntax error : missing ';' before 'type'

c:\\documents and settings\\administrator\\c1.c(8) : error C2065: 'a' : undeclared identifier c:\\documents and settings\\administrator\\c1.c(8) : error C2065: 'b' : undeclared identifier c:\\documents and settings\\administrator\\c1.c(10) : error C2059: syntax error : '}' 执行 cl.exe 时出错. 出错原因:

int,y;中未定义变量x; sum(x+y)应改为sum(x,y);

int sum(a,b)应改为int sum(int a,int b);

大括号位置错误,主函数末尾缺少一个大括号,应将程序末尾的大括号调至主函数末尾;

声明函数sum函数时应加分号;

未定义sum函数;

主函数末尾缺少return 0; 未输入整型变量x,y的值. 修改后的程序:

2、 程序填空

(1) 求两个正整数m,n之间的非素数之和(包含m和n)。 例如:如果m=2,n=20,则程序的输出应为:Sum is:132。 (程序有两个空(1)、(2)需要补充完整。请将程序中的(1)和(2)删除后,在相应的位置填入正确答案并调试直到得到正确结果为止。

注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!) #include #include #include prime(int m) {int i,j,k; k=sqrt(m);

/*******found********/ for((1);j<=k;j++) if(m%j==0) break;

if(j<=k)return(0); else return(1); }

main()

{int m=2,n=20,i,j,k,s; s=0;

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

/*******found********/ if((2)) s+=i;

printf(\}

(2)求一维数组a中既不能被3整除也不能被5整除的元素之和。

例如:如果数组a中的元素如下:1,8,5,10,6,18,7,2,4,12,9,11,则程序的输出结果应为: The result is:33.

(程序有两个空(1)、(2)需要补充完整。请将程序中的(1)和(2)删除后,在相应的位置填入正确答案并调试直到得到正确结果为止。

注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!) #include #include #include long int fun(arr,n) int arr[12],n; {int i;

long int s=0; for(i=0;i

if(arr[i]%3!=0&&arr[i]%5!=0) /*******found********/ (1); return(s);

}

main()

{int a[12]={1,8,5,10,6,18,7,2,4,12,9,11}; /*******found********/

printf(\}

(3)程序实现的功能是:将字符串倒序存放并输出。 例如,当字符串为”This is a c Program” 输出:”margorP c a sI sihT”

(注意:以下给出部分源程序请在/*******begin********/与/*******end********/之间填入你编写的若干语句。请勿改动其它位置的任何内容。) #include #include void fun(char str1[]) {

/*******begin********/ /*******end*********/ }

main()

{char str1[80]=\printf(\fun(str1);

printf(\nono(str1); }

nono(char str1[]) {FILE*f;

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

Top