北工大C语言题库完美版.docx

上传人:b****5 文档编号:8202786 上传时间:2023-01-29 格式:DOCX 页数:61 大小:32.03KB
下载 相关 举报
北工大C语言题库完美版.docx_第1页
第1页 / 共61页
北工大C语言题库完美版.docx_第2页
第2页 / 共61页
北工大C语言题库完美版.docx_第3页
第3页 / 共61页
北工大C语言题库完美版.docx_第4页
第4页 / 共61页
北工大C语言题库完美版.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

北工大C语言题库完美版.docx

《北工大C语言题库完美版.docx》由会员分享,可在线阅读,更多相关《北工大C语言题库完美版.docx(61页珍藏版)》请在冰豆网上搜索。

北工大C语言题库完美版.docx

北工大C语言题库完美版

1求两个数的和与差

输入整数a和b,计算并输出a、b的和与差.

#include

intmain()

{

inta,b,sum,diff;

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

sum=a+b;

diff=a-b;

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

printf("Thedifferenceis%d\n",diff);

}

2求平方根

输入1个实数X,计算井输出其平方根(保留1位小数).(例:

输入17;输出Thesquarerootof17.0is4.1)

#include

#include

intmain()

{

doublex,root;

scanf("%lf",&x);

root=sqrt(x);

printf("Thesquarerootof%fis%0.1f\n",x,root);

}

3华氏温度转换为摄氏温度

输入华氏温度f,计算并输出相应的摄氏温度c(保留2位小数).c=5/9(f-32).(例z括号内是说明输入17.2(华氏温度)输出Thctempratureis-8.22)

#include

intmain()

{

doublef,c;

scanf("%lf",&f);

c=5.0/9.0*(f-32.0);

printf("Thetempratureis%0.2f\n",c);

}

4计算旅途时间

输入2个整数time1和time2.表示火车的出发时间和到达时间,计算并输出旅途时间.有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况.

#include

intmain()

{

inttime1,time2,hours,mins;

scanf("%d%d",&time1,&time2);

time1=time1/100*60+time1%100;

time2=time2/100*60+time2%100;

hours=(time2-time1)/60;

mins=(time2-time1)%60;

printf("Thetrainjourneytimeis%dhrs%dmins.\n",hours,mins);

}

5大写字母转换成小写字母

输入一个大写英文字母,输出相应的小写字母.例:

输入G输出g

#include

intmain()

{

charch;

scanf("%c",&ch);

ch=ch-'A'+'a';

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

}

6显示两级成绩

