- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验六函数
一,实验目的:
1,掌握定义函数的方法.
2,掌握函数实参与形参的对应关系,以及值传递的方式.
3,掌握函数的嵌套调用和递归调用的方法.
4,掌握全局变量和局部变量动态变量,静态变量的概念和使用方法.
二,实验准备:
1,复习函数调用的基本理论知识.
2,复习函数的嵌套调用和递归调用的方法.
3,复习全局变量,局部变量;静态变量,动态变量;外部变量等概念和具体使用.
4,源程序.
三,实验步骤及内容:
1,运行程序并回答问题
(1)程序
main()
{play(3);
}
voidprint_star()
{printf(**********\n)
}
voidprint_message()
{printf(GoodFriend!\n);
}
voidplay(n)
intn;
{inti;
for(i=1;i=n;++i)
{print_star();
print_message();
}
}
问题:运行后出现什么错误为什么应如何修改请上机调试.
修改:main()
{play(3);
}
voidprint_star()
{printf(**********\n);(缺少分号)
}
voidprint_message()
{printf(GoodFriend!\n);
}
play(n)(原先void的与声明类型不同)
intn;
{inti;
for(i=1;i=n;++i)
{print_star();
print_message();
}
getch();
}
运行结果
(2)以下程序用于计算1+2+3+4+5.
main()
{inti,sum;
for(i=1;i=5;++i)
sum=add(i);
printf(sum=%d\n,sum);
getch();
}
add(a)
inta;
{staticints=0;
s=s+a;
return(s);
}
运行结果:
问题:此程序能否得到正确结果为什么请在不增加语句的条件下,修改程序并上机调试.
(3)程序
intx=567,y=890;
main()
{printf(x=%d,y=%d\n,x,y);
}
运行结果:
问题:运行程序后出现什么错误为什么如何修改
答:定义位置出错,y的定义在主函数之后了,将y的定义改在和x一样的位置处。
2,程序填空
本程序的作用是在三位正整数中寻找符合下列条件的整数,它既是完全平方数,又有两位数字相同,例如144,676等,下列程序要找出所有满足上述条件的三位数并输出.
main()
{intn,k,a,b,c;
for(k=10;;k++)
{
n=k*k;
if(n999)
break;
a=n/100;
b=(n%100)/10;
c=n%10;
if(flag(a,b,c))
printf(N=%d=%d*%d\n,n,k,k);
}getch();
}
flag(x,y,z)
intx,y,z;
{return!((x-y)*((x-z))*(y-z));
}
运行结果:
3,编写下列问题的源程序并上机调试运行.
(1)用一个函数来实现将一行字符串中最长的单词输出.此行字符串从主函数传递给该函数.(习题8.10)
charstr[100];
main()
{
voidlength();
printf(Inputastring:\n);
gets(str);
length();
getch();
}
voidlength()
{
intmax=0,count=0,i;
for(i=0;str[i];i++)
{
if(str[i]=Astr[i]=Z)
{
count++;
}
elseif(str[i]=astr[i]=z)
{
count++;
}
else
{
if(maxcount)
{
max=count;
}
count=0;
}
}
if(maxcount)printf(%d,max);
elseprintf(%d,count);
}
(2)写一个函数,输入一个十六进制数,输出相应的十进制数.6)
#includestdio.h
#includeconio.h
文档评论(0)