编程题汇总答案.docx

上传人:b****5 文档编号:7471195 上传时间:2023-01-24 格式:DOCX 页数:6 大小:22.18KB
下载 相关 举报
编程题汇总答案.docx_第1页
第1页 / 共6页
编程题汇总答案.docx_第2页
第2页 / 共6页
编程题汇总答案.docx_第3页
第3页 / 共6页
编程题汇总答案.docx_第4页
第4页 / 共6页
编程题汇总答案.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

编程题汇总答案.docx

《编程题汇总答案.docx》由会员分享,可在线阅读,更多相关《编程题汇总答案.docx(6页珍藏版)》请在冰豆网上搜索。

编程题汇总答案.docx

编程题汇总答案

一、编程题(总分100)1.(分值:

2.1分)编写程序求出555555的约数中最大的三位数是多少。

参考答案:

#includevoidmain(){inta=555555;inti=100;intmax=100;while(i++<1000)if(a%i==0&&i>max)max=i;printf("%d\n",max);}2.(分值:

2.1分)输入一个正整数,要求以相反的顺序输出该数。

例如输入12345,输出位54321。

参考答案:

#includeintmain(){inti;intj;scanf("%d",&i);while(i>0){j=i%10;printf("%d",j);i=i/10;}return0;}3.(分值:

2.1分)编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+„„前50项之和。

参考答案:

#includeintmain(){

floats=0;inti;for(i=1;i<51;i++)s+=1.0/(i*(i+1));printf("%f",s);return0;}4.(分值:

2.1分)编写程序,求S=1/(1+2)+1/(2+3)+1/(3+4)+„„前50项之和。

参考答案:

#includevoidmain(){inti=1;floatsum=0;while(i<=50){sum=sum+1.0/(i+(i+1));i++;}printf("\ns=%f\n",sum);}5.(分值:

2.1分)编一通用函数sub,分别统计字符串strg中字母''A''及''a''的个数;主函数中输入一不大于80个字符的字符串,调用上述函数,输出''A''及''a''的个数。

(注:

此程序不允许使用全局变量,不允许在sub函数中输出)参考答案:

#includevoidmain(){intnum1,num2;voidsub(char[],int,int);charstrg[80];printf("请输入字符:

\n");gets(strg);sub(strg,&num1,&num2);printf("A的个数为:

%d\n",num2);printf("a的个数为:

%d\n",num1);}

voidsub(charstrg[],int*n1,int*n2){inti,a=0,A=0;for(i=0;strg[i]!

='\0';i++)if(strg[i]=='a')a++;elseif(strg[i]=='A')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"#include"math.h"#defineN100doubleavernum(double*x,doublen,doubleave){doubleaver=0.000000,a=0;inti;if(ave==0){for(i=0;i

aver=avernum(x,N,0);m=avernum(x,N,aver);printf("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函数中输出)参考答案:

#include"stdio.h"#include"math.h"#defineN300doubleavernum(double*x,doublen,doubleave){doubleaver=0.000000,a=0;inti;if(ave==0){i=0;while(i

8.(分值:

2.1分)编一通用函数maxsub,求出含有n个数据的一维数组的最大值及其所在位置(即下标);主函数中定义含有300个元素的数组x,x[I]=10*cos((3.0+I*I)/5)(I=0,1,2„„299),调用上述函数,输出此数组的最大值及其所在位置。

(注:

此程序不允许使用全局变量,不允许在maxsub函数中输出)参考答案:

#include"stdio.h"#include"math.h"#defineN300doublemaxsub(double*y,doublen,doubleave){doublemax;inti,j=0;if(ave==0){max=*y;for(i=1;i

2.1分)编一函数,统计一维整数组小于数组元素平均值的元素的个数;主函数定义x[50],x[i]=600*cos(i*0.35),调用函数,输出小于数组元素平均值的元素的个数。

参考答案:

#include"stdio.h"#include"math.h"#defineN50floatavernum(floaty[],intn){floatv,s=0;intcount=0,i=0;

while(i

2.1分)编一函数,求有50个元素的一维整数组中最大值的位置;主函数中定义y[50],y[j]=600*sin(j*0.16),调用函数,输出最大值及其位置。

参考答案:

#include"stdio.h"#include"math.h"doublemaxsub(doublex[],intnum,doublemax){inti,j;doublem=0.00000;m=x[0];j=0;if(max==0){for(i=1;im){m=x[i];j=i;}return(m);}elsereturn(j);}voidmain()

{doublea[50],max,m;inti;for(i=0;i<50;i++)a[i]=600*sin(i*0.16);max=maxsub(a,50,0);m=maxsub(a,50,max);printf("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"math.h"#include"stdio.h"#defineN300floatqmax(floata[],intn){inti=1;floatmax=a[0];while(i

12.(分值:

2.1分)求一维整型数组中的最小元素。

要求:

主函数定义数组y[50],y[j]=600*sin(j*0.16)(j=0,1,2„„49),调用自定义函数qmin求出最小元素,最后在主函数中输出结果。

参考答案:

#include"stdio.h"#include"math.h"main(){inty[50],min,j;intqmin(intx[50]);for(j=0;j<=49;j++)y[j]=600*sin(j*0.16);min=qmin(y);printf("min=%d",min);}intqmin(intx[50]){inti,min;min=x[0];for(i=1;i<=49;i++)if(x[i]

2.1分)求一维整型数组中正数的和。

要求:

主函数定义数组a[10],从键盘输入十个数,调用自定义函数求出正数的和,然后在主函数中输出结果参考答案:

#include#includevoidmain(){voidhanshu(double[],int,double*);doublea[10],he;inti;printf("请输入10个数:

\n");for(i=0;i<10;i++){printf("第%d个数:

",i+1);scanf("%lf",&a[i]);}hanshu(a,10,&he);printf("%lf",he);

}voidhanshu(doublea[],intw,double*nhe){inti;doublezhengshuhe=0;for(i=0;i0){zhengshuhe+=a[i];}}*nhe=zhengshuhe;}14.(分值:

2.1分)求n!

