《大学C语言程序设计》题库编程题.docx

上传人:b****6 文档编号:7605349 上传时间:2023-05-11 格式:DOCX 页数:26 大小:21.32KB
下载 相关 举报
《大学C语言程序设计》题库编程题.docx_第1页
第1页 / 共26页
《大学C语言程序设计》题库编程题.docx_第2页
第2页 / 共26页
《大学C语言程序设计》题库编程题.docx_第3页
第3页 / 共26页
《大学C语言程序设计》题库编程题.docx_第4页
第4页 / 共26页
《大学C语言程序设计》题库编程题.docx_第5页
第5页 / 共26页
《大学C语言程序设计》题库编程题.docx_第6页
第6页 / 共26页
《大学C语言程序设计》题库编程题.docx_第7页
第7页 / 共26页
《大学C语言程序设计》题库编程题.docx_第8页
第8页 / 共26页
《大学C语言程序设计》题库编程题.docx_第9页
第9页 / 共26页
《大学C语言程序设计》题库编程题.docx_第10页
第10页 / 共26页
《大学C语言程序设计》题库编程题.docx_第11页
第11页 / 共26页
《大学C语言程序设计》题库编程题.docx_第12页
第12页 / 共26页
《大学C语言程序设计》题库编程题.docx_第13页
第13页 / 共26页
《大学C语言程序设计》题库编程题.docx_第14页
第14页 / 共26页
《大学C语言程序设计》题库编程题.docx_第15页
第15页 / 共26页
《大学C语言程序设计》题库编程题.docx_第16页
第16页 / 共26页
《大学C语言程序设计》题库编程题.docx_第17页
第17页 / 共26页
《大学C语言程序设计》题库编程题.docx_第18页
第18页 / 共26页
《大学C语言程序设计》题库编程题.docx_第19页
第19页 / 共26页
《大学C语言程序设计》题库编程题.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《大学C语言程序设计》题库编程题.docx

《《大学C语言程序设计》题库编程题.docx》由会员分享,可在线阅读,更多相关《《大学C语言程序设计》题库编程题.docx(26页珍藏版)》请在冰点文库上搜索。

《大学C语言程序设计》题库编程题.docx

《大学C语言程序设计》题库编程题

《大学C语言程序设计》题库-编程题

编程题

1.有一函数:

当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。

编一程序,输入x的值,输出y的值。

#include

voidmain()

