1通过构造函数方法比较
#include<stdio.h>
int max(int x1,int x2);
int min(int y1,int y2);
int main(void){
int a,b,c,sum,max1,min1;
scanf("%d %d %d",&a,&b,&c);
sum=a+b+c;
max1=max(a,max(b,c));
min1=min(a,min(b,c));
printf("%d %d %d",min1,sum-min1-max1,max1);
return 0;
}
int max(int x1,int x2){
if(x1<=x2)
x1=x2;
return x1;
}
int min(int y1,int y2){
if(y1>=y2)
y1=y2;
return y1;
}
2(仅支持符合题意的数据测试)
#include<stdio.h>
int main(void){
double max,yes;
scanf("%lf %lf",&max,&yes);
if((yes-max)/max>0.5)
printf("吊销驾照");
else if((yes-max)/max>0.1)
printf("罚款200");
return 0;
}
3
#include<stdio.h>
int main(void){
double l,wait,sum=0;
scanf("%lf %lf",&l,&wait);
if(l<=3){
sum=10;
}
else if(l<=13){
sum=10+(l-3)*2;
}
sum+=(int)((wait/5)*2);
if((int)(sum*10)%110>=5){
sum=(int)sum+1;
}
printf("%d",(int)sum);
return 0;
}
4
#include<stdio.h>
int main(void){
int n;
scanf("%d",&n);
n/=10;
switch(n){
case 10:
case 9 :
printf("A");
break;
case 8:
printf("B");
break;
case 7:
printf("C");
break;
case 6:
printf("D");
break;
default:
printf("E");
}
return 0;
}
5
#include<stdio.h>
#include<math.h>
int main(void){
double area,s,l1,l2,l3,l,x1,x2,x3,y1,y2,y3;
scanf("%lf %lf %lf %lf %lf %lf",&x1,&y2,&x2,&y2,&x3,&y3);
l1=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
l2=sqrt(pow(x3-x1,2)+pow(y3-y1,2));
l3=sqrt(pow(x2-x3,2)+pow(y2-y3,2));
if((l1+l2>l3)&&(l2+l3>l1)&&(l1+l3>l2)){
s=(l1+l2+l3)/2.0;
l=l1+l2+l3;
area=sqrt(s*(s-l1)*(s-l2)*(s-l3));
printf("%.2f %.2f",l,area);
}
else printf("Impossible");
return 0;
}