它的功能是根据以下公式求的值要求满足精度0Word下载.docx
《它的功能是根据以下公式求的值要求满足精度0Word下载.docx》由会员分享,可在线阅读,更多相关《它的功能是根据以下公式求的值要求满足精度0Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
计算并输出下列多项式值:
例如,若主函数从键盘给n输入8后,则输出为S=O.662872。
注意:
n的值要求大于l但不大于100。
部分源程序给出如下。
doublefun(intn)
{intn;
doubles;
\ninputn:
s=fun(n);
\ns=%f\n"
s);
4.请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。
例如,当n=10,x=O.3时,函数值为1.349859。
conio.h>
doublefun(doublex,intn)
{clrscr();
%f\n"
fun(0.3,10));
5.请编写函数fun,其功能是:
例如,若主函数从键盘给n输入50后,则输出为S=1.960784。
注意:
\n\ns=%f\n\n"
6.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:
将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为10、20、30、40。
string.h>
intfun(intscore[],intm,intbelow[])
{inti,n,below[9];
intscore[9]={10,20,30,40,50,60,70,80,90};
clrscr();
n=fun(score,9,below);
printf("
\nBelowtheaveragescoreare:
);
for(i=0;
i<
n;
i++)printf("
%d"
below[i]);
7.请编写一个函数voidfun(intm,intk,intxx[]),该函数的功能是:
将大于整数m且紧靠m的k个素数存入xx所指的数组中。
例如,若输入:
17,5,则应输出:
19,23,29,31,37。
voidfun(intm,intk,intxx[])
{intm,n,zz[1000];
\nPleaseentertwointegers:
%d%d"
&
m,&
n);
fun(m,n,zz);
for(m=0;
m<
m++)
zz[m]);
\n"
8.请编写一个函数intfun(int*s,intt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
例如,输入如下整数:
876675896101301401980431451777;
则输出结果为:
6,980。
intfun(int*s,intt,int*k)
{inta[10]={876,675,896,101,
301,401,980,431,451,777},k;
fun(a,10,&
k);
%d,%d\n"
k,a[k]);
9.请编写一个函数unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数作为函数值返回。
例如:
w值为5923,则函数返回923;
若w值为923,则函数返回23。
unsignedfun(unsignedw)
{unsignedx;
clrscr();
printf("
Enteraunsignedintegernumber:
);
scanf("
%u"
x);
Theoriginaldatais:
%u\n"
x);
if(x<
10)printf("
Dataerror!
elseprintf("
Theresult:
fun(x));
10.请编写函数fun,该函数的功能是:
移动一维数组中的内容:
若数组中有n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。
例如,一维数组中的原始内容为:
1,2,3,4,5,6,7,8,9,10;
p的值为3。
移动后,一维数组中的内容应为:
5,6,7,8,9,l0,l,2,3,4。
#defineN80
voidfun(int*w,intp,intn)
{inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
inti,p,n=15;
theoriginaldata:
for(i=0;
i<
n;
i++)printf("
%3d"
a[i]);
\n\nenterp:
scanf("
p);
fun(a,p,n);
\nthedataaftermoving:
\n\n"
11.请编写函数fun,其功能是:
将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
例如,若输入17,则应输出:
9和46891012141516。
voidfun(intm,int*k,intxx[])
{intm,n,zz[100];
clrscr();
printf("
\pleaseenteranintegernumberbetween10and100:
fun(n,&
m,zz);
\n\nthereare%dnon-primenumberslessthan%d:
m,n);
for(n=0;
n<
m;
n++)
\n%4d"
zz[n]);
12.请编写函数fun,该函数的功能是:
删去一维数组中所有相同的数,使之只剩一个。
数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:
2223445666677899101010。
删除后,数组中的内容应该是:
2345678910。
intfun(inta[],intn)
{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,
9,9,10,10,10,10},i,n=20;
n=fun(a,n);
\n\nthedataafterdeleted:
13.fun功能:
删除所有值为y的元素。
数组元素的值和y的值由主函数通过键盘读入。
其中n所指存储单元存放了数组中元素的个数。
#defineM20
voidfun(intbb[],int*n,inty)
{intaa[M],n,y,k;
printf("
\nPleaseentern:
n);
\nEnter%dpositivenumber:
\n"
n);
for(k=0;
k<
k++)scanf("
aa[k]);
\n"
k++)printf("
%5d"
aa[k]);
printf("
\nEnteranumbertodeleted:
scanf("
y);
fun(aa,&
n,y);
Thedataafterdeleted%d:
y);
for(k=0;
k<
n;
k++)printf("
%4d"
aa[k]);
14.定义N╳N的二维数组,并在主函数中自动赋值。
编写fun(inta[][N]),其功能是:
把数组中第一行元素的值与倒数第一行元素的值对调。
第二行元素的值与倒数第二行元素的值对调,…依此类推。
例:
a数组中原来为:
|0111279|
|19745|
|20131831|
|145682|
|1591741|
则返回主函数后a中值为:
#include"
stdio.h"
conio.h"
stdlib.h"
#defineN5
intfun(inta[][N])
main()
{inta[N][N],i,j;
*****Thearray*****\n"
for(i=0;
i<
N;
i++)
{for(j=0;
j<
j++)
{a[i][j]=rand()%30;
%4d"
a[i][j]);
fun(a);
*****THERESULT*****\n"
j++)printf("
15.下列程序定义了N×
N的二维数组,并在主函数中赋值。
请编写函数fun,函数的功能是:
求出数组周边元素的平均值并作为函数值返回给主函数中的s。
若a数组中的值为
01279
19745
a=23831
45682
59141
则返回主程序后s的值应为3.375。
stdlib.h>
doublefun(intw[][N])
{inta[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
inti,j;
doubles;
{printf("
s=fun(a);
Thesumis:
%lf\n"
s);
16.请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
#defineM3
#defineN4
voidfun(inttt[M][N],intpp[N])
{intt[M][N]={{22,45,56,30},
{19,33,45,38},
{20,22,66,40}};
intp[N],i,j,k;
for(i=0;
M;
i++){
for(j=0;
%6d"
t[i][j]);
fun(t,p);
\nTheresultis:
N;
%4d"
p[k]);
17.编写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,若输入下面的矩阵:
100200300
400500600
700800900
则程序输出:
100400700
200500800
300600900
intfun(intarray[3][3])
{inti,j;
intarray[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
3;
i++)
{for(j=0;
j<
j++)
%7d"
array[i][j]);
fun(array);
coveredarray:
18.编写函数intfun(intlim,intaa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。
#defineMAX100
intfun(intlim,intaa[MAX])
{intlimit,i,sum;
intaa[MAX];
enteraninteger"
limit);
sum=fun(limit,aa);
sum;
i++){
if(i%10==0&
&
i!
=0)printf("
aa[i]);
19.请编写一个函数fun,它的功能是:
找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。
数组元素中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
voidfun(inta[],intn,int*max,int*d)
{inti,x[20],max,index,n=10;
randomize();
for(i=0;
i<
i++){x[i]=rand()%50;
x[i]);
fun(x,n,&
max,&
index);
Max=%5d,Index=%4d\n"
max,index);
20.请编写函数fun,该函数的功能是:
将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,若二维数组中的数据为:
WWWW
SSSS
HHHH
则字符串中的内容应是WSHWSHWSH。
voidfun(char(*s)[N],char*b)
{chara[100],w[M][N]={{'
W'
'
},{'
S'
},
{'
H'
}};
inti,j;
thematrix:
j++)printf("
%3c"
w[i][j]);
fun(w,a);
theastring:
puts(a);
21.下列程序定义了N×
N的二维数组,并在主函数中自动赋值。
请编写函数fun(inta[][N],intm),该函数的功能是:
使数组右上半三角元素中的值乘以m。
若m为本2,a数组中的
19721814
a=238则返回主程序后a数组中的值应为2616
4564512
intfun(inta[][N],intm)
{inta[N][N],m,i,j;
{a[i][j]=rand()%20;
dom=rand()%10;
while(m>
=3);
m=%4d\n"
m);
fun(a,m);
THERESULT\n"
}}
22.请编写函数fun,该函数的功能是:
将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。
33333333
44444444
55555555
则一维数组中的内容应是:
333333334444444455555555
voidfun(int(*s)[10],int*b,int*n,intmm,intnn)
{intw[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j;
inta[100]={0},n=0;
{for(