C程序设计B本科机试卷库--可以发给学生的题库

C程序设计B本科机试卷库--可以发给学生的题库


2024年5月4日发(作者:)

C程序设计B机试题库

1.编写程序,程序运行时输出以下图形。(20分)

****

****

****

****

#include

int main()

{

int i,j;

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

{

for(j=0;j

printf(" ");

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

printf("*");

printf("n");

}

return 0;

}

2.已知圆的半径r=3.1,编程求圆的周长和面积,并输出结果(保留两位小数)。(

#include

int main()

{

double r=3.1;

double c,s;

c=2*3.14*r;

s=3.14*r*r;

printf("%.2f %.2f",c,s);

return 0;

}

3.编写程序,从键盘上输入一个正整数n,判断其是奇数还是偶数,并输出结果。(

20分)

20分)

#include

main()

{

int x;

printf("请输入一个整数");

scanf("%d",&x);

if(x%2==0) printf("%d是偶数n",x);

else printf("%d是奇数n",x);

return 0;

}

4.编写程序,用for循环求1+2+3+…+100的值并输出。(20分)

#include

int main()

{

int i,s=0;

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

s+=i;

printf("%dn",s);

return 0;

}

5.编写程序,找出300~400之间所有能被15整除的数并输出。(20分)

#include

int main()

{

int sum=0;

int i;

for(i=300;i<=500;i++)

{

if(i%15==0)

{

printf("%dn",i);

}

}

return 0;

}

6.假如我国国民生产总值的年增长率为7%,计算10年后我国国民生产总值是现在的多少倍,

计算公式p=(1+r),其中r为年增长率,n为年数,p为10年后我国国民生产总值与现在

相比的倍数。(保留两位小数)。(20分)

#include

#include

int main()

{float p,r,n;

r=0.07;

n=10;

p=pow((1+r),n);

printf("p=%.2f倍n",p);

return 0;

}

7.编写程序,从键盘上输入两个正整数m和n,找到二者中的较大数并输出。(20分)

#include

int main()

{

int a,b;

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

if(a>b)printf("%dn",a);

else printf("%dn",b);

}

8.编程从键盘输入两个正整数,计算并输出这两个数的最大公约数。(20分)

#include

int main()

{

int a,b,c;

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

c=a*b;

while(a)

{

if(a

{

int t=a; a=b; b=t;

return 0;

n

}

a%=b;

}

printf("最大公约数:%dn",b);

return 0;

}

9.编写程序,求Fibonacci(斐波那契)数列的前20个数。(20分)

斐波那契数列有如下特点:第1,2两个数为1,1。从第3个数开始,该数是其前面两个数之

和。即该数列为1,1,2,3,5,8,13,…,用数学方式表示为:

#include

int main()

{

int f1=1,f2=1,f3;

int i;

printf("%12dn%12dn",f1,f2);

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

{

f3=f1+f2;

printf("%12dn",f3);

f1=f2;

f2=f3;

}

return 0;

}

10.编写程序,求1~1000之间除以3余1、除以5余2并且除以7余3的所有整数,并输出。(20分)

#include

int main()

{

int i;

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

{

if(i%3==1&&i%5==2&&i%7==3)

printf("%dn",i);}

return 0;

}

11.计算存款利息。有1000元,想存一年。有3种方法可选:(1)活期,年利率为r1=0.0036;(2)

一年期定期,年利率为r2=0.0225;(3)存两次半年定期,年利率为r3=0.0198。请分别计算出

一年后按这3种不同方法所得到的本息和。(20分)

#include

int main()

{float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;

p1=p0*(1+r1);

p2=p0*(1+r2);

p3=p0*(1+r3/2)*(1+r3/2);

printf("p1=%fnp2=%fnp3=%fn",p1,p2,p3);

return 0;

}

12.编写程序,从键盘上输入一个正整数n,判断其能否被3整除,并输出结果。(

#include

main()

{

int x;

printf("请输入一个正整数:");

scanf("%d",&x);

if(x%3==0)

printf("%dn",x/3);

return 0;

}

13.有一个函数:

x (x<1)

y= 2x-1 (1≤x<10)

3x-11 (x≥10)

编写程序,输入x的值,输出y相应的值。(20分)

输入X:");

20分)

#include

int main()

{

int x,y;

printf("

scanf("%d",&x);

if(x<1)

{

y=x;

}

else if(x>=1&&x<10)

{

y=2*x-1;

}

else

{

y=3*x-11;

}

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

return 0;

}

14.编写程序,用while循环求1+2+3+…+30的值,并输出。(20分)

#include

int main()

{

int s,i;

s=0;i=1;

while(i<=30)

{

s+=i;

i++;

}

printf("Sum=%dn",s);

return 0;

}

15.编写程序,求100~200之间各位数字之和为6的所有整数,并输出结果。(

#include

int main()

{

int i,j,k,n,s;

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

{

i=n/100;

j=n/10-i*10;

20分)

k=n%10;

s=i+j+k;

if(s==6)

printf("%dn",n);

}

return 0;

}

16.编写程序,在屏幕上输出一行文字:“Hello World!”。(20分)

#include

int main()

{

printf("Hello World!n");

return 0;

}

17.求方程ax+bx+c=0的根。a,b,c由键盘输入,设b-4ac>0且a≠0。(20分)

(计算公式:错误!未找到引用源。)

#include

#include

int main()

{double a,b,c,disc,x1,x2,p,q;

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

disc=b*b-4*a*c;

p=-b/(2.0*a);

q=sqrt(disc)/(2.0*a);

x1=p+q;

x2=p-q;

printf("x1=%7.2fnx2=%7.2fn",x1,x2);

return 0;

}

18.编写程序,输入一个字符,判别它是否为大写字母,并输出结果。(‘A’对应的ASCII码

22

为65)(20分)

#include

int main()

{

char ch;

printf("请输入一个字符:");

scanf("%c",&ch);

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

printf("%c是大写字母n",ch);

else

printf("%c不是大写字母n",ch);

return 0;

}

19.编写程序,用do…while循环求1+2+3+…+10的值并输出。(20分)

#include

int main()

{

int s,i;

s=0;i=1;

do

{

s+=i;

i++;

}

while(i<=10);

printf("Sum=%dn",s);

return 0;

}

20.编写程序,输出200~300之间所有能被3整除也能被5整除的所有整数。(

#include

int main()

20分)

{

int i;

for(i=200;i<=300;i++)

{

if(i%3==0&&i%5==0)

printf("%dn",i);

}

return 0;

}

21.编写程序,输入一个三位正整数,求该数各位数字之和并输出。(

#include

int main()

{

int i,j,k,x,s;

printf("请输入一个数字x:");

scanf("%d",&x);

{

i=x/100;

j=x/10-i*10;

k=x%10;

s=i+j+k;

printf("%dn",s);

}

return 0;

}

22.编写程序,输出100以内所有8的倍数。(20分)

#include

int main()

{

int i;

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

20分)

{

if(i%8==0)

printf("%dn",i);

}

return 0;

}

23.已知圆柱体底面半径r=3,高h=10,编程求其表面积和体积,并输出结果(保留两位小数)。

(20分)

#include

int main()

{

double r, h,s,v,PI = 3.14;

r=3,h=10;

s=2*PI*r*h+2*PI*r*r;

v=PI*r*r*h;

printf("圆柱体的表面积:%.2lfn", s);

printf("圆柱体的表面积:%.2lfn", v);

return 0;

}

24.编写程序,从键盘输入一个不长于10个字符的字符串,将其中的小写字母转换成大写字符,

其他字符保持不变,并输出转换后的结果。(20分)

#include

int main()

{

char ch;

scanf("%c",&ch);

if(ch>='a'&&ch<='z')

ch=ch-32;

printf("%c",ch);

while(1)

{

ch=getchar();

if(ch>='a'&&ch<='z')

ch=ch-32;

printf("%c",ch);

}

return 0;

}

25.编程程序,计算1+4+7+10+13+…+112的值并输出。(20分)

#include

int main()

{

int s,i;

s=0;i=1;

while(i<=112)

{

s+=i;

i=i+3;

}

printf("Sum=%dn",s);

return 0;

}

26.编写程序,求边长为5的正方形的周长和面积,并输出结果。(

#include

int main()

{

double a,c,s;

a=5;

c=4*a;

s=a*a;

printf("正方形周长:%.2lfn",c);

printf("正方形面积:%.2lfn",s);

return 0;

}

20分)

27.编写程序,输入两个数,按由大到小的顺序输出这两个数。(20分)

#include

int main()

{

}

28.编程程序,计算5+10+15+20+25+…+100的值并输出。(20分)

#include

int main()

{

}

29.编写程序,任意输入10个整数,找出其中最大的数并输出。(20分)

#include

int main()

{

int a[10]={0},i,max;

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

{

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

}

max=a[0];

int i,sum=0;

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

sum+=i;

int a,b;

printf("请输入两个数:");

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

if(a > b)

printf("由大到小:%d %dn",a,b);

else

printf("由大到小:%d %dn",b,a);

return 0;

printf("sum=%dn",sum);

return 0;

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

{

if(max

max=a[i];

}

printf("最大值是%dn",max);

return 0;

}

30.编写程序,找到并输出200到300之间所有满足如下条件的数:个位数、十位数和百位数

之积等于42,同时这三个数之和等于12。(20分)

#include

int main()

{

int i,j,k,n,s,m;

for(n=200;n<300;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

s=i*j*k;

m=i+j+k;

if(s==42&&m==12)

printf("%dn",n);

}

return 0;

}

31.编写程序,输入梯形的上底,下底和高,求其面积并输出(保留两位小数)。(20分)

#include

int main()

{

float a,b,c,h,s;

printf("请输入梯形的上底,下底,高:");

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

c=a+b;

s=(c*h)/2;

printf("梯形的面积是%fn",s);

return 0;}

32.编写程序,输入一个百分制成绩,如果大于等于60分,请输出“恭喜你通过考试!”,否

则输出“很遗憾,请继续加油!”。(20分)

#include

int main()

{

int i;

printf("请输入成绩:");

scanf("%d",&i);

if(i>=60)

printf("恭喜你通过考试!n");

else

printf("很遗憾,请继续加油!n");

return 0;

}

33.编写程序,从键盘上输入一个年份,判断其是否为闰年。(20分)

(说明:凡能被4整除但不能被100整除,或能被400整除的年份为闰年。)

#include

int main()

{int year;

printf("请输入一个年份");

scanf("%d",&year);

if((year%4==0&&year%100!=0)||year%400==0)

printf("闰年n");

else

printf("不是闰年n");

return 0;

}

34.编写程序,从键盘输入10个数,去掉其中最大值和最小值,求其余8个数的平均数,并输

出。(20分)

#include

int main()

{

int i;

float max,min,sum=0,aver,num[10];

printf("请输入10个数:");

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

{

scanf("%f",&num[i]);

sum+=num[i];

}

max=min=num[0];

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

{

if(max

max=num[i];

else if(min>num[i])

min=num[i];

}

aver=(sum-max-min)/8;

printf("最大为:%fn最小为:%fn平均值为:%fn",max,min,aver);

return 0;

}

35.编写程序,求1~1000之间能同时被3,5,7整除的数。(20分)

#include

int main()

{

int i;

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

{

if(i%3==1&&i%5==2&&i%7==3)

printf("%dn",i);}

return 0;

}

36.编写程序,把560分钟换算成用小时和分钟表示(如70分钟换算之后为1小时10分钟),

并输出结果。(20分)

#include

int main()

{

int m=560;

printf("%d小时%d分钟n",m/60,m%60);

return 0;

}

37.编写程序,输入一个三位正整数,求该数各位数字之和并输出。(20分)

#include

int main()

{

int i,j,k,x,s;

printf("请输入一个数字x:");

scanf("%d",&x);

{

i=x/100;

j=x/10-i*10;

k=x%10;

s=i+j+k;

printf("%dn",s);

}

return 0;

}

38.编写程序,输入一个正整数,判断其是否能被5和7同时整除,并输出结果。(20分)

#include

int main()

{

int i;

printf("请输入一个整数:");

scanf("%d",&i);

if(i%5==0&&i%7==0)

printf("%d能被5和7同时整除n",i);

else

printf("%d不能被5和7同时整除n",i);

return 0;

}

39.编写程序,求错误!未找到引用源。的值并输出,小数点后保留四位数字。(20分)

#include

int main()

{

float i,sum=0;

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

{

}

printf("sum=%.4fn",sum);

return 0;

}

40.编写程序,找到并输出100~999之间的水仙花数。所谓水仙花数是指这样的三位正整数,

其各位数字的立方和等于该数本身。如:153=1*1*1+5*5*5+3*3*3。(20分)

#include

int main()

{

sum+=1/i;

int i,j,k,n;

printf("水仙花数:n");

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("%dn",n);

}

return 0;

}

41.编写程序,求88除以7的余数并输出。(20分)

#include

int main()

{int i,n;

i=88;

n=i%7;

printf("余数为%dn",n);

return 0;

}

42.编写程序,输入一个小写字母,将其转换为对应的大写字母并输出。(提示:小写字母的

ASCII值比对应大写字母的ASCII值大32)。(20分)

#include

int main()

{

char ch;

scanf("%c",&ch);

if(ch>='a'&&ch<='z')


发布者:admin,转转请注明出处:http://www.yc00.com/web/1714790830a2516323.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信