集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)
C实验报告参考答案
《高级语言程序设计》实验报告
班级: 学号: 姓名: 成绩:
实验7 函数程序设计
一、实验目的
1.掌握函数定义的方法。
掌握函数实参与形参的传递方式。
掌握函数的嵌套调用和递归调用的方法。
了解全局变量和局部变量、动态变量、静态变量的概念和使用方法。
二、实验内容
1.改错题(在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。)
(1)下列sub函数的功能为:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。纠正程序中存在的错误,以实现其功能。。
#include <>
#include <>
void sub( char s[], char t[] )
{
int i, d;
d=strlen( s );
for( i=1; i< d ; i++ ) for( i=0; i< d ; i++ )
t[i]=s[d-1-i] ;
for( i=0; i<d; i++ )
t[d+i]=s[i] ;
t[2*d]='/0' ; t[2*d]='\0'
}
main( )
{
char s[100], t[100];
printf( " Please enter string s : " );
scanf("%s" , s );
sub(s,t) ;
printf( " \n The result is : %s \n ", t );
}
(2)下列程序的功能为:将字符数组中的字符串逆序输出。纠正程序中存在的错误,以实现其功能。。
#include<>
#include<>
#define ARR_SIZE = 80; #define ARR_SIZE 80
void Inverse(char str[]) void Inverse(char str[]);
main()
{ char a[ARR_SIZE] ;
printf("Please enter a string: ");
gets(a);
Inverse(char a[]); Inverse(a);
printf ("The inversed string is: ");
puts(a);
}
void Inverse(char str[])
{ int len, i = 0, j;
char temp;
len = strlen(str);
for (j=len-1; i<j; i++, j--)
{ temp = str[i];
str[j] = str[i]; str[i] = str[j];
str[j] = temp;
}
}
(3)下列程序的功能为:求整数n的阶乘。纠正程序中存在的错误,以实现其功能。。
#include<>
int fun(int n)
{ static int p=1; int p=1;
p=p*n;
return p;
}
void main()
{ int n,i;
int f=0; int f=1;
printf("input member: ");
scanf("%d",&n);
for(i=1;i<=n;i++)
f=f*fun(i); f= fun(i);
printf("%d!=%d\n",n,f);
}
2.程序填空题
(1)下列sum()函数的功能是:计算数组x前n个
C实验报告参考答案 来自淘豆网m.daumloan.com转载请标明出处.