编程题汇总答案Word格式.docx
- 文档编号:16384211
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:38
- 大小:24.45KB
编程题汇总答案Word格式.docx
《编程题汇总答案Word格式.docx》由会员分享,可在线阅读,更多相关《编程题汇总答案Word格式.docx(38页珍藏版)》请在冰豆网上搜索。
51;
i++)
s+=1.0/(i*(i+1));
printf("
%f"
s);
4.(分值:
2.1分)编写程序,求S=1/(1+2)+1/(2+3)+1/(3+4)+……前50项之和。
inti=1;
floatsum=0;
while(i<
=50)
sum=sum+1.0/(i+(i+1));
i++;
\ns=%f\n"
sum);
5.(分值:
2.1分)编一通用函数sub,分别统计字符串strg中字母'
'
A'
及'
a'
的个数;
主函数中输入一不大于80个字符的字符串,调用上述函数,输出'
的个数。
(注:
此程序不允许使用全局变量,不允许在sub函数中输出)
#include<
intnum1,num2;
voidsub(char[],int,int);
charstrg[80];
请输入字符:
\n"
);
gets(strg);
sub(strg,&
num1,&
num2);
A的个数为:
num2);
a的个数为:
num1);
voidsub(charstrg[],int*n1,int*n2)
inti,a=0,A=0;
for(i=0;
strg[i]!
='
\0'
;
i++)
if(strg[i]=='
)
a++;
elseif(strg[i]=='
A++;
*n1=a;
*n2=A;
6.(分值:
2.1分)编一通用函数avernum,计算含有n个数据的一维数组的平均值,并统计此
数组中大于平均值的数据的个数;
主函数中定义含有100个元素的数组x,x[I]=200*cos(I*0.875)(I=0,1,2……99),调用上述函数,输出此数组的平均值及大于平均值的数据的个数。
此程序不允许使用全局变量,不允许在avernum函数中输出)
#include"
stdio.h"
math.h"
#defineN100
doubleavernum(double*x,doublen,doubleave)
{doubleaver=0.000000,a=0;
if(ave==0)
{for(i=0;
i<
n;
i++)
aver=aver+*(x+i);
aver=aver/n;
returnaver;
}
else
if(ave<
*(x+i))a++;
returna;
{doublex[N],m,aver;
N;
x[i]=200*cos(i*0.875);
aver=avernum(x,N,0);
m=avernum(x,N,aver);
aver=%f\nm=%f\n"
aver,m);
7.(分值:
2.1分)编一通用函数avermax,计算含有n个数据的一维数组的平均值,并求出此
数组中大于平均值的数据之和;
主函数中定义含有300个元素的数组x,x[I]=10*cos((3.0+I*I)/5)(I=0,1,2……299),调用上述函数,输出此数组的平均值及大于平均值的数据之和。
此程序不允许使用全局变量,不允许在avermax函数中输出)
#defineN300
{i=0;
while(i<
n)
{aver=aver+*(x+i);
i++;
}
{if(ave<
*(x+i))a+=*(x+i);
inti=0;
while(i<
N)
{x[i]=10*cos((3.0+i*i)/5);
8.(分值:
2.1分)编一通用函数maxsub,求出含有n个数据的一维数组的最大值及其所在位
置(即下标);
主函数中定义含有300个元素的数组x,x[I]=10*cos((3.0+I*I)/5)(I=0,1,2……299),调用上述函数,输出此数组的最大值及其所在位置。
此程序不允许使用全局变量,不允许在maxsub函数中输出)
doublemaxsub(double*y,doublen,doubleave)
{doublemax;
inti,j=0;
{max=*y;
for(i=1;
if(max<
*(y+i))
{max=*(y+i);
j++;
returnmax;
returnj;
x[i]=10*cos((3.0+i*i)/5);
aver=maxsub(x,N,0);
m=maxsub(x,N,aver);
9.(分值:
2.1分)编一函数,统计一维整数组小于数组元素平均值的元素的个数;
主函数定义
x[50],x[i]=600*cos(i*0.35),调用函数,输出小于数组元素平均值的元素的个数。
#include"
#defineN50
floatavernum(floaty[],intn)
{floatv,s=0;
intcount=0,i=0;
n)
{s+=y[i];
i++;
v=s/n;
i=0;
{if(y[i]<
v)
count++;
return(count);
{floatx[N];
inti=0;
N)
{x[i]=600*cos(i*0.35);
%f\n"
avernum(x,50));
10.(分值:
2.1分)编一函数,求有50个元素的一维整数组中最大值的位置;
主函数中定义
y[50],y[j]=600*sin(j*0.16),调用函数,输出最大值及其位置。
doublemaxsub(doublex[],intnum,doublemax)
inti,j;
doublem=0.00000;
m=x[0];
j=0;
if(max==0)
{for(i=1;
i<
num;
if(x[i]>
m)
m=x[i];
j=i;
return(m);
else
return(j);
voidmain()
{doublea[50],max,m;
50;
a[i]=600*sin(i*0.16);
max=maxsub(a,50,0);
m=maxsub(a,50,max);
m=%f,J=%f\n"
max,m);
11.(分值:
2.1分)求一维实型数组中最大元素。
要求:
主函数中定义含有300个元素的数组x,x[i]=10*cos((3.0+i*i)/5)(i=0,1,2……299),调用自定义函数qmax求出最大元素,然后在主函数中输出结果。
#include"
#include"
floatqmax(floata[],intn)
inti=1;
floatmax=a[0];
{
a[i])
max=a[i];
return(max);
floatx[N],max;
x[i]=10*cos(3.0+i*i)/5;
max=qmax(x,N);
%10.4f\n"
12.(分值:
2.1分)求一维整型数组中的最小元素。
主函数定义数组y[50],y[j]=600*sin(j*0.16)(j=0,1,2……49),调用自定义函数qmin
求出最小元素,最后在主函数中输出结果。
#include
"
main()
{
int
y[50],min,
j;
qmin(int
x[50]);
for(j=0;
j<
=49;
j++)
y[j]=600*sin(j*0.16);
min=qmin(y);
printf("
min=%d"
min);
}
x[50])
i,min;
min=x[0];
for(i=1;
i++)
if(x[i]<
min)
min=x[i];
return(min);
13.(分值:
2.1分)求一维整型数组中正数的和。
主函数定义数组a[10],从键盘输入十个数,调用自定义函数求出正数的和,然后在主函数中输出结果
math.h>
voidhanshu(double[],int,double*);
doublea[10],he;
请输入10个数:
10;
第%d个数:
i+1);
scanf("
%lf"
&
a[i]);
hanshu(a,10,&
he);
he);
voidhanshu(doublea[],intw,double*nhe)
doublezhengshuhe=0;
w;
if(a[i]>
0)
{
zhengshuhe+=a[i];
}
*nhe=zhengshuhe;
14.(分值:
2.1分)求n!
。
inti,n,he;
请输入n:
n=i;
for(he=1;
0;
i--)
he*=i;
%d!
=%d"
n,he);
intjiecheng(int);
inti,he;
he=jiecheng(i);
i,he);
intjiecheng(inti)
intji;
for(ji=1;
ji*=i;
returnji;
15.(分值:
2.1分)通过调用自定义函数来完成求圆柱体的体积(v=3.14*r*r*h),
要求圆柱体的高和底半径在主函数中做输入,圆柱体的体积在主函数中做输出。
floatvolume_cy(floatr,floath)
return(3.14*r*r*h);
{floatr,h,v;
请输入圆柱体的半径和高度"
scanf("
%f%f"
r,&
h);
v=volume_cy(r,h);
\n圆柱体的体积为%f\n"
v);
16.(分值:
2.1分)通过调用自定义函数完成求正方形的体积(要求:
正方体的的边长在主函
数中做输入,正方体的体积在主函数中做输出)。
intvolume_c(inta);
inta;
intv;
pleaseinputa:
a);
v=volume_c(a);
v=%d\n"
intvolume_c(inta)
returna*a*a;
17.(分值:
2.1分)通过调用自定义函数完成找两个数的最大值(要求:
在主函数中输入两个
数并且在主函数中输出最大值)。
intHmax(int,int);
inta,b,c;
请输入两个数:
%d%d"
a,&
b);
c=Hmax(a,b);
%d和%d的最大值是%d"
a,b,c);
intHmax(inta,intb)
intMAX;
if(a>
b)
MAX=a;
else
MAX=b;
returnMAX;
18.(分值:
2.1分)输入10个整数,统计同时能被3和7整除的个数,将结果输出。
intn=0,i,num;
=10;
请输入第%d个数:
i);
num);
if(num!
=0)
if((num%3==0)&
(num%7==0))
n++;
else
continue;
else
输入有误。
continue;
能被3和7整数的个数为:
n);
19.(分值:
2.1分)编写一个sum函数求和:
输入一个正整数n,统计不大于n值的所有正偶数的和,在主函数中完成输入输出。
intn,sum=0,i;
请输入一个正整数:
scanf("
n);
i=2;
do
{sum=sum+i;
i+=2;
}while(i<
n);
sum);
20.(分值:
2.1分)求圆锥体积:
在主函数中输入半径和高度,调用函数求体积,要求在主函
数中输出圆锥的体积。
(公式v=h*3.14*r*r/3)
floatareaT(doubler,doubleh)
return3.14*r*r*h/3.0;
floatr,h,v;
请输入圆锥体的半径和高度"
r,&
v=areaT(r,h);
\n圆锥体的体积为%f\n"
v);
21.(分值:
2.1分)通过函数调用求华氏温度,要求在主函数中输入摄氏温度,在主函数中输
出华氏温度。
(公式f=5/9*c+32)
floatFra(floatc);
floatc,f;
c);
f=Fra(c);
f=%f\n"
f);
floatFra(floatc)
floatf=5.0/9*c+32;
returnf;
22.(分值:
2.1分)调用函数求梯形面积,要求在主函数中输入上底、下底和高,在主函数中
输出梯形面积的值。
(公式s=(a+b)*h/2)
doubleareaT(doublea,doubleb,doubleh)
return0.5*(a+b)*h;
intmain(void)
doublea,b,h;
请输入梯形的上底、下底和高:
%lf%lf%lf"
a,&
b,&
thelength=%f,thewidth=%f,theheight=%f\nTheareaT=%f\n"
a,b,h,areaT(a,b,h));
23.(分值:
2.1分)编程求1+(1+2)+…+(1+2+…+n),n的值由键盘输入。
voidmain()
{
inti,j=0,n;
intsum=0;
请输入n的值:
=n;
{j=j+i;
sum=sum+j;
\ns=%d\n"
sum);
24.(分值:
2.1分)求包含10个元素的一维整型数组中的最小元素。
在主函数定义数组并且输入10个元素的值,调用自定义函数求出最小元素,最后在主函数中输出结果。
intHmin(int[]);
inta[10];
inti,nmin;
nmin=Hmin(a);
最小元素为:
nmin);
intHmin(inta[])
inti,n=a[0];
if(a[i]<
n=a[i];
continue;
returnn;
25.(分值:
2.1分)通过调用自定义函数完成找两个数的最小值(要求:
数并且在主函数中输出最小值)。
intHmin(int,int);
c=Hmin(a,b);
%d和%d的最小值是%d"
intHmin(inta,intb)
intMIN;
if(a<
MIN=a;
MIN=b;
returnMIN;
26.(分值:
2.1分)编写一个函数fun,函数的功能是:
判断一个整数是否既是5又是7的整倍数。
若是,输出yes,否则输出no。
在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。
voidfun(int);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 汇总 答案