输入一个正整数repeat(0

输入一个学生的数学成绩,如果它低于ω,输出"Fail",否则,输出"Pass".

#include

intmain()

{

intmark;

scanf("%d",&mark);

if(mark>59)

printf("Pass\n");

else

printf("Fail\n");

}

7找最小值

#include

intmain()

{

inta,b,c,d,min;

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

min=a;

if(min>b)min=b;

if(min>c)min=c;

if(min>d)min=d;

printf("minis%d\n",min);

}

8求三角形面积和周长

输入三角形的三条边a,b,c.如果能构成一个三角形,输出面积area和周长perimete保留2位小数);否则,输出(Thesesidesdonotcorrespondtoavalidtriangle".在一个三角形中,任意两边之和大于第三边.

#include

#include

intmain()

{

floata,b,c,area,perimeter,s;

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

if(a+b>c&&a-b

{

s=(a+b+c)/2;

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

perimeter=a+b+c;

printf("area=%f",area);

printf("perimeter=%f",perimeter);

}

else

printf("Thesesidesdonotcorrespondtoavalidtriangle");

}

9判断数的符号

输入整数x,若x大于0,y=l;若x等于0,y=0;否则,y=-I,最后输出y

#include

intmain()

{

intx,y;

scanf("%d",&x);

if(x<0)y=-1;

elseif(x>0)y=1;

elsey=0;

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

}

10显示水果价格

以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤.[1]apples[2]pears[3]oranges[4]grapes输入水果的编号,输出该水果的单价(保留2位小数).如果输入不正确的编号,显示单价为0.

#include

intmain()

{

intchoice;

floatprice;

printf("[1]apples\n");

printf("[2]pears\n");

printf("[3]oranges\n");

printf("[4]grapes\n");

scanf("%d",&choice);

price=(choice==1)*3+(choice==2)*2.50+(choice==3)*4.1+(choice==4)*10.2;

printf("price=%0.2f\n",price);

}

11读入1个正整数n(n<=100),计算并输出1+1/2+1/3+......+1/n(保留3位小数).

#include

intmain()

{

inti,n;

floatsum;

scanf("%d",&n);

sum=0;

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

sum=sum+1.0/i;

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

}

12求n的阶乘

#include

intmain()

{

inti,n;

doublefact;

scanf("%d",&n);

fact=1;

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

{

fact=fact*i;

}

printf("%0.0f\n",fact);

}

13求X的n次幂

#include

intmain()

{

inti,n;

doublex,mypow;

scanf("%lf%d",&x,&n);

mypow=1;

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

mypow*=x;

printf("%.2f\n",mypow);

}

14摄氏华氏转换表

#include

intmain()

{

intbegin,c,end,f;

scanf("%d%d",&begin,&end);

printf("CelsiusFahrenheit\n");

for(c=begin;c<=end;c++)

{

f=32+c*9/5;

printf("%d%10d\n",c,f);

}

}

15求整数的位数以及各位数之和

#include

intmain()

{

intnumber,sum;

longin;

scanf("%d",&in);

number=0;

sum=0;

if(in<0)in=-in;

do

{

number++;

sum+=(in%10);

}

while((in/=10)!

=0);

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

}

16求最大值

#include

intmain()

{

inti,max,n,x;

scanf("%d",&n);

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

{

scanf("%d",&x);

if(i==1)max=x;

elseif(x>max)max=x;

}

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

}

17求a+aa+aaa+aa....a

#include

voidmain()

{

inti,n;

longinta,sn,tn;

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

tn=a;

sn=0;

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

{

sn+=tn;

tn=10*tn+a;

}

printf("%ld\n",sn);

}

18输入1个正整数n,计算s的前n项的和(保留4位小数)。

#include

intmain()

{

inti,n;

floats,t;

scanf("%d",&n);

s=0;

t=1;

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

{

t=t*1.0/i;

s=s+t;

}

printf("%0.4f\n",s);

}

19求奇数和

#include

intmain()

{

inti,n,x,sum;

printf("输入数字个数:

");

scanf("%d",&n);

sum=0;

i=1;

printf("输入数字:

");

while(i<=n)

{

i++;

scanf("%d",&x);

if(x%2!

=0)

sum=sum+x;

}

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

}

20统计素数并求和输入2个正整数m和n(1<=m,n<=5ω),统计并输出m和n之间的素数的个数以及这些素数的和。

#include

#include

intmain()

{

intcount,digit,i,j,k,m,n,sum;

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

sum=0;

count=0;

if(m<2)m=2;

for(digit=m;digit<=n;digit++)

{

j=sqrt(double(digit));

boolisPrime=true;

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

{

if(digit%k==0)

{

isPrime=false;

break;

}

}

if(isPrime)

{

count++;

sum+=digit;

}

}

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

}

22输入1个正整数n,计算s的前n项的和(保留4位小数)。

s=1+J/2!

+....+l/n!

要求定义并调用函数fact(n)计算n的阶乘.

#include

intmain()

{

inti,n;

doubles;

doublefact(intn);

scanf("%d",&n);

s=0;

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

s+=fact(i);

printf("%0.4f\n",s);

}

doublefact(intn)

{

intj,t=1;

doublex;

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

{

t*=j;

x=1.0/t;

}

return(x);

}

23统计一个整数中数字的个数

读入1个整数,统计并输出该数中2的个数。

要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数.例如,countdigit(l0090,0)的返回值是3.

#include

intmain()

{

intcount;

longin;

intcountdigit(longnumber,intdigit);

scanf("%ld",&in);

count=countdigit(in,2);

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

}

intcountdigit(longnumber,intdigit)

{

inti,sum;

if(number<0)

number=-number;

sum=0;

while(number!

=0)

{

i=number;

if(i%10==2)sum++;

number=number/10;

}

return(sum);

}

24输入2个正整数m和n(I<=01,n<=10000),输出m和n之间所有的Fibonacci数..Fibonacci序列(第1项起):

1123581321..…•要求定义并调用fib(n)时,它的功能是返回第n项目Fibonacci数.

#include

voidmain()

{

intfib(intn);

inti,n,m,t;

printf("请输入mn:

");

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

for(i=1;;i++)

{

t=fib(i);

if(t>=m&&t<=n)

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

elseif(t>n)break;

}

printf("\n");

}

intfib(intn)

{

if(n==1||n==2)

return1;

elsereturn

fib(n-1)+fib(n-2);

}

25将一个整数逆序输出输入一个整

数,将它逆序输出.要求定义并调用

函数reverse(number),它的功能是返回number的逆序数.

#include

intmain()

{

intin,res;

intreverse(intnumber);

 

scanf("%d",&in);

res=reverse(in);

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

}

 

intreverse(intnumber)

{

intx=0;

while(number!

=0)

{

x=x*10+number%10;

number=number/10;

}

return(x);

}

26十进制转换二进制输入1个正

整数n,将其转换为二进制后输出.要求定义并调用函数dectobin(n),它的功能是输出n的二进制

#include

intmain()

{

inti,n;

voiddectobin(intn);

scanf("%d",&n);

dectobin(n);

printf("\n");

}

voiddectobin(intn)

{

if(n>1)

dectobin(n/2);

printf("%d",n%2);

}

27统计素数并求和输入2个正整数m和n(1<=m,n<=500),统计并输出m和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数).要求定义并调用函数primc(m)判断m是否为素数。

#include

intmain()

{

intcount,i,m,n,sum;

intprime(intm);

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

count=0;

sum=0;

for(i=m;i<=n;i++)

if(prime(i))

{

count++;

sum+=i;

}

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

}

intprime(inti)

{

intflag,j;

if(i==1)

flag=0;

elseif(i==2)

flag=1;

else

{

for(j=2;j

if(i%j==0)

{

flag=0;

break;

}

elseflag=1;

}

return(flag);

}

28求完数输入2个正整数m和n(I<=m,n<=1000),输出m到n之间的所有完数〈完数就是因子和与它本身相等的数〉要求定义并调用函数factorsum(number)

#include

intmain()

{

longi,m,n;

longfactorsum(longnumber);

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

for(i=m;i<=n;i++)

if(factorsum(i)==i)

printf("%ld\n",i);

}

longfactorsum(longnumber)

{

intj,sum=0;

for(j=1;j

if(number%j==0&&number!

=j)

sum+=j;

return(sum);

}

30交换最小值和最大值输入一个正整数n(1

#include

intmain()

{

intn,i,j,k,temp1=0,temp2=0,min=0,max=0,a,b;

intq[10];

scanf("%d",&n);

for(i=0;i

{

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

}

min=q[0];

for(j=0;j

{

if(q[j]<=min)

{

temp1=j;

min=q[j];

}

}

max=q[0];

for(k=0;k

{

if(q[k]>max)

{

temp2=k;

max=q[k];

}

}

a=q[0];

b=q[n-1];

q[n-1]=max;

q[0]=min;

q[temp1]=a;

q[temp2]=b;

for(intz=0;z

{

printf("%d",q[z]);

}

return0;

}

31输入2个正整数m和n(1<=m,n<=1000),输出m到n之间的所有满足各位数字的立方和等于它本身的数

#include

intmain()

{

inti,m,n;

intis(intnumber);

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

for(i=m;i<=n;i++)

{

if(is(i));

elseprintf("%d\t",i);

}

printf("\n");

}

intis(intnumber)

{

inttemp,digit,sum,flag;

temp=number;

sum=0;

while(number!

=0)

{

digit=number%10;

sum=sum+digit*digit*digit;

number=number/10;

}

if(sum==temp)

flag=0;

else

flag=1;

return(flag);

}

32输入一个正整数repeat(0

输入一个正整

数n(0

#include

intmain(void)

{

inti,j,n,x;

intrepeat,ri;

inta[20];

printf("输入执行次数:

");

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++)

{

printf("输入整数个数:

");

scanf("%d",&n);

for(i=0;i

{

printf("输入整数:

");

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

}

printf("x=");

scanf("%d",&x);

i=n-1;

while(i>=0&&x<=a[i])

{

a[i+1]=a[i];

a[i]=x;

i--;

}

for(i=0;i

{

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

putchar('\n');

}

}

}

33.输入1个正整数n(1

小数〉。

#include

intmain(void)

{

inti,n,sum;

inta[20];

doubleaver;

printf("输入整数个数:

");

scanf("%d",&n);

for(i=0;i

{

printf("输入整数:

");

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

}

sum=0;

for(i=0;i

{

sum=sum+a[i];

}

aver=sum*(1.0/n);

printf("average=%.2f\n",aver);

}

34输入一个正整数n(1

#include

i

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

当前位置:首页 > 表格模板 > 合同协议

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

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