实验七01140019蒋云伟Word下载.docx
《实验七01140019蒋云伟Word下载.docx》由会员分享,可在线阅读,更多相关《实验七01140019蒋云伟Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
![实验七01140019蒋云伟Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/16/6ace6027-4913-4c77-9e48-9707897f9462/6ace6027-4913-4c77-9e48-9707897f94621.gif)
intsum(a,b)
inta,b;
return(a+b);
}
(2)下面程序实现什么功能,对加粗部分进行注释。
#include<
stdio.h>
fun(intx,inty,intz)
intsum=0;
sum=x+y+z;
printf("
%d"
sum);
#include<
voidmain()
inta,b,c;
a=10;
b=5;
c=3;
fun(a,b,c);
(3)下面程序实现什么功能,对加粗部分进行注释。
intmax(int,int)
voidshowmessage()
intmax(inta,intb)
if(a>
b)
returna;
else
returnb;
printf(“函数调用开始:
\n);
intx,y,z;
inputtwointnumbers:
\n"
);
scanf("
%d,%d"
&
x,&
y);
showmessage();
z=max(x,y);
maxmum=%d"
z);
(4)下面程序实现什么功能,对加粗部分进行注释。
#include
<
voidmain()
{intt=1;
fun(fun(t));
fun(inth)
{staticinta[3]={1,2,3};
intk;
for(k=0;
k<
3;
k++)a[k]+=a[k]-h;
k++)printf("
%d,"
a[k]);
return(a[h]);
}
(5)下面程序实现什么功能,对加粗部分进行注释。
floataver(floata[5])
inti;
floatav,s=a[0];
for(i=1;
i<
5;
i++)
s=s+a[i];
av=s/5;
returnav;
floatsco[5],av;
inti;
\ninput5scores:
for(i=0;
i++)
%f"
sco[i]);
av=aver(sco)
averagescoreis%5.2f"
av);
getch();
(6)下面程序实现什么功能,对加粗部分进行注释。
longfib(intn)
{if(n>
2)
return(fib(n-1)+fib(n-2));
else
return
(2);
{printf("
fib(3));
2.填空题
(1)以下程序通过函数SunFun和f(x),x=0到10,这里f(x)=x^2+1,由F函数实现,请填空。
Thesun=%d\n"
;
sunFun(10));
SunFun(intn)
{intx,s=0;
for(x=0;
x<
=n;
x++)s+=F(______);
returns;
F(intx)
{return(x*x+1);
(2)下列的函数实现将数组中的元素值加1,请将程序补充完整
voida(_____________________________);
voidshow(_______________________________);
intarray[7]={41,52,43,24,15,56,32},i,length=7;
beforechange:
"
show(array,length);
\nafterchange:
a(array,length);
for(i=0;
length;
%d\t"
array[i]);
getch();
voida(intarray[],intlength)
_______________________;
array[i]++;
voidshow(inta[],intlength)
____________________________;
a[i]);
(3)下列程序实现从键盘上输入一组整数,存放到一个数组中,然后对它们进行从小到大排序,然后输出排序后的数据,请将程序补充完整:
#include"
stdio.h"
/*数组传递,数组名传递,形参,实参数组类型应该一致,长度应该一致*/
/*字符串数组的初始化,输入输出*/
voiddatainput(___________________________,intlength)
inti,n=length;
input%dinteger:
length);
for(i=1;
\nno%d:
i);
a[i-1]);
voidchoiseSort(___________________________,intn)
{
inti,j,k,temp;
n-1;
{
k=i;
/*给记号赋值*/
for(j=i+1;
j<
n;
j++)
_______________________________/*是k总是指向最小元素*/
if(i!
=k)
{/*当k!
=i是才交换,否则a[i]即为最小*/
/*将最小元素与a【i】交换,保证a[i]最小*/
temp=a[i];
________________________
a[k]=temp;
}
voidArrayPrintf(________________,intn)
________;
voidmymessage(chara[])
\n%s"
a);
voidshowArray(inta[6],intn)
putchar('
\n'
inta[6];
________________________________
datainput(a,length);
mymessage("
\ndatainputfinish!
choiseSort(a,length);
\ndatasortfinish,resultis:
showArray(a,length);
3.编程题
(1)已知有函数为:
s(n)=s(n-1)+n!
,已知s
(1)=1,s
(2)=s
(1)+2!
s(3)=s
(2)+3!
,试编程完成该函数,要求,n从键盘输入,s(n)函数的实现要使用递归的方法,阶乘函数的实现也要递归的方法
(2)某c语言班共有10名学生,试编程完成下列要求:
a、编写一个函数datainput,实现从键盘上录入10名学生的c语言成绩,存入数组a中
b、编写一个函数,对这些学生的成绩按照从高到低的顺序排序
c、编写一个函数,输出所有学生的成绩
d、编写一个函数,计算学生的平均分,并输出成绩大于80分的学生成绩
4.思考题
(1)使用递归的方法实现:
1+2+3+4+5+…+n,提示:
s(n)=s(n-1)+n
(2)下面函数实现什么功能,为什么
#includemath.h
intjudge(int);
intnum,result;
scanf(%d,&
num);
result=judge(num);
if(result==1)printf(yes\n);
elseprintf(no\n);
judge(intnum)
inti,flag=1!
for(i=2;
=sqrt(num)!
if(num%i==0)
flag=0;
break?
returnflag;
3>
下面函数实现什么功能,为什么
voidadd();
intresult;
result=0"
100;
i++)add();
%d\n'
result);
voidaddnnn()
staticintnum=0;
/*对static变量初始化*/
num++;
result+=num;
注:
static声明的变量在C语言中有下列特征:
1)变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。
这一点是它与堆栈变量和堆变量的区别。
2)变量用static告知编译器,自己仅仅在变量的作用范围内可见。
这一点是它与全局变量的区别。
3)对static变量的初始化操作只进行一次,但是对其赋值可以进行多次。
程序清单及运行结果:
1
(1)源程序:
……
其运行结果:
(可以是截图,有交互的每个动作都要有一幅图片,就是只要屏幕有变化就要截新图片,按下printScreen键截全屏幕,alt+printScreen截活动窗口)
(或者也可以是语言描述,这个省事,推荐)
屏幕提示:
“Pleaseinputa,b:
”
我输入:
“23,44”,回车
屏幕显示:
“23+44=6