份二C上机编程题正式版.docx

上传人:b****4 文档编号:26963926 上传时间:2023-06-24 格式:DOCX 页数:79 大小:37.84KB
下载 相关 举报
份二C上机编程题正式版.docx_第1页
第1页 / 共79页
份二C上机编程题正式版.docx_第2页
第2页 / 共79页
份二C上机编程题正式版.docx_第3页
第3页 / 共79页
份二C上机编程题正式版.docx_第4页
第4页 / 共79页
份二C上机编程题正式版.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

份二C上机编程题正式版.docx

《份二C上机编程题正式版.docx》由会员分享,可在线阅读,更多相关《份二C上机编程题正式版.docx(79页珍藏版)》请在冰豆网上搜索。

份二C上机编程题正式版.docx

份二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模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1