北工大C语言题库完美版.docx
- 文档编号:8202786
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:61
- 大小:32.03KB
北工大C语言题库完美版.docx
《北工大C语言题库完美版.docx》由会员分享,可在线阅读,更多相关《北工大C语言题库完美版.docx(61页珍藏版)》请在冰豆网上搜索。
北工大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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北工大 语言 题库 完美