参考答案:

#includevoidmain(){inti,n,he;printf("请输入n:

\n");scanf("%d",&i);n=i;for(he=1;i>0;i--){he*=i;}printf("%d!

=%d",n,he);}#includevoidmain(){intjiecheng(int);inti,he;printf("请输入n:

\n");scanf("%d",&i);he=jiecheng(i);printf("%d!

=%d",i,he);}intjiecheng(inti)

{intji;for(ji=1;i>0;i--){ji*=i;}returnji;}15.(分值:

2.1分)通过调用自定义函数来完成求圆柱体的体积(v=3.14*r*r*h),要求圆柱体的高和底半径在主函数中做输入,圆柱体的体积在主函数中做输出。

参考答案:

#includefloatvolume_cy(floatr,floath){return(3.14*r*r*h);}voidmain(){floatr,h,v;printf("请输入圆柱体的半径和高度");scanf("%f%f",&r,&h);v=volume_cy(r,h);printf("\n圆柱体的体积为%f\n",v);}16.(分值:

2.1分)通过调用自定义函数完成求正方形的体积(要求:

正方体的的边长在主函数中做输入,正方体的体积在主函数中做输出)。

参考答案:

#includeintmain(){intvolume_c(inta);inta;intv;printf("pleaseinputa:

");scanf("%d",&a);v=volume_c(a);printf("v=%d\n",v);}

intvolume_c(inta){returna*a*a;}17.(分值:

2.1分)通过调用自定义函数完成找两个数的最大值(要求:

在主函数中输入两个数并且在主函数中输出最大值)。

参考答案:

#includevoidmain(){intHmax(int,int);inta,b,c;printf("请输入两个数:

");scanf("%d%d",&a,&b);c=Hmax(a,b);printf("%d和%d的最大值是%d",a,b,c);}intHmax(inta,intb){intMAX;if(a>b){MAX=a;}elseMAX=b;returnMAX;}18.(分值:

2.1分)输入10个整数,统计同时能被3和7整除的个数,将结果输出。

参考答案:

#includevoidmain(){intn=0,i,num;for(i=1;i<=10;i++){printf("请输入第%d个数:

\n",i);scanf("%d",&num);

if(num!

=0){if((num%3==0)&&(num%7==0))n++;elsecontinue;}elseprintf("输入有误。

\n");continue;}printf("能被3和7整数的个数为:

%d",n);}19.(分值:

2.1分)编写一个sum函数求和:

输入一个正整数n,统计不大于n值的所有正偶数的和,在主函数中完成输入输出。

参考答案:

#include"stdio.h"voidmain(){intn,sum=0,i;printf("请输入一个正整数:

");scanf("%d",&n);i=2;do{sum=sum+i;i+=2;}while(i

2.1分)求圆锥体积:

在主函数中输入半径和高度,调用函数求体积,要求在主函数中输出圆锥的体积。

(公式v=h*3.14*r*r/3)参考答案:

#includefloatareaT(doubler,doubleh){return3.14*r*r*h/3.0;}voidmain(){floatr,h,v;printf("请输入圆锥体的半径和高度");

