2000:
一、题目描述:
二、解题思路:
1.字符的比较即ASII码的比较
2. 法一:while(scanf("%c%c%c", &a, &b, &c) != EOF)指输入的无限循环
scanf读入字符时,空格是留在存储区,需要gechar()清除空格
法二:sort也能进行排序 sort(起始位置,结束位置的下一个位置)
头文件为#include<algorithm>
三、代码实现:
1.
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
char a,b,c,temp;
while(cin>>a>>b>>c){
if(a>b){ //a<b
temp=b;
b=a;
a=temp;
}
if(a>c){ //a<c
temp=c;
c=a;
a=temp;
}
if(b>c){ //b<c
temp=c;
c=b;
b=temp;
}
cout<<a<<" "<<b<<" "<<c<<endl;
}
return 0;
}
或
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
char a,b,c,temp;
while(scanf("%c%c%c", &a, &b, &c) != EOF){
if(a>b){ //a<b
temp=b;
b=a;
a=temp;
}
if(a>c){ //a<c
temp=c;
c=a;
a=temp;
}
if(b>c){ //b<c
temp=c;
c=b;
b=temp;
}
printf("%c %c %c\n",a,b,c);
getchar();
}
return 0;
}
2.
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
char arr[3];
while(cin>>arr){
sort(arr,arr+3);
printf("%c %c %c\n",arr[0],arr[1],arr[2]);
}
}
2011:
一、题目描述:
二、解题思路:
注意: ans+=1.0/i 数写成浮点型
三、代码实现:
#include<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
int main(){
int m,n;
scanf("%d",&m);
while(m--){
int x;
scanf("%d",&x);
double ans=0;
for(int i=1;i<=x;i++){
if(i%2!=0)ans+=1.0/i;
else ans-=1.0/i;
}
printf("%.2lf\n",ans);
}
}