份二C上机编程题正式版.docx
- 文档编号:26963926
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:79
- 大小:37.84KB
份二C上机编程题正式版.docx
《份二C上机编程题正式版.docx》由会员分享,可在线阅读,更多相关《份二C上机编程题正式版.docx(79页珍藏版)》请在冰豆网上搜索。
份二C上机编程题正式版
A类数学表达式(1-10)
第1题、
编写函数fun,它的功能是:
根据以下公式求P的值,结果由函数值带回。
m与n为两个正整数且要求m>n。
m!
P=─────
n!
(m-n)!
例如:
m=12,n=8时,运行结果为495.000000。
#include
#include
floatfun(intm,intn)
{
}
main()
{
printf("P=%f\n",fun(12,8));
}
第2题、
编写函数fun,它的功能是:
利用以下所示的简单迭代方法求方程:
cos(x)-x=0的一个实根。
Xn+1=cos(Xn)迭代步骤如下:
(1)取x1初值为0.0;
(2)x0=x1,把x1的值赋给x0;
(3)x1=cos(x0),求出一个新的x1;
(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤
(2);
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出结果Root=0.739085。
#include
#include
#include
floatfun()
{
}
main()
{
printf("Root=%f\n",fun());
}
第3题、
编写函数fun,它的功能是:
求Fibonacci数列中大于t的最小的一个数,结果由函数返回。
其中Fibonacci数列F(n)的定义为:
F(0)=0,F
(1)=1
F(n)=F(n-1)+F(n-2)
例如:
当t=1000时,函数值为:
1597。
#include
#include
doublefun(intn)
{
}
main()/*主函数*/
{
printf("%f\n",fun(1000));
}
第4题、
编写函数fun,它的功能是:
根据以下公式计算s,计算结果通过形指针sn传回;s通过形参传入。
1111 (-1)^n
sn=──-──+──-──+ …… ────
1357 2n+1
例如:
若n的值为11时,输出的结果是:
S=0.764601N=11。
#include
#include
voidfun(float*sn,intn)
{
}
main()
{intn=11;floats;
fun(&s,n);
printf("S=%fN=%d\n",s,n);
}
第5题、
编写函数fun,它的功能是计算:
s=(In
(1)+In
(2)+In(3)+……+In(m))^0.5,s作为函数值返回。
在C语言中可调用log(n)函数求In(n)。
log函数的引用说明是:
doublelog(doublex)。
例如,若m的值为:
20,fun函数值为:
6.506583。
#include
#include
#include
doublefun(intm)
{
}
main()
{
printf("%f\n",fun(20));
}
第6题、
编写函数fun,它的功能是计算下列数级和,和值由函数值返回。
x^2x^3x^n
s=1+x+──+──+……+──
2!
3!
n!
例如,当n=10,x=0.3时,函数值为1.349859。
#include
#include
#include
doublefun(doublex,intn)
{
}
main()
{printf("%f\n",fun(0.3,10));
}
第7题、
编写函数fun,它的功能是:
计算并输出下列级数和:
111
s=───+───+……+─────
1×22×3n×(n+1)
例如,当n=10时,函数值为:
0.909091。
#include
#include
doublefun(intn)
{
}
main()/*主函数*/
{
printf("%f\n",fun(10));
}
第8题、
请编写一个函数fun,它的功能是:
根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):
π11×21×2×3 1×2×3×41×2×…×n
─=1+─+──+────+─────+……+────────
233×53×5×7 3×5×7×93×5×…×(2n+1)
程序运行后,如果输入精度0.0005,则程序输出为3.14…。
#include
#include
doublefun(doubleeps)
{
}
main()
{doublex;
printf("Inputeps:
");
scanf("%lf",&x);printf("\neps=%lf,PI=%lf\n",x,fun(x));
}
第9题、
请编写函数fun,其功能是:
计算并输出当x<0.97时下列多项式的值,直到|S(n)-S(n-1)|<0.000001为止。
S=1+0.5x+0.5(0.5-1)x2/2!
+……+0.5(0.5-1)(0.5-2)--------(0.5-n+1)xn/n!
例如,在主函数中从键盘给x输入0.21后,输出为:
s=1.100000。
#include
#include
doublefun(doublex)
{
}
main()
{doublex,s;
printf("Inputx:
");
scanf("%lf",&x);
s=fun(x);
printf("s=%f\n",s);
}
第10题、
请编写函数fun,其功能是:
计算并输出给定10个数的方差:
┌110┐0.5
S=│─∑(Xk-X')^2│
└10k=1┘
110
其中X'=─∑Xk
10k=1
例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,输出为s=11.730729。
#include
#include
doublefun(doublex[10])
{
}
main()
{doubles,x[10]={95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0};
inti;
printf("\nTheoriginaldatais:
\n");
for(i=0;i<10;i++)printf("%6.1f",x[i]);printf("\n\n");
s=fun(x);
printf("s=%f\n\n",s);
}
B类数学的最大与最小值(1-4)
第1题、
请编写一个函数fun,它的功能是:
找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。
数组元素中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
#include
#include
voidfun(inta[],intn,int*max,int*d)
{
}
main()
{inti,x[20],max,index,n=10;
for(i=0;i printf("\n"); fun(x,n,&max,&index); printf("Max=%5d,Index=%4d\n",max,index); } 第2题、 请编写一个函数intfun(int*s,int*t,int*k),用来求出数组中值最大的元素在数组中的下标并存放在k所指的存储单元中,并且将最大值增添在数组的最后。 形参t所指存储单元中存放数组中数据的个数。 例如,数组中的数据如下: 876675896101301401980431451777 则输出最大值的下标为: 6,数组中的内容为: 876675896101301401980431451777980 #include #defineN80 voidfun(int*s,int*t,int*k) { }main() {inta[N]={876,675,896,101,301,401,980,431,451,777},i,n,mi; n=10; printf("\nTheoriginaldata: \n"); for(i=0;i fun(a,&n,&mi); printf("Theindexofmaxis: %d\n",mi); printf("Theresult: \n"); for(i=0;i } 第3题、 请编一个函数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; 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"); } 第4题、 请编写一个函数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; fun(a,10,&k); printf("%d,%d\n",k,a[k]); } C类二维数组行列下标(1-6) 第1题、 请编写函数fun,函数的功能是: 实现B=A+A',即把矩阵A加上A的转置,存放在矩阵B中。 计算结果在main函数中输出。 例如,输入下面的矩阵: 其转置矩阵为: |123||147| |456||258| |789||369| 程序输出: |2610| |61014| |101418| #include #include voidfun(inta[3][3],intb[3][3]) { } main() {inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3]; inti,j; fun(a,t); for(i=0;i<3;i++){ for(j=0;j<3;j++) printf("%7d",t[i][j]); printf("\n"); } } 第2题、 程序定义了N×N的二维数组,并在主函数中自动赋值。 请编写函数fun(inta[][N]),函数的功能是: 使数组右上半三角元素中的值乘以m。 例如: 若m的值为2,a数组中的值为 |197| a=|238|,则返回主程序后a数组中的值应为 |456| |21814| |2616| |4512| #include #include #include #defineN5 intfun(inta[][N],intm) { } main() {inta[N][N],m,i,j; 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"); } } 第3题、 编写程序,实现矩阵(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}}; for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } fun(array); printf("Convertedarray: \n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } } 第4题、 程序定义了N×N的二维数组,并在主函数中赋值。 请编写函数fun,函数的功能是: 求出数组周边元素的和。 |01279| |19745| a=|23831| |45682| |59141| 则返回主程序后s的值应为: 54。 #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; 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); } 第5题、 请编写函数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++) {for(j=0;j<4;j++)printf("%3d",w[i][j]); printf("\n"); } fun(w,a,&n,3,4); printf("TheAarray: \n"); for(i=0;i } 第6题、 请编写函数fun,函数的功能是: 将M行N列的二维数组中的数据按列的顺序依次放到一维数组中。 例如,二维数组中的数据为: 33333333 44444444 55555555 则一维数组中的内容应是: 334455334455334455334455。 #include voidfun(ints[][10],intb[],int*n,intmm,intnn) { /*以下代码仅供参考*/ inti,j,np=0;/*np用作b数组下标*/ *n=np; } 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++) {for(j=0;j<4;j++)printf("%3d",w[i][j]); printf("\n"); } fun(w,a,&n,3,4); printf("TheAarray: \n"); for(i=0;i } D类素数(1-3) 第1题、 请编写函数fun,函数的功能是: 将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。 例如,若输入: 17,则应输出: 9和46891012141516。 #include #include voidfun(intm,int*k,intxx[]) { } main() { intm,n,zz[100]; printf("\nPleaseenteranintegernumberbetween10and100: "); scanf("%d",&n); fun(n,&m,zz); printf("\n\nThereare%dnon-primenumberslessthan%d: ",m,n); for(n=0;n printf("\n%4d\n",zz[n]); } 第2题、 将大于形参m且紧靠m的k个素数存入xx数组中。 voidfun(intm,intk,intxx[]) { /*以下代码仅供参考*/ inti,j=1,t=m+1; while(j<=k) { /*以下完成判断素数,并存放到数组xx中*/ } } main() { intm,xx[100],k,i; scanf("%d,%d",&m,&k); fun(m,k,xx); for(i=0;i printf("%3d",xx[i]); } 第3题、 请编写函数fun,其功能是: 计算并输出3到n之间所有素数的平方根之和。 例如,在主函数中从键盘给n输入100后, 输出为: sum=148.874270。 注意: 要求n的值大于2但不大于100。 #include #include doublefun(intn) { } main() {intn;doublesum; printf("\n\nInputn: ");scanf("%d",&n); sum=fun(n); printf("\n\nsum=%f\n\n",sum); } E类数学其它(1-14) 第1题、 函数fun的功能是: 将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是: 将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。 例如,当a=45,b=12。 调用该函数后,c=5241。 #include #include voidfun(inta,intb,long*c) { } main() {inta,b;longc; printf("Inputa,b: "); scanf("%d%d",&a,&b); fun(a,b,&c); printf("There
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 编程 正式版