题库编程题整理

更新时间:2024-05-14 12:18:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第三章 三、编程题

1.从键盘上输入一个大写字母,要求改用小写字母输出。(1级) 2.编写程序,求方程ax2+bx+c=0的解x。(1级) 3.请编写一个程序,能显示出以下两行文字。(1级) I am a student. I love China. 三、 编程题 1.#include main( ) {char c1,c2; c1=getchar( ); printf(“%c,%d\\n”,c1,c1); c2=c1+?A?-?a?; printf(“%c,%d\\n”,c2,c2); }

2.#include #include main( )

{float a,b,c,disc,x1,x2,realpart,imagpart; scanf(“%f%f%f”,&a,&b,&c); printf(“the equation”);

if(fabs(a)<=1e-6) printf(“is not quadratic”); else disc=b*b-4*a*c; if(fabs(disc) <=1e-6)

printf(“has two equal roots:%8.4f\\n”,-b/(2*a)); else if (disc>1e-6)

{x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a);

printf(“has distincr real roots: %8.4f\\n”,x1,x2); } else

{realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf(“has complex roots:\\n”);

printf(“%8.4f+%8.4fi\\n”,realpart,imagpart); printf(“%8.4f-%8.4fi\\n”,realpart,imagpart); } } 3.mian( )

{printf(“I am a student.\\n”); printf(“I love China.\\n”);

第四章 三、编程题

1.编写一个程序,要求有键盘输入三个数,计算以这三个数为边长的三角形的面积。(1级)

2.输入圆的的半径r和一个整型数k,当k=1时,计算圆的面积;但k=2时,计算圆的周长,当k=3时,既要求求圆的周长也要求出圆的面积。编程实现以上功能。(1级)

3.编写程序,判断某一年是否是闰年。(1级)

4. 有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。(03试题) x2 (x<0)

y = -0.5x+10 (0 x<10) x- (x 10)

5. 编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为‘A’;80~89分为‘B’;70~79分为‘C’;60~69分为‘D’;60分以下为‘E’。(往届试题) 6. 试编程完成如下功能:

输入一个不多于4位的整数,求出它是几位数,并逆序输出各位数字。(往届试题)

三、编程题

1.#include

#include main( )

{float a,b,c,s,s1;

printf(“Please enter 3 reals:\\n”); scanf(“%f%f%f”,&a,&b,&c); if((a+b)>c&&(a+c)>b&&(b+c)>a) {s=(a+b+c)*0.5; s1=s*(s-a)*(s-b)*(s-c); s=sqrt(s1);

printf(“\\nArea of the triangle is %f\\n”,s); } else

printf(“It is not triangle!\\n”); }

2.#include #define pi 3.14159 main( ) {int k; float r,c,a;

printf(“input r,k\\n”); scanf(“%f%d”,&r,&k); switch(k)

{case 1: a=pi*r*r; printf(“area=%f\\n”,a);break; case 2: c=2*pi*r;printf(“circle=%f\\n”,c);break;

cese 3: a=pi*r*r;c=2*pi*r;printf(“area=%f circle=%f\\n”,a,c);break; } } 3. main( ) {int year,leap; scanf(“%d”,&year); if(year%4= =0) {if(year0= =0) {if(year@0= =0) leap=1; else leap=0; }

else leap=1; }

else leap=0; if(leap)

printf(“%d is ”,year);

else printf(“%d is not ”,year); printf(“ a leap year\\n”); }

4.#include main() {float x,y; scanf(“%f”,&x); if(x<0) y=x*x;

else if(x>=0&&x<10) y=-0.5*x+10; else y=x-sqrt(x); printf(“y=%f”,y); } 5.main()

{float score; scanf(“%f”,&score); if(score>=90) printf(“A”); else if(score>=80) printf(“B”); else if(score>=70) printf(“C”); else if(score>=60) printf(“D”); else printf(“E”); } 6.main( )

{int num,a,b,c,d,p; scanf(“%d”,&num);

if(num<=9999&&num>999) p=4;

else if(num>99) p=3; else if(num>9) p=2; else if(num>0) p=1; printf(“位数是:%d\\n”,p); a=num/1000; b=num/100; c=num/10; d=num; switch(p)

{case 4:printf(“%d%d%d%d\\n”,d,c,b,a); case 3:printf(“%d%d%d \\n”,d,c,b); case 2:printf(“%d%d\\n”,d,c); case 1:printf(“%d \\n”,d); } } 第五章 五、编程题

1.编写程序,求两个整数的最大公约数。(1级)

2.把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。(1级)

