北工大C语言题库完美版.docx
- 文档编号:3875861
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:46
- 大小:30.71KB
北工大C语言题库完美版.docx
《北工大C语言题库完美版.docx》由会员分享,可在线阅读,更多相关《北工大C语言题库完美版.docx(46页珍藏版)》请在冰豆网上搜索。
北工大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;输出Thesquarerootof
17.0is4.1)
#include
{
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
{
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
{
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 { intmark;scanf("%d",&mark);if(mark>59)printf("Pass\n");elseprintf("Fail\n"); } 7找最小值#include { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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+aaa #include { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { flag=0;break; } elseflag=1; } return(flag); } 28求完数输入2个正整数m和n(I<=m,n<=1000),输出m到n之间的所有完数〈完数就是因子和与它本身相等的数〉要求定义并调用函数factorsum(number) #include { 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 =j)sum+=j; return(sum); } 30交换最小值和最大值输入一个正整数n(1 #include { 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 { 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; elseflag=1; return(flag); } 32输入一个正整数repeat(0 输入一个正整 数n(0 #include { 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 { inti,n,sum;inta[20];doubleaver; printf("输入整数个数: "); scanf("%d",&n);for(i=0;i { } sum=0; printf("输入整数: "); scanf("%d",&a[i]); for(i=0;i { sum=sum+a[i]; } aver=sum*(1.0/n);printf("average=%.2f\n",aver); } 34输入一个正整数n(1 #include { inta,b,c,d,e,n,temp1=0,temp2=0,min,max,i,j;intq[10]; printf("输入整数个数: "); scanf("%d",&n);for(i=0;i { printf("输入整数: "); scanf("%d",&q[i]); } min=q[0]; for(i=0;i { if(q[i] { temp1=i;min=q[i]; } } max=q[0];for(j=0;j { if(q[j]>max) { temp2=j; max=q[j]; } }a=q[0]; b=q[n-1];c=q[temp1];d=q[temp2];q[0]=c; q[n-1]=d;q[temp1]=a;q[temp2]=b;for(e=0;e { printf("%d\n",q[e]); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北工大 语言 题库 完美