{

intx,y;

printf("请输入x:

");

scanf("%d",&x);

if(x<0)

y=-1;

elseif(x=0)

y=0;

else

y=1;

printf("y=%d",y);

}

2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。

#include

voidmain()

{inta,b,c,temp=0;

printf("pleaseinputa,b,c:

");

scanf("%d%d%d",&a,&b,&c);

if(a

if(a

if(b

printf("从大到小为:

%d,%d,%d\n",a,b,c);

}

3.有三个整数a,b,c,由键盘输入,输出其中最大者。

voidmain()

{

inta,b,c,max;

printf("输入三个数字:

\n");

scanf("%d%d%d",&a,&b,&c);

if(a>b&&a>c)

max=a;

if(b>a&&b>c)

max=b;

if(c>a&&c>b)

max=c;

printf("最大值是:

%d\n",max);

}

4.编程求圆面积、圆周长。

要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。

#include

#definepi3.1416

main()

{

floatr,l,s;

printf("请输入半径:

\n");

scanf("%f",&r);

l=2*pi*r;

s=pi*r*r;

printf("l=%7.2f\ns=%7.2f\n",l,s);

}

5.【有点难】有分段函数:

当x<-10时,y=|x|+5;当-10≤x≤10时,y=4x-8;当x>10时,y=sqrt(x)。

编一程序,输入x的值,输出y的值。

6.编写程序,判断某一年是否是闰年。

(闰年的条件是:

能被4整除,但是不能被100整除,或者可以被400整除。

#include

intmain()

{

intyear,leap;

scanf("%d",&year);

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if(leap)

printf("%dis",year);

else

printf("%disnot",year);

printf("aleapyear.\n");

return0;

}

7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。

公式为c=5/9(f-32)

#include

intmain()

{

floatf,c;

printf("输入华氏温度:

\n");

scanf("%f",&f);

c=(f-32)/1.8;

printf("对应的摄氏温度是:

%5.2f\n",c);

}

8.有一函数:

当x<1时,y=|x|;当1<=x<10时,y=2x-1;当x>=10时,y=3x+11。

编一程序,输入x的值,输出y的值。

9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。

#include

voidmain()

{inta,b,c,temp=0;

printf("pleaseinputa,b,c:

");

scanf("%d%d%d",&a,&b,&c);

if(a>b){temp=a;a=b;b=temp;}

if(a>c){temp=a;a=c;c=temp;}

if(b>c){temp=b;b=c;c=temp;}

printf("从小到大为:

%d,%d,%d\n",a,b,c);

}

10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。

然后输出最后得到的字符。

#include

#include

voidmain()

{

chara;

scanf("%c",&a);

if(islower(a))

a=a-32;

printf("%c\n",a);

}

11.编程求圆柱体积,圆柱表面积。

要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。

#include

intmain(intargc,char*argv[])

{

floatr,h,l,s,sq,vq,vz;

floatpi=3.1415926;

printf("请输入圆的半径r,圆柱高h:

");

scanf("%f,%f",&r,&h);

l=2*pi*r;

s=pi*r*r;

sq=4*pi*r*r;

vq=4.0/3.0*pi*r*r;

vz=pi*r*r*h;

printf("圆周长为:

l=%6.2f\n",l);

printf("圆面积为:

s=%6.2f\n",s);

printf("圆球表面积为:

sq=%6.2f\n",sq);

printf("圆球体积为:

vq=%6.2f\n",vq);

printf("圆柱体积为:

vz=%6.2f\n",vz);

system("PAUSE");

return0;

}

12.有分段函数:

当x<-5时,y=x+10;当-5≤x≤5时,y=x^2;当x>5时,y=2x-10.

编一程序,输入x的值,输出y的值。

13.有三个整数a,b,c,由键盘输入,输出其中最小者。

#include

intmain()

{

inta,b,c,temp,min;

printf("请输入三个整数:

");

scanf("%d,%d,%d",&a,&b,&c);

temp=(a

a:

b;

min=(temp

temp:

c;

printf("三个数中最小数是%d\n",min);

return0;

}

 

14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。

然后输出最后得到的字符。

#include

voidmain()

{

charc;

printf("inputch:

");

c=getchar();

if(c>='A'&&c<='Z')

{

c=c+32;

printf("%c",c);

}

elseprintf("%c",c);

}

15.输入三角形的三边长,求三角形面积。

求三角形面积的公式为

area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2

#include

#include

voidmain()

{

floata,b,c,s,area;

printf("依次输入a,b,c:

");

scanf("%f%f%f,",&a,&b,&c);

s=(float)0.5*(a+b+c);

area=(float)sqrt(s*(s-a)*(s-b)*(s-c));

printf("面积为:

%7.2f",area);

}

16.编程求2!

+4!

+6!

+8!

+10!

的值,并输出结果。

#include

intmain()

{

intn=1,sum=0,j,m=1,i;

for(i=1;i<=5;i++){

m=1;

for(j=1;j<=2*i;j++)

m=m*j;

sum=sum+m;

}

printf("sum=%d\n",sum);

return0;

}

17.猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想吃时就剩一个桃子了。

求第一天共摘了多少个桃子。

#include

voidmain()

{

intday;staticx1=1;

day=10;

while(day>0)

{

x1=(x1+1)*2;

day--;

}

printf("桃子总数=%d\n",x1);

}

18.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

#include

intmain()

{

inti,j,k,n;

printf("水仙花数是");

for(n=100;n<1000;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%d",n);

}

printf("\n");

return0;

}

19.编程求1~100之间的所有素数,并输出结果。

#include

intmain(void)

{

inta[100],i,j;

for(i=0;i<100;i++)a[i]=i+1;

for(i=1;i<100;i++)

for(j=i+1;j<100;j++)

if(a[i]&&a[j]%a[i]==0)

a[j]=0;

for(i=1;i<100;i++)

if(a[i])printf("%d\t",a[i]);

return0;

}

20.编程求1!

+3!

+5!

+7!

+9!

的值,并输出结果。

#include

intmain()

{

intn=1,sum=0,j,m=1,i;

for(i=1;i<=5;i++){

m=1;

for(j=1;j<=2*i-1;j++)

m=m*j;

sum=sum+m;

}

printf("sum=%d\n",sum);

return0;

}

21.用pi/4≈1-1/3+1/5-1/7+...公式求pi的近似值的绝,直到某一项对值小于10的-6次方为止。

#include

#include

intmain()

{

intsign=1;

doublepi=0.0,n=1.0,term=1.0;

while(fabs(term)>=1e-6)

{pi=pi+term;

n=n+2;

sign=-sign;

term=sign/n;

}pi=pi*4;

printf("pi=%10.8f\n",pi);

return0;

}

22.一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。

求它在第10次落地时共经过多少米?

#include"stdio.h"

#include"stdio.h"

main()

{

floatsn=100.0,hn=sn/2;

intn;

for(n=2;n<=10;n++)

{

sn=sn+2*hn;/*第n次落地时共经过的米数*/

hn=hn/2;/*第n次反跳高度*/

}

printf("thetotalofroadis%f\n",sn);

getch();

}

23.输入两个正整数m和n,求其最大公约数和最小公倍数。

#include

intmain()

{

intp,r,n,m,temp;

printf("请输入两个正整数n,m:

");

scanf("%d%d,",&n,&m);

if(n

{

temp=n;

n=m;

m=temp;

}

p=n*m;

while(m!

=0)

{

r=n%m;

n=m;

m=r;

}

printf("它们的最大公约数为:

%d\n",n);

printf("它们的最小公约数为:

%d\n",p/n);

return0;

}

24.利用循环,编程求1!

+2!

+3!

+…+10!

的值,并输出结果。

main()

{

inti,j,n,sum=0;

for(i=1;i<=10;i++)

{

n=1;

for(j=1;j<=i;j++)

n*=j;

sum+=n;

}

printf("%d\n",sum);

}

25.有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13......,求出这个数列前20项之和。

#include

main()

{inti,x,y,a;

floatsum=0;

x=2;

y=1;

for(i=1;i<20;i++)

{

sum+=(float)(x)/y;

//printf("%d/%d\n",x,y);

a=x;

x=x+y;

y=a;

}

printf("%7.5f\n",sum);

}

26.求Fibonacci数列前40个数。

这个数列有以下特点:

第1和第2个数为1,从第3个数开始,该数是其前面两个数之和。

#include

#defineN4

longfibonacci(intn)

{

if(0==n||1==n)return1;

else

returnfibonacci(n-1)+fibonacci(n-2);

}

intmain(void)

{

inti;

printf("Fibonacci数列的前40项\n");

for(i=0;i<40;)

{

printf("%-10ld",fibonacci(i++));

if(i%N==0)printf("\n");

}

printf("\n");

return0;

}

27.一个数如果恰好等于它的因子之和,这个数就称为完数。

例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。

编程求1000以内所有完数。

#include

voidmain()

{

inti,j;

intsum;

for(i=2;i<1000;i++)

{

sum=0;

for(j=1;j

if(i%j==0)

sum=sum+j;

if(sum==i)

printf("%d是完数\n",sum);

}

}

28.求S=a+aa+aaa+...+aa...a(n个a)之值。

其中a是一个数字,n代表a的位数。

例如:

2+22+222+2222+22222(此时n为5),n由键盘输入。

#include

intmain()

{

inta,n,i=1,sn=0,tn=0;

printf("a,n=:

");

scanf("%d,%d",&a,&n);

while(i<=n)

{tn=tn+a;

sn=sn+tn;

a=a*10;

++i;

}

printf("a+aa+aaa+...=%d\n",sn);

return0;

}

 

29.编程求100~200之间的所有素数,并输出结果。

#include

#include

intmain()

{intn,k,i,m=0;

for(n=101;n<=200;n=n+2)

{k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0)break;

if(i>=k+1)

{printf("%d",n);

m=m+1;

}

if(m%10==0)printf("\n");

}

printf("\n");

return0;

}

30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

#include"stdio.h"

main()

{charc;inti=0,j=0,k=0,l=0;

while((c=getchar())!

='\n')

{if(c>=65&&c<=90||c>=97&&c<=122)i++;

elseif(c>=48&&c<=57)j++;

elseif(c==32)k++;

elsel++;}

printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);

}

31.将一个数组中的值按逆序重新存放。

例如,原来顺序为8,6,4,3,2,0。

要求改为0,2,3,4,6,8。

#include

#defineN5

intmain()

{inta[N],i,temp;

printf("enterarraya:

\n");

for(i=0;i

scanf("%d",&a[i]);

printf("arraya:

\n");

for(i=0;i

printf("%4d",a[i]);

for(i=0;i

{temp=a[i];

a[i]=a[N-i-1];

a[N-i-1]=temp;

}

printf("\nNOW,arraya:

\n");

for(i=0;i

printf("%4d",a[i]);

printf("\n");

return0;

}

32.编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,利用主函数调用这个函数并输出结果。

#include

main()

{

floati=1,sum=0,n;

printf("inputanumbern:

");

scanf("%f",&n);

while(i<=n)

{

sum+=1.0/i;

i=i+1;

}

printf("%f\n",sum);

}

 

33.将一个二维数组inta[3][4]的行和列的元素互换,存到另外一个二维数组中。

#include

intmain()

{

inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

intb[4][3],i,j;

printf("arrarya:

\n");

for(i=0;i<=2;i++)

{

for(j=0;j<=3;j++)

{

printf("%5d",a[i][j]);

b[j][i]=a[i][j];

}

printf("\n");

}

printf("arrayb:

\n");

for(i=0;i<=3;i++)

{

for(j=0;j<=2;j++)

printf("%5d",b[i][j]);

printf("\n");

}

return0;

}

34.利用循环输出以下图形

*****

****

***

**

*

#include

intmain()

{

int

i,j,m;

for(i=1;i<=5;i++)

{

m=i;

for(m=1;m

printf("");

for(j=0;j<=5-i;j++)

printf("*");

printf("\n");

}

return0;

}

35.用冒泡排序法对输入的10个数进行降序排序,并存入数组中。

#include

intmain()

{

inta[10];

inti,j,t;

printf("input10numbers:

\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=0;j<9;j++)

for(i=0;i<9-j;i++)

if(a[i]

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("thesortednumbers:

\n");

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

return0;

}

36.有一个3乘4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

#include

intmain()

{

inti,j,row=0,colum=0,max;

inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

max=a[0][0];

for(i=0;i<=2;i++)

for(j=0;j<=3;j++)

if(a[i][j]>max)

{max=a[i][j];

row=i;

colum=j;

}

printf("max=%d,row=%d,colum=%d\n",max,row,colum);

return0;

}

37.用冒泡排序法对输入的10个数进行升序排序,并存入数组中。

#include

intmain()

{

inta[10];

inti,j,t;

printf("input10numbers:

\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=0;j<9;j++)

for(i=0;i<9-j;i++)

if(a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("thesortednumbers:

\n");

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

return0;

}

38.利用循环,输出以下图

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2