3.中国古代数学家张丘建提出的“百鸡问题”:一只大公鸡值五个钱,一只母鸡值三个钱,三个小鸡值一个钱。现在有100个钱,要买100只鸡,是否可以?若可以,给出一个解,要求三种鸡都有。请写出求解该问题的程序。(1级)

4.求100~200间的全部素数。(1级)

5.整元换零钱问题。把1元兑换成1分,2分,5分的硬币,共有多少种不同换法,请编写求解此问题的程序。(1级)

6.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,...,编写程序求这个数列的前20项之和。(1级)

7.编写程序,利用公式e=1+1/1!+1/2!+1/3!+....+1/n!求出e的近似值,其中n的值由用户输入(用于控制精确度)。(1级)

8..一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:6=1+2+3,6就是完全数,请编写一程序,求出1000以内的整数中的所有完全数。其中1000由用户输入。(2级) 9.编一程序,将2000年到3000年中的所有闰年年份输出并统计出闰年的总年数,要求每10个闰年放在一行输出。(1级)

10.请编写一程序,打印出九九乘法口诀表(例:1*1=1)。(1级) 11.请编写一程序,将所有“水仙花数”打印出来,并打印出其总数。“水仙花数”是一个其各位数的立方和等于该整数的三位数。(04~05第二学期试题)

12.编写一程序,求1-3+5-7+.........-99+101的值。(1级)

13.编写程序,计算1!+2!+3!+.......+n!的值,其中n的值由用户输入。

(1级)

14.求sn=a+aa+aaa+aaaa+......+aa.....a的值,其中a是一个数字,例如:2+22+222+2222+22222(此时n=5)。n和a的值由键盘输入,请编程实现以上和过程。(1级)

15.编写程序,用迭代法求x=√a的近似根。求平方根的迭代公式为:Xn+1=(Xn+a/Xn)/2。要求前后两次求出的x的差的绝对值小于0.00001。(1级)

16.一个求从100米高度自由落下,每次落地后又反弹回原来高度的一半,再落下,求它在第10次落地时共经过多少米?第10次反弹多高?编写程序求解该问题。(1级) 17.若有如下公式:

+ + +。。。。。。。+ 试根据上述公式编程计算的近似值 (精确到10-6)。(03试题)

四、 编程题 1.mian( )

{int n=0,m=0,temp,r;

printf(“Please Input m and n value:\\n”); scanf(“%d%d”,&m,&n); if(m>n) {temp=m;

m=n; n=temp; } r=m%n; while(r!=0) {m=n; n=r; r=m%n; }

printf(“The MAX Factor is %d\\n”,n); }

2.#include main( )

{int n=1,m=0,k,mod_mn=1; printf(“Please Input m value:\\n”); scanf(“%d”,&m); n=1; for(k=0;;k++)

{mod_mn=m/(n*10); printf(“%d”,(m-mod_mn*n*10)/n); if(mod_mn= =0) break; n*=10;

} }

3.#include main( )

{int l,m,n,answer_flag=0; n=1;

printf(“Big Rooster,Hen,Chickabiddy\\n”); for(l=0;l<=20;l++)

for(m=0;m<=(100-l*5)/3;m++) {n=(100-l*5-m*3)*3;

if(l*m*n>0&&l+m+n= =100&&(l*5+m*3+n/3)= =100) {printf(“%-4d%-4d%-4d\\n”,l,m,n); answer_flag=1; } } if(answer_flag= =0) printf(“Not Answer”); }

Big Rooster,Hen,Chickabiddy 4 18 78 8 11 81 12 4 84

4.#include #include main( )

{int k,l,m,n=0; printf(“Please Input n:\\n); for(m=101;m<=200;m+=2) {if(n= =0) printf(“\\n”); k=sqrt(m); for(l=2;l<=k;l++) if(m%l= =0) break;

if(l>=k+1) {printf(“%d”,m); n++; } } }

101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

5. #include main( )

{int l,m,n,answer_flag=0; n=1;

printf(“\\n1Cent Coin,2Cent Coin,5Cent Coin\\n”); for(l=0;l<=100;l++)

for(m=0;m<=(100-l)/2;m++) {n=(100-l-m*2)/5; if(l+m*2+n*5= =100)

{printf(“%-4d%-4d%-4d\\n”,l,m,n); answer_flag+=1; } }

if(answer_flag= =0) printf(“Not Answer”);

else printf(“Total of Exchange Method is %d”,answer_flag); }

共有541种换法。 6. #include main( )

{int m1,n1,n,k,temp; float s=0;

printf(“Please Input n:\\n”); scanf(“%d”,&n); m1=1; n1=2; for(k=0;k

temp=m1; m1=n1; n1=temp+n1; }

printf(“\\ns=%f”,s); }

