首页 > 试题

2的31次方

更新时间:2022-11-13 20:50:02 阅读: 评论:0

2019年钦州传销聚集地-敬慕的意思


2022年11月13日发(作者:u盘写保护怎么办)

信息学奥赛⼀本通第⼀部分第⼆章顺序结构程序设计第四到五节

**总结:做完这些题⽬,最⼤的收获就是:

⼀定要注意数据范围和数据类型,必要的时候强制转换**

说简单点,就是

注意审题

第四节数据输⼊输出

1024:保留3位⼩数的浮点数

【题⽬描述】

读⼊⼀个单精度浮点数,保留3位⼩数输出这个浮点数。

【输⼊】

只有⼀⾏,⼀个单精度浮点数。

【输出】

也只有⼀⾏,读⼊的单精度浮点数。

#include

#include

usingnamespacestd;

intmain(){

floata;

cin>>a;

printf("%.3f",a);

return0;

}

1025:保留12位⼩数的浮点数

【题⽬描述】

读⼊⼀个双精度浮点数,保留12位⼩数,输出这个浮点数。

【输⼊】

只有⼀⾏,⼀个双精度浮点数。

【输出】

也只有⼀⾏,保留12位⼩数的浮点数。

#include

#include

usingnamespacestd;

intmain(){

doublea;

cin>>a;

printf("%.12f",a);

return0;

}

1026:空格分隔输出

【题⽬描述】

读⼊⼀个字符,⼀个整数,⼀个单精度浮点数,⼀个双精度浮点数,然后按顺序输出它们,并且要求在他们之间⽤⼀个空格分隔。输出浮点

数时保留6位⼩数。

【输⼊】

第⼀⾏是⼀个字符;

第⼆⾏是⼀个整数;

第三⾏是⼀个单精度浮点数;

第四⾏是⼀个双精度浮点数。

#include

#include

usingnamespacestd;

intmain(){

doublea;

floatb;

charc;

intd;

cin>>c>>d>>b>>a;

printf("%c%d%.6f%.6lf",c,d,b,a);

return0;

}

1027:输出浮点数

【题⽬描述】

读⼊⼀个双精度浮点数,分别按输出格式“%f”,“%f”保留5位⼩数,“%e”和“%g”的形式输出这个整数,每次在单独⼀⾏上输出。

【输⼊】

⼀个双精度浮点数。

【输出】

第⼀⾏是按“%f”输出的双精度浮点数;

第⼆⾏是按“%f”保留5位⼩数输出的双精度浮点数;

第三⾏是按“%e”输出的双精度浮点数;

第四⾏是按“%g”输出的双精度浮点数。

#include

#include

usingnamespacestd;

intmain(){

doublea;

cin>>a;

printf("%lfn%.5lfn%en%g",a,a,a,a);

return0;

}

1028:字符菱形

【题⽬描述】

给定⼀个字符,⽤它构造⼀个对⾓线长5个字符,倾斜放置的菱形。

【输⼊】

输⼊只有⼀⾏,包含⼀个字符。

【输出】

该字符构成的菱形。

【样例】

#include

#include

usingnamespacestd;

intmain(){

chara;

cin>>a;

cout<<""<

cout<<""<

cout<

cout<<""<

cout<<""<

return0;

}

第五节顺序结构实例

1029:计算浮点数相除的余

【题⽬描述】

计算两个双精度浮点数a和b的相除的余数,aa和bb都是双精度浮点数。这⾥余数(r)(r)的定义是:a=k×b+ra=k×b+r,其中kk是整

数,0≤r

【输⼊】

输⼊仅⼀⾏,包括两个双精度浮点数aa和bb。

【输出】

输出也仅⼀⾏,a÷ba÷b的余数。

#include

usingnamespacestd;

intmain(){

doublea,b;

intc;

cin>>a>>b;

c=(int)a/b;

cout<

return0;

}

1030:计算球的体积

【题⽬描述】

对于半径为r的球,其体积的计算公式为V=4/3πr,这⾥取π=3.14。现给定r,即球半径,类型为double,求球的体积V,保留到⼩数

点后22位。

【输⼊】

输⼊为⼀个不超过100的⾮负实数,即球半径,类型为double。

【输出】

输出⼀个实数,即球的体积,保留到⼩数点后2位。

#include

#include

#include

usingnamespacestd;

intmain(){

doubler,v;

cin>>r;

v=4/3.0*3.14*(pow(r,3));

printf("%.2lf",v);

return0;

}

3

1031:反向输出⼀个三位数

【题⽬描述】

将⼀个三位数反向输出,例如输⼊358,反向输出853。

【输⼊】

⼀个三位数n。

【输出】

反向输出n。

#include

usingnamespacestd;

intmain(){

inta;

cin>>a;

cout<

return0;

}

1032:⼤象喝⽔查

【题⽬描述】

⼀只⼤象⼝渴了,要喝20升⽔才能解渴,但现在只有⼀个深h厘⽶,底⾯半径为r厘⽶的⼩圆桶(h和r都是整数)。问⼤象⾄少要喝多少桶⽔才

会解渴。

【输⼊】

