网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言程序设计实验六函数答案《西北民大电气学院》.doc

C语言程序设计实验六函数答案《西北民大电气学院》.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

友情 + 关注
实名认证
内容提供者

好文件大家都可以分享

1亿VIP精品文档

相关文档