前20项的和为32.660259 7. #include main( ) {int k,l,n; double e=1,fact_k=1; printf(“Please Input n:”); scanf(“%d”,&n); for(k=1;k<=n;k++) {fact_k=1; for(l=1;l<=k;l++) fact_k*=1;

e+=1/(double)fact_k; }

printf(“e=%lf”,e); }

Please Input n:100

e=2.718282 8. #include main( ) {int k,l,m,n;

printf(“Please Input n:\\n”); scanf(“%d”,&n); for(k=1;k<=n;k++)

{for(m=0,l=1;l<=k/2;l++) if(!(k%l)) m+=l;

if(m= =k) printf(“M”,k); } } 6 28 496

9. #include main( )

{int year=0,number=0;

for(year=2000;year<3000;year++)

{if((year%4= =0&&year0!=0)||year@0= =0) {printf(“%d”,year); number++;

if(number= =0) printf(“\\n”); }

}

printf(“\\ntotal number of leap year is %d”,number); }

10. #include main( ) {int j,k; printf(“\\n”); for(j=1;j<10;j++) {for(k=1;k<=j;k++) printf(“%d*%d=%-4d”,k,j,j*k); printf(“\\n”); } } 11.main( ) {int i,j,k,n;

printf(“’水仙花’数是:”); for(n=100;n<1000;n++) {i=n/100; j=n/10-i*10; k=n;

if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) {

printf(“%d”,n); } } printf(“\\n”); }

’水仙花’数是:153 370 371 407 12. #include mian( )

{int k,sum=0,sign=1; for(k=1;k<=101;k+=2) {sum+=k*sign; sign*=-1; }

printf(“\\nsum=%d”,sum); }

13. #include mian( ) {int k,l,n;

double sum=0,fact_k=1; printf(“Please Input n:”); scanf(“%d”,&n); for(k=1;k<=n;k++)

{fact_k=1; for(l=1;l<=k;l++) fact_k*=l; sum+=fact_k; }

printf(“sum=%.2lf”,sum); }

14.#include main( ) {int k,l,n,a;

double sum=0,fact_k=1;

printf(“Please Input n and a value:”); scanf(“%d%d”,&n,&a); for(k=1;k<=n;k++) {fact_k=0;

for(l=1;l<=k;l++) fact_k=fact_k*10+a; sum+=fact_k; }

printf(“sum=%.2lf”,sum); }

15. #include #include

main( ) {int n,a; double x1,x2,e=1;

printf(“\\nPlease Input a value:”); scanf(“%d”,&a); x1=1;

for(n=1;e>0.00001;n++) {x2=(x1+a/x1)/2; e=fabs(x2-x1); x1=x2; }

printf(“sqrt(%d)=%lf”,a,x1); }

16.第10次落地时共经过299.609375米,第度为0.097656米

#include mian( ) {int n,k;

double x1,x2,sum=0;

printf(“\\nPlease Input times value:”); scanf(”%d”,&k); x1=100;

10次反弹高sum=100; for(n=0;n

printf(“High of %d times =%lf”,k,x1,sum); }

17.main()

{float a=1,b,pi,t=1; while(t>=1e-6) {pi=pi+t; a++; b=a*a; t=1/b; } pi=pi*6;

printf(“pi=%f”,pi); }

scanf(“%lf”,&insert_value); i=0;

