大一C语言题库.pdf
《大一C语言题库.pdf》由会员分享,可在线阅读,更多相关《大一C语言题库.pdf(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、编程大题1.有一函数:当 x0 时,y=lo编一程序,输入x 的值,输出y 的值。#includeint main()(int x,y;scanf(%d,&x);if(x=0)if(x0)y=l;else y=0;else y=l;printf(x=%d/y=%dn/x/y);return 0;2,输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。#include int main()float a,b,c,t;scanf(%f,%f,%f“,&a,&b,&c);if(ab)printfC嗨 NfZSNfZSNfXn,abc);return 0;t=a;a=b;b=t;)if(
2、ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;3,有三个整数a,b,c,由键盘输入,输出其中最大者。#includeint main()int a,b,c,max;printf(请输入 a,b,cn);scanf(”d,%d,%cT,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(最大的数为dn,max);return 0;4.编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include void main()(float r,I,s;float pi=3.1415926;pri
3、ntf(表输入圆半径r:);scanf(%fz&r);l=2*pi*r;s=pi*r*r;printf(圆周长为:l=%6.2fn,1);printf(圆面积为:s=%6.2fn,s);5.有分段函数:当 x10 时,y=sqrt(x)o编一程序,输入x的值,输出y的值。#includeint main()(int x,y;scanf(%d,&x);if(x-10)y=abs(x)+5;else if(x=10)y=4*x-8;else y=sqrt(x);printf(,x=%d/y=%dn/x,y);return 0;6.编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能
4、被100整除,或者可以被400整除。)#include int main()int yearjeap;printf(enter year:1);scanf(d”,&year);if(year%4=0)if(year%100=0)if(year%400=0)leap=l;else leap=0;else leap=l;else leap=0;if(leap)printf(%d is,year);else printf(%d is nottyear);printf(a leap year.n);return 0;7,输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式
5、为c 二的(f32)#include int main()float c,f;printf(请输入一个华氏温度:);scanf(%f,&f);c=(5.0/9.0)*(f-32);printf(摄氏温度为:%5.2fn,c);return 0;)8.有一函数:当x l时,y=|x|;当 l=x=10时,y=3x+l函 编一程序,输入x 的值,输出y 的值。#include#include void main()(int x,y;printf(输入 x:);scanf(%d,&x);if(xl)y=abs(x);else if(x*p2)t=pl;pl=p2;p2=t;if(*pl*p3)t=p
6、l;pl=p3;p3=t;if(*p2*p3)t=p2;p2=p3;p3=t;printf(%d,%d,%dn,*pl,*p2,*p3);)10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。#include void main()(char ch;scanf(%cz&ch);ch=(ch=A&ch=Z)?(ch+32):ch;printf(%cn“,ch);)11.编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include void main()(float r,h,v,s;
7、float pi=3.1415926;printf(表输入圆半径r、圆柱高h:”);scanf(l,%f%f/&r,&h);v=pi*r*r*h;s=2*pi*r*r+2*pi*r*h;printf(圆柱体积为:v=%6.2fn,v);printf(“圆柱表面积为:s=%6.2fn”,s);12.编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include void main()(float r,h,v,s;float pi=3.1415926;printf(表输入圆半径r、圆柱高h:);scanf(”%f%f”,&r,&h);v=pi*
8、r*r*h;s=2*pi*r*r+2*pi*r*h;printf(圆柱体积为:v=%6.2fnv);printf(圆柱表面积为:s=%6.2fn”,s);13.有三个整数a,b,c,由键盘输入,输出其中最小者。#includeint main()int a,b,c,max;printf(请输入 a,b,cn);scanf(d,%d%cT,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(最小的数为 dn,max);return 0;14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
9、#include void main()(char ch;scanf(%c,&ch);ch=(ch=A&ch=Z)?(ch+32):ch;printf(%cn“,ch);15.输入三角形的三边长,求三角形面积。求三角形面积的公式为area=sqrt(s(s-a)(s-b)(sc),其中 s=(a+b+c)/2#include#include void main()(float a,b,c,s,area;scanf(1,%f%f%f,/&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(%fnzarea);)16.编程求2!+4!
10、+6!+8!+10!的值,并输出结果。#include int main()(int n=l,sum=Oj/m=l/i;for(i=l;i=5;i+)m=l;for(j=l;j=2*i;j+)m=m*j;sum=sum+m;)printf(sum=%dn,zsum);return 0;17.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时就剩一个桃子了。求第一天共摘了多少个桃子。#includeint main()(int day,xlzx2;day=9;x
11、2=l;while(day0)xl=(x2+l)*2;x2=xl;day-;printf(total=%dn,xl);return 0;18.输出所有的“水仙花数”,所 谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。#includevoid main()(int i,j,k,n;printf(narcissus numbers are);for(n=100;n1000;n+)(i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%5d,n);)printf(n);19.编程求l100之间的所有素数,并输出结果。incl
12、ude#include int main()(int n,m=0,k,i;for(n=l;n=100;n=n+2)k=sqrt(n);for(i=2;i=k+l)printf(%d,n);m=m+l;)if(m%10=0)printf(nn);)pnntf(nH);return 0;)20.编程求l!+3!+5!+7!+9!的值,并输出结果。#include int main()(int n=l,sum=0,j,m=lJ;for(i=l;i=5;i+)m=l;for(j=l;j=2*i-l;j+)m=m*j;sum=sum+m;)printf(sum=%dnn,sum);return 0;)2
13、1.用p i/l-3+g/7+公式求p i的近似值,直到某一项的绝对值小于10的-6次方为止。#include#include int main()int sign=l;double pi=0,n=l,term=l;while(fabs(term)=le-6)pi=pi+term;n=n+2;sign=-sign;term=sign/n;pi=pi*4;printf(pi=%10.8fn,pi);return 0;22.一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米?#includeint main()(int i;double
14、m=100,sum=0;for(i=0;i10;i+)sum=sum+m;m=m/2;printf(,%fnzsum);return 0;23.输入两个正整数m 和 n,求其最大公约数和最小公倍数。#includevoid main()(int p,r,n,m,temp;printf(请输入 n 和 m:);scanf(”%d,%d,%d,&n,&m);if(nm)temp=n;n=m;m=temp;p=n*m;while(m!=O)(r=n%m;n=m;m=r;printf(:%dn,n);printf(:%dn,p/n);)24.利用循环,编程求l!+2!+3!+10!的值,并输出结果。#
15、include int main()(int n=l,sum=0j,m=lzi;for(i=l;i=10;i+)m=l;for(j=l;j=i;j+)m=m*j;sum=sum+m;)printf(sum=%dn/sum);return 0;)25.有一分数序列:如 切,58昭 1犯 21/13,求出这个数列前20项之和。#includeint main()(int i,n=20;double a=2,b=l,s=0,t;for(i=l;i=n;i+)(s=s+a/b;t=a,a=a+b,b=t;printf(sum=%16.10fn,s);return 0;26.求Fibonacci数列前4
16、0个数。这个数列有以下特点:第 1 和第2 个数为1,从第3 个数开始,该数是其前面两个数之和。#include int main()int fl=l,f2=l,f3;int i;printf(%12dn%12dn,fl,f2);for(i=l;i=38;i+)f3=fl+f2;printf(%12dn,f3);fl=f2;f2=f3;return 0;27.一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6 的因子为1、2、3,而 6=1+2+3,因此6 是完数。编程求1000以内所有完数。include int main()int m,s,i;for(m=2;m1000;m+)s=
17、0;for(i=l;im;i+)if(m%i)=0)s=s+i;if(s=m)printf(%djts factors are”,m);for(i=l;im;i+)if(m%i=0)printf(%d J);printf(nn);return 0;28.求 S=a+aa+aaa+.+aa.a(n 个 a)之值。其中 a 是一个数字,n 代表 a 的位数。例如:2+22+222+2222+22222(此时n 为 5),n 由键盘输入。include int main()(int a,sn=0,tn=0,kj=l/n;printf(a/n=:n);scanf(d,%cT,&a,&n);while(
18、i=n)(tn=tn+a;sn=sn+tn;a=a*10;+i;)printf(a+aa+aaa+.=%dnzsn);return 0;29.编程求100200之间的所有素数,并输出结果。/include#include int main()(int n,m=O,k,i;for(n=101;n=200;n=n+2)k=sqrt(n);for(i=2;i=k+l)printf(%d,n);m=m+l;)if(m%10=0)printf(n);printf(n);return 0;30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includevoid main()(cha
19、r c;int letters=0,space=0,digit=0,other=0;printfCXn);while(c=getchar()!=n)if(c=9&c=A&c=0&c=,9,)digit+;elseother+;)printf(:%dn:%dn:%dn:%dn,Jetters/space,digit/other);)31.将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,4,3,2,0 o 要求改为0,2,3,4,6,80#include#define N 6void main()int aN,i,temp;printf(enter array a:n);for(i=0;i
20、N;i+)scanf(%d,&ai);printf(array a:n);for(i=0;iN;i+)printf(%4dzai);for(i=0;iN/2;i+)(temp=ai;ai=aN-i-l;aN-i-l=temp;printf(n Now,array a:n);for(i=0;iN;i+)printf(%d”向i);printf(n);)32.编写一个函数,求数列1+团+3+加+必利用主函数调用这个函数并输出结果。#include#includevoid main()(int izs=l;float n,t,a;t=l;a=0;n=l;printf(input n:,n);whil
21、e(i=n)a=a+t;i=i+;t=s/i;printf(a=%10.6fn/a);)33.将一个二维数组inta3的行和列的元素互换,存到另外一个二维数组中。include void main()(inta23=l,2,3,4,5,6;int b32,i,j;printf(array a:n);for(i=O;i=l;i+)(for(j=O;j=2;j+)printf(%5d,aij);bUi=aij;)printf(n);)printf(array b:n);for(i=0;i=2;i+)(for(j=0;j=l;j+)printf(%5d,biU);printf(n);)34.利用循环
22、输出以下图形*/include int main()(int i,j,m;for(i=l;i=5;i+)m=i;for(m=l;mi;m+)printf();for(j=0;j=5-i;j+)printf(*);printf(n);)return 0;35.用冒泡排序法对输入的10个数进行降序排序,并存入数组中。int paixu(x)intx;intfor(j=l;j10;j+)for(i=0;ixi+l)t=xi+l;xi+l=xi;xi=t;main()int y10;int i;for(i=0;i10;i+)scanf(”%d”,&yi);paixu(y);for(i=0;i10;i+
23、)printf(%5d,yi);printf(n);)36.有一个3乘4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。#include void main()(int i,j,row=0,colum=0,max;inta34=L2,3,4,9,8,7,6,-10,10,-5,2;max=a00;for(i=0;i=2;i+)for(j=O;jmax)(max=aij;row=i;colum=j;printf(max=%d,row=%d,colum=%dn,max,row,colum);)37用冒泡排序法对输入的10个数进行升序排序,并存入数组中。int paixu(x
24、)intx;int i,j,t;for(j=l;j10;j+)for(i=0;ixi+l)t=xi+l;xi+l=xi;xi=t;)main()int y10;int i;for(i=0;i10;i+)scanf(%d,&yi);paixu(y);for(i=0;i10;i+)printf(%5d,yi);printf(n);38.利用循环,输出以下图形*#include int main()int i,j,m;for(i=0;i5;i+)(m=i;for(m=0;mi;m+)printf();for(j=0;j5;j+)printf(*);printf(n);return 0;39.输出以下
25、杨辉三角形(要求输出10行)。11 11 2 11 3 3 11 4 6 4 11 15 1010 5 1main()static intb0l=l;for(m=l;mll;m+)for(n=l;n=m;n+)bmn=bm-ln-l+bm-ln;printf(”%-5d“,bmn);printf(,n);)40.利用循环输出以下图形*#include int main()(int i Jm;for(i=l;i=4;i+)(m=i;for(m=l;m=4-i;m+)printf(H);for(j=0;j2*i-l;j+)printf(*);pnntf(Hnn);)return 0;41.利用循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大一 语言 题库
限制150内