C语言实验五函数doc.docx
《C语言实验五函数doc.docx》由会员分享,可在线阅读,更多相关《C语言实验五函数doc.docx(19页珍藏版)》请在冰豆网上搜索。
![C语言实验五函数doc.docx](https://file1.bdocx.com/fileroot1/2022-11/20/15acb898-88d0-4e77-9419-edc7402c8e00/15acb898-88d0-4e77-9419-edc7402c8e001.gif)
C语言实验五函数doc
0868■计算多项式1・x+x*x/2!
・xfx/3!
*・・•的和(函数)
时间限制:
1000毫秒
内存限制:
32768K字节
总提次数:
1427次
成功提交次数:
988次
判题规则:
严格比较
问题描述
计算多项式l-x+x*x/2!
-x*x*x/3!
+.・・的和直到末项的绝对值小于eps为止。
要求:
1、编写xF的函数。
2、编写n!
的函数。
输入
输入二个double类型的数x和esp.
输出
以,z%.31f\n“的格式输出
输入样列
30.0001
输出样例
0.050
出处
答案:
#include#include
doublefang(doublex,intn)
{
inti;
doubleresult=l;
for(i=l;i<=n;i++)
resuresult*x;
:
returnresult;
}
doublefact(intn)
{
inti;
doubleresult=l;
for(i=l;i<=n;i++)
result*=i;
:
returnresult;
}
intmain()
{
intn=l.;
doublex,epszy;
doublesum=l;
scanf("%1f%1fn,&x,&eps);y=3*eps;
while(fabs(y)>=eps)
else
sumHsumly、
34.}
35・printf(=%・31f、sum)"
36•return0;
28•yHf^ng(Xun)\f2ct(n)、29・n++;
30・if(n%2专1)
31•sumHsum+y;
0869■计算a+aa+aaa++aaaaaaa(函数)
时间限制:
1000毫秒
内存限制:
32768K字节
总提次数:
1449次
成功提交次数:
1097次
判题规则:
严格比较
问题描述
输入整数a(l<=n<=9)和n,计算a+aa+aaa++aaaaaaa的值。
编写计算n个a的函数.
输入
输入整数a(l<=a<=9)和n
输出
在单独一行中输出表达式的值。
输入样列
25
输出样例
24690
出处
ymc
答案:
#include
longasd(inta,intn)
{
inti;
longresult=0;
for(i=l;i<=n;i++)
result=result*10+a;
returnresult;
}
intmain()
{
inta,nfi;
longsum=0;
scanf(”%d%dn,&a,&n);
for(i=l;i<=n;i++)
sum+=asd(a,i);
printf(n%ld\nn,sum);
return0;
}
0870■统计素数个数(函数)
时间限制:
1000毫秒
内存限制:
32768K字节
总提次数:
1017次
成功提交次数:
685次
判题规则:
严格比较
问题描述
输入二个整数叫n(l编写判断素数的函数
intPrime(intn)
如果是非索数,返回0,是素数,返回1.
输入
测试数据有多组,
输入二个整数m,n(l当m=n=0时,结束。
输出
输出有多组,每组输出占一行,即对应的区间中索数的个数。
输入样列
1530
2060
输出样例
出处
ymc
答案:
01・#include02•intprime(intm)
03.{
04・
intresult,i;
05.
inta=0;
06.
for(i=2;i07.
{
08.
if(m%i==0)
09.
a+=l;
10.
}
11.
if(a==0)
12.
resul;
13.
else
14•
result=0;
15.
:
returnresult;
16.}
17.intmain()
18.{
19.
intm,n,i;
20.
intsum;
while
(1){
sum=O;
scanf(”%d%d”,&n);
if(m==0&&n==0)
break;
for(i=m;i<=n;i++)sum+=prime(i);
printf(n%d\nn,sum);}return0;
0876■计算整数的最大公约数(函数)
时间限制:
1000毫秒
内存限制:
32768K字节
总提次数:
511次
成功提交次数:
358次
判题规则:
严格比较
问题描述
计算n个整数的最大公约数
要求:
1、用函数编写计算n个整数的最大公约数。
步骤:
首先假设第一个数为最大公约数,假如能被所有的数整除,则为最大公约数否则最大公约数继续下一次判断。
2、编写输入n个整数的函数,并在mainO屮调用
intf(inta(]zintn)/*计算n个整数的最大公约数的函数*/
voidinput(intb[],intn)/★输入n个元素至lj一维数组*/
{
}
3、用全局变显垂做一次
输入
第一行为整数的个数n(n<100),第二行是n个用空格分开的整数。
输出
输在单独的一行中输出一个整数,即对应的最大公约数。
(以、'%d\n”,的格式输出)
输入样列
4
1536921
输出样例
3
出处
ymc
答案:
01•#include02•intn;
03•intf(inta[])
04.{
05.
int
••j;
06.
int
count;
07.
for
(i=a[0];i>0;i--)
08.
{
09.
count=l;
10.
for(j=0;j:
Ll・
{
12.
if(a[j]%i!
=0)
13.
count=0
14・
break;
15.
}
16.
}
17.
if(count==l)
18.
break;
returni;
}
intmain()
{
inti,x;
inta[100];
scanf(n%dH,&n);
for(i=0;iscanf(H%dIf,&Q[i]));
x=f(a);
printf(n%d\nn,x);
return0;
0877-计算一维数组的平均值(函数)
时间限制:
1000毫秒
内存限制:
32768K字节
总提次数:
692次
成功提交次数:
528次
判题规则:
严格比较
问题描述
计算double类型的一维数组的平均值
输入
测试数据有多组,
第一个数为测试数组的个数t。
然后是t行,每行的输入描述如下:
第一个数为一维数组元素的个数n(n<100),然后为n个浮点数,所有数Z间用一个空格分开。
输出
每组测试数拯输出一行,该行中为改组数的平均值。
保留小数3位。
输入样列
2
512345
412234556
输出样例
3.000
出处
ymc
答案:
♦include
doublepj(doublea[],intn){
inti;
doubleresult;
intsum=0;
for(i=0;isum+=a[i];
result=sum/n;
returnresult;
}
intmain()
{
intn,i,j9m;
doublex;
doublea[100];
scanf(n%dH,&m);
for(j=l;j<=m;j++)
{
scanf(”%d”,&n);
for(i=0;iscanf(n%lf,f,&Q[i]));
24・
X=pj(azn);
25・
printf(n%・31f\n”,x);
26.
}
27.
return0;
0878■计算二维数组的最大值及下标(全局变量)
时间限制:
1000毫秒
内存限制:
32768K字节
总提次数:
555次
成功提交次数:
348次
判题规则:
严格比较
问题描述
计算二维数组的最大值及下标:
要求:
1、用函数计算二维数组的最大值及下标,因为函数只能返回一个值,用全局变量解题。
输入
第一行为二维数组的行数m和列数n(2然后是个元素
输出
一行输出,分别为最大值,行下标、列下标,数与数Z间用一个空格分开。
输入样列
32
15
215
53
输出样例
出处
ymc
答案:
ffinclude
inthmax;
intlmax;
intfun(intzu[10][11]intmrintn)
{
inti,j,max=0;
for(i=0;i{
for(j=0;j{
if(max{
max=zu[i][j];
hmax=i;
lmax=j;
}
}
}returnmax;
}
intmain()
24
25
26
27
28
29
30
31
32
33
34
35
36
37
inti,j,n,max;
intzu[10][11];
scanf(n%d%dn,&m,&n);
for(i=0;i{
for(j=0;j{
scanf(H%dn,&zu[i][j]);
}
}
max=fun(zu,m,n);
printf(”%d%d%d\nHrmax,hmax,Imax);
return0;
38・}
0879■字符串拷贝(函数)
时间限制:
1000毫秒
内存限制:
32768K字节
总提次数:
380次
成功提交次数:
299次
判题规则:
严格比较
问题描述
不用库函数,口编•函数,实现字符串拷贝功能。
输入
输入一字符串(长度不超过100)
输出
在单独一行中输出拷贝后的字符窜。
输入样列
wenzhouuniversity•
输出样例
出处
wenzhouuniversity•
ymc
答案:
#includeintmain()
{
chara[100];
inti;
for(i=0;i<100;i++)
{
scanf(H%c",&a[i]);printf(n%cnza[i]);
if(a[i]==,\n,)
break;
}
return0;
}
0881■一维数组排序(函数)
时