while(insert_value>orig_data[i]&&i

result_data[i]= orig_data[i-1]; puts(“\\n”); for(i=0;i

{printf(“.4f”,result_data[i]); if((i+1)%5= =0) puts(“\\n”); } } 6.main( ) {int mat[20][20]; int i,m,sum=0; int j;

printf(“\\n Please input dimension of matrix(<=20)\\nm=?”); scanf(“%d”,&m);

printf(“Please input element of %d*%d matrix\\n”,m,m); for(i=0;i

scanf(“%d”,&mat[i][j]); if(m%2= =1) sum=-mat[m/2][m/2]; for(i=0;i

sum=sum+mat[i][i]+mat[i][m-1-i]; printf(“\\nsum=%d\\n”,sum); }

7. #include #include main( )

{int i,data[20]; data[0]=data[1]=1; for(i=2;i<20;i++) data[i]=data[i-1]+data[i-2]; printf(“\\n”); for(i=0;i<20;i++)

{printf(“}”,data[i]); if((i+1)%5= =0) printf(“\\n”); } } 8.main()

{int a[5][5],i,j,sum=0,min;

for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(“%d”,&a[i][j]); min=a[0][0]; for(i=0;i<5;i++) for(j=0;j<5;j++)

{if(i= =0||i= =4) sum=sum+a[i][j]; else if(j= =0||j= =4) sum=sum+a[i][j]; else if(i= =j) sum=sum+a[i][j]; else if(i+j= =4) sum=sum+a[i][j]; if(min>a[i][j]) min=a[i][j]; }

printf(“sum=%d,min=%d”,sum,min); } 9.main()

{int a[30],b[6], sum=0,k,j=0; for(k=0;k<30;k++) a[k]=(k+1)*2; for(k=0;k<30;k++)

if(k%5= =0) {b[j]=sum/5; j++; sum=0; } else sum=sum+a[k]; for(j=0;j<6;j++)

printf(“M”,b[j]); } 第七章 五、编程题

1.有一个数组,内放10个学生的英语成绩,写一个函数,求出平均分,并且打印出高于平均分的英语成绩。(04~05第二学期试题) 2.编写一个函数计算任一输入的整数的各位数字之和。主函数包括输入输出和调用该函数。(1级)

3.已有函数调用语句c=add (a,b);请编写add函数,计算两个实数a和b的和,并返回和值。(1级) double add (double x, double y) { }

4.已有变量定义语句double a=5.0;int n=5;和函数调用语句mypow (a, n);用以求a的n次方。请编写double mypow (double x, int y)函数。(2级)

double mypow (double x, int y) { n

5.已有变量定义和函数调用语句int a, b;b=sum (a);函数sum( )用以求 k, k=1

}

和数作为函数值返回。若a的值为10,经函数sum的计算后,b的值是55。请编写sum函数。(1级) sum (int n) { }

6.已有变量定义和函数调用语句:int a=1, b=﹣5, c;c=fun (a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。(1级) fun (int x, int y) { }

7.已有变量定义和函数调用语句:int x=57;isprime (x);函数isprime ( )用来判断一个整型数a是否为素数,若是素数,函数返回1,否则返回0。请编写isprime 函数。(1级) isprime (int a) { }

8.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。(2级)

9.函数的递归调用计算阶乘。(2级)

10. 输入10个学生的成绩,分别用函数实现:(往届试题) (1)求平均成绩;

(2)按分数高低进行排序并输出。

11. 若有一4*4二维数组,试编程完成如下功能:(往届试题) (1)求4*4列数组的对角线元素值之和。

(2)将二维数组元素行列互换后存入另一数组,并将此数组输出。 12. 有两个字符串,各有10个字符,是编程完成如下功能:(往届试题)

(1)分别找出两个字符串中最大的字符元素;

(2)将两字符串对应位置元素逐个比较,并统计输出两个字符串对应元素大于、小于和等于的次数。 (所有功能都通过函数调用实现) 五.编程题 1.main( )

{float grade[10],i,aver; for(i=0;i<10;i++) scanf(“%f”,grade[i]); aver=fensu(grade,10) for(i=0;i<10;i++)

if(grade[i]>aver) printf(“%f”,grade[i]); }

fensu(float a[10],int n) { float sum=0,pj; for(i=0;i

}

2.#include func(int num) {int s=0; num=abs(num); do

{s+=num; num/=10; }while(num); } main( ) {int n;

printf(“输入一个整数:”); scanf(“%d”,&n);

printf(“结果:%d”,func(n)); }

3.double add(double x,double y) {return x+y; }

4. double mypow(double x,int y) {int i; double p; p=1.0;

for(i=1;i<=y;++i) p=p*x ;

return p; }

5.sum(int n) {int i,k=0;

for(i=0;i<=n;i++) k+=i; return k; }

6.fun(int x,int y) {int z; z=fabs(x-y); return(z); }

7.isprime (int a) {int i;

for(i=2;i

8. #include \main() {int i=5; void palin(int n);

printf(\palin(i); printf(\void palin(int n) {char next; if(n<=1) {next=getchar(); printf(\putchar(next); } else

{next=getchar(); palin(n-1); putchar(next); } }

9. #include \main() {int i,n; int fact(); scanf(“%d”,&n); for(i=0;i

printf(\}

int fact(int j) {int sum; if(j==0) sum=1; else

sum=j*fact(j-1); return sum; } 10.main( )

{float average(float b[]); void sort(float b[]); float a[10],j,aver; for(j=0;j<10;j++) scanf(“%f”,&a[j]); aver=average(a); printf(“aver=%f\\n”,aver); sort(a);

for(j=0;j<10;j++) printf(“%.2f ”,a[j]); }

float average(float b[ ]) {int j; float sum=0,aver;

本文来源:https://www.bwwdw.com/article/cp97.html

Top