2000ASCLL码排序
#include<iostream>
using namespace std;
int main(){
char a,b,c;
char temp;
while(cin>>a>>b>>c){
if(a>b){//a存a b最小的
temp=a;
a=b;
b=temp;
}
if(a>c){//a和c比较,a存最小的
temp=a;
a=c;
c=temp;
}
if(b>c){//b和c比较,c存最大的
temp=b;
b=c;
c=temp;
}
cout<<a<<" "<<b<<" "<<c<<endl;
}
return 0;
}
//输入还可以while(scanf("%c%c%c",&a &b &c)!=EOF)
//这种形式时别忘了吸收回车
//还可以 char a[3]以字符串形式赋值
//while(scanf("%s",&a)!=EOF)
2001计算两点间距离
被我弄复杂了。。刚开始PE是因为计算式太长,分成了d3 d4 表示
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
struct dec{
double x;
double y;
};
int main(){
struct dec d1,d2;
double d3,d4;
double d;
while(cin>>d1.x>>d1.y>>d2.x>>d2.y){
d3=(d2.x-d1.x)*(d2.x-d1.x);
d4=(d2.y-d1.y)*(d2.y-d1.y);
d=sqrt(d3+d4);
printf("%.2lf\n",d);
}
return 0;
}
2002球体积
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
#define PI 3.1415927//这里不用加分号
int main(){
double R;
double V;
while(cin>>R){
double a=pow(R,3);/*pow函数不能直接参与运算 */
//这里刚开始马虎了a设置成了int导致结果不对
V=(4*PI*a)/3;
printf("%.3lf\n",V);
}
return 0;
}
2003绝对值
//求绝对值
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
double a;
while(cin>>a){
if(a<0)
a=-a;
printf("%.2lf\n",a);
}
return 0;
}
2004成绩转换
//成绩转换成等级,if语句有点技巧
#include<iostream>
using namespace std;
int main(){
int score;
while(cin>>score){
if(score<0||score>100)
cout<<"Score is error!"<<endl;
else if(score<60)
cout<<"E"<<endl;
else if(score<70)
cout<<"D"<<endl;
else if(score<80)
cout<<"C"<<endl;
else if(score<90)
cout<<"B"<<endl;
else if(score<=100)
cout<<"A"<<endl;
}
return 0;
}
2005第几天
//注意 每个月天数不一样
/*注意闰年,即要判断石否是闰年 ,可以加一个函数*/
/*对输入有要求最好用scanf 别忘了加头文件*/
#include<iostream>
#include<cstdio>
using namespace std;
int run(int n){
if(n%4==0&&n%100!=0||n%400==0)
return 1;
return 0;
}
int main(){
int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int a,b,c;
while(scanf("%d/%d/%d",&a,&b,&c)!=EOF){
int day=0;
for(int i=1;i<b;i++){
day+=mon[i];
}
day+=c;//把日期中的天数加上
if(run(a)&&b>2)
day+=1;
cout<<day<<endl;
}
return 0;
}
2006奇数乘积
#include <iostream>
using namespace std;
int main(){
int n, a ,mul;
while(cin>>n){
mul = 1;//乘积
while(n--){
cin>>a;
if(a%2!=0){
mul = mul*a;
}
}
cout<<mul<<endl;
}
}
2007平方和 立方和
/*这题有个坑,第一次就是因为这个错的!*/
//a可能比b小!
#include <iostream>
using namespace std;
int main(){
int a,b,i;
while(cin>>a>>b){
int x=0;
int y=0;
if(a>b){
for(i=b;i<=a;i++){
if(i%2==0)
x+=(i*i);
if(i%2!=0)
y+=(i*i*i);
}
cout<<x<<" "<<y<<endl;
}
else{
for(i=a;i<=b;i++){
if(i%2==0)
x+=(i*i);
if(i%2!=0)
y+=(i*i*i);
}
cout<<x<<" "<<y<<endl;
}
}
return 0;
}
2008数值统计
#include <iostream>
using namespace std;
int main(){
int n,x,y,z;
double i;
while(cin>>n){
if(n==0)
break;
x=0;
y=0;
z=0;
while(n--){
cin>>i;
if(i<0)
x += 1;
else if(i==0)
y += 1;
else if(i>0)
z += 1;
}
cout<<x<<" "<<y<<" "<<z<<endl;
}
return 0;
}
2009求数列和
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int main(){
int n,m;
while(cin>>n>>m){
double temp=n;
double sum=0;
for(int i=0;i<m;i++){
sum+=temp;
temp=sqrt(temp);
}
printf("%.2lf\n",sum);
}
return 0;
}
2010水仙花
//这题也有坑 输入输出格式的问题!!
//输出空格那里
#include <iostream>
using namespace std;
int main(){
int m,n;
int i,j,k;
while(cin>>m>>n){
if(m>n)
break;
int h=0;
for(int t=m;t<=n;t++){
i=t/100;
j=(t/10)%10;
k=t%10;
if((i*i*i+j*j*j+k*k*k)==t){
h+=1;
if(h==1)
cout<<t;
if(h!=1)
cout<<" "<<t;
}
}
if(h==0)
cout<<"no"<<endl;
else
cout<<endl;
}
return 0;
}
2011多项式求和
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int n,i;
double a,sum,j;
cin>>n;
while(n--){
sum = 0;
cin>>a;
for(i=1;i<=a;i++){
if(i%2==0){
j = i;
sum -= 1/j;
}else{
j = i;
sum += 1/j;
}
}
printf("%.2lf\n", sum);
}
}