scanf("%f%f",&r,&h);v=areaT(r,h);printf("\n圆锥体的体积为%f\n",v);}21.(分值:

2.1分)通过函数调用求华氏温度,要求在主函数中输入摄氏温度,在主函数中输出华氏温度。

(公式f=5/9*c+32)参考答案:

#includeintmain(){floatFra(floatc);floatc,f;scanf("%f",&c);f=Fra(c);printf("f=%f\n",f);}floatFra(floatc){floatf=5.0/9*c+32;returnf;}22.(分值:

2.1分)调用函数求梯形面积,要求在主函数中输入上底、下底和高,在主函数中输出梯形面积的值。

(公式s=(a+b)*h/2)参考答案:

#includedoubleareaT(doublea,doubleb,doubleh){return0.5*(a+b)*h;}intmain(void){doublea,b,h;printf("请输入梯形的上底、下底和高:

");scanf("%lf%lf%lf",&a,&b,&h);printf("thelength=%f,thewidth=%f,theheight=%f\nTheareaT=%f\n",a,b,h,areaT(a,b,h));return0;}

23.(分值:

2.1分)编程求1+(1+2)+…+(1+2+…+n),n的值由键盘输入。

参考答案:

#includevoidmain(){inti,j=0,n;intsum=0;printf("请输入n的值:

");scanf("%d",&n);for(i=1;i<=n;i++){j=j+i;sum=sum+j;}printf("\ns=%d\n",sum);}24.(分值:

2.1分)求包含10个元素的一维整型数组中的最小元素。

要求:

在主函数定义数组并且输入10个元素的值,调用自定义函数求出最小元素,最后在主函数中输出结果。

参考答案:

#includevoidmain(){intHmin(int[]);inta[10];inti,nmin;for(i=0;i<10;i++){printf("请输入第%d个数:

\n",i+1);scanf("%d",&a[i]);}nmin=Hmin(a);printf("最小元素为:

%d\n",nmin);}intHmin(inta[]){inti,n=a[0];for(i=1;i<10;i++){if(a[i]

continue;}returnn;}25.(分值:

2.1分)通过调用自定义函数完成找两个数的最小值(要求:

在主函数中输入两个数并且在主函数中输出最小值)。

参考答案:

#includevoidmain(){intHmin(int,int);inta,b,c;printf("请输入两个数:

");scanf("%d%d",&a,&b);c=Hmin(a,b);printf("%d和%d的最小值是%d",a,b,c);}intHmin(inta,intb){intMIN;if(a

2.1分)编写一个函数fun,函数的功能是:

判断一个整数是否既是5又是7的整倍数。

若是,输出yes,否则输出no。

在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。

参考答案:

#includevoidmain(){voidfun(int);inta;printf("请输入一个数:

\n");

scanf("%d",&a);fun(a);}voidfun(inta){intb,c;b=a%5;c=a%7;if((b==0)||(c==0)){printf("yes\n");}else{printf("no\n");}}27.(分值:

2.1分)从键盘输入一个学生的分数,要求实现这样的判断功能:

如果分数大于100,输出”Inputerror!

”如果分数介于100到90之间,输出”VeryGood!

”如果分数介于80到90只,输出”Good!

”如果分数介于70到80之间,输出”Middle”如果分数介于60到70之间,输出”Pass”如果分数小于60,输出”NoPass!

”参考答案:

#includevoidmain(){intscore;printf("yourscore:

");scanf("%d",&score);if(score<0||score>100)printf("Inputerror!

\n");elseif(score>90)printf("VeryGood!

\n");elseif(score>80)printf("Good!

\n");elseif(score>70)printf("Middle\n");elseif(score>60)printf("Pass\n");elseprintf("NoPass!

\n");}28.(分值:

2.1分)键盘输入10个实型数,求其倒数的和并输出.参考答案:

#includevoidmain(){

inti;doublen,sum=0;for(i=1;i<=10;i++){printf("请输入第%d个数:

\n",i);scanf("%lf",&n);n=1/n;sum+=n;}printf("倒数和为:

%g",sum);}29.(分值:

2.1分)判断一个学生成绩的“优、良、中、差”:

假如从键盘输入的字母是„A‟,输出评语“YouareExcellent!

”;如果输入„B‟,输出评语“Youarewell!

”;如果输入„C‟,输出评语“Youarepassing!

”;如果输入„D‟,输出评语“Youarenotpassing!

”。

如果输入的不是这四个字母,则出现提示“Inputerro

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

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

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