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