输⼊有⼀⾏:包⾏两个整数,以⼀个空格分开,分别表⽰⼩圆桶的深h和底⾯半径r,单位都是厘⽶。

【输出】

输出⼀⾏,包含⼀个整数,表⽰⼤象⾄少要喝⽔的桶数。

#include

#include

#definePI3.14

usingnamespacestd;

intmain(){

doubleh,r;

doublev;

cin>>h>>r;

v=r*r*PI*h;

cout<<(int)ceil(20000/v);//注意这⾥要强制类型转换为整型,ceil()为向上取整

return0;

}

1033:计算线段长度

【题⽬描述】

已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度,保留到⼩数点后3位。

【输⼊】

第⼀⾏是两个实数Xa,Ya,即A的坐标。

第⼆⾏是两个实数Xb,Yb,即B的坐标。

输⼊中所有实数的绝对值均不超过10000。

【输出】

⼀个实数,即线段AB的长度,保留到⼩数点后3位。

#include

#include

#include

usingnamespacestd;

intmain(){

doublexa,ya,xb,yb;

doublex,y,l;

cin>>xa>>ya>>xb>>yb;

x=xa>xb?xa-xb:xb-xa;//这⾥?:为⼀个三⽬运算符,防⽌计算出现负数

y=ya>yb?ya-yb:yb-ya;

l=sqrt(pow(x,2)+pow(y,2));

printf("%.3lf",l);

return0;

}

1034:计算三⾓形⾯积

【题⽬描述】

平⾯上有⼀个三⾓形,它的三个顶点坐标分别为(x1,y1),(x2,y2),(x3,y3),那么请问这个三⾓形的⾯积是多少,精确到⼩数点后两位。

【输⼊】

输⼊仅⼀⾏,包括6个单精度浮点数,分别对应x1,y1,x2,y2,x3,y3。

【输出】

输出也是⼀⾏,输出三⾓形的⾯积,精确到⼩数点后两位。

#include

#include

#include

usingnamespacestd;

doublelength(doublexa,doubleya,doublexb,doubleyb){

//这⾥借⽤上⼀题的计算长度的代码,求两点间距离

doublel,x,y;

x=xa>xb?xa-xb:xb-xa;

y=ya>yb?ya-yb:yb-ya;

l=sqrt(pow(x,2)+pow(y,2));

returnl;

}

intmain(){

doublex1,y1,x2,y2,x3,y3;

cin>>x1>>y1>>x2>>y2>>x3>>y3;

doublea,b,c,p,s;

a=length(x1,y1,x2,y2);

b=length(x2,y2,x3,y3);

c=length(x1,y1,x3,y3);

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

s=sqrt(p*(p-a)*(p-b)*(p-c));//海伦-秦九韶公式求⾯积

printf("%.2lf",s);

return0;

}

1035:等差数列末项计算

【题⽬描述】

给出⼀个等差数列的前两项a1,a2,求第nn项是多少。

【输⼊】

⼀⾏,包含三个整数a1,a2,n。−100≤a1,a2≤100,0

【输出】

⼀个整数,即第n项的值。

#include

usingnamespacestd;

intmain(){

inta1,a2,n;

cin>>a1>>a2>>n;

cout<

return0;

}

1036:A×B问题

【题⽬描述】

输⼊两个正整数A和B,求A×B的值。注意乘积的范围和数据类型的选择。

【输⼊】

⼀⾏,包含两个正整数A和B,中间⽤单个空格隔开。1≤A,B≤50000。

【输出】

⼀个整数,即A×B的值。

#include

usingnamespacestd;

intmain(){

unsignedlonglonga,b,c;//⼀开始开longlong,居然不够,ull才⾏

cin>>a>>b;

c=a*b;

cout<

return0;

}

1037:计算2的幂

【题⽬描述】

给定⾮负整数n,求2n的值,即2的n次⽅。

【输⼊】

⼀个整数nn。0≤n<31。

【输出】

⼀个整数,即2的n次⽅。

#include

#include

#include

usingnamespacestd;

intmain(){

intn;

cin>>n;

unsignedlonglongs=pow(2,n);//这⾥还是数据类型的问题,2的31次⽅是longlong的最⼤范围

cout<

return0;

}

1038:苹果和⾍⼦

【题⽬描述】

你买了⼀箱n个苹果,很不幸的是买完时箱⼦⾥混进了⼀条⾍⼦。⾍⼦每x⼩时能吃掉⼀个苹果,假设⾍⼦在吃完⼀个苹果之前不会吃另⼀

个,那么经过y⼩时你还有多少个完整的苹果?

【输⼊】

输⼊仅⼀⾏,包括n,x和y(均为整数)。

【输出】

输出也仅⼀⾏,剩下的苹果个数。

#include

#include

usingnamespacestd;

intmain(){

intn,x,y;

cin>>n>>x>>y;

intl=(int)ceil((double)y/(double)x);//这⾥要强制转换两次(只⼀次都不⾏,亲测会wa)

cout<<(n>l?n-l:0);//这⾥还要判断⼀下⼤⼩,不然会有负数wa⼀个点

return0;

}

End

PS:2019.8.12AC全部

本文发布于:2022-11-13 20:50:02,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/13268.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:2的31次方
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图