原题链接见:https://vjudge.net/contest/144431
主要看思路,拒绝拷贝粘贴。
A - ASCII码排序:
#include<stdio.h>
#include<string.h>
void swap(char *p,char *q);
int main()
{
char s[3];
while(scanf("%s",s)!=EOF)
{
if(s[0]>s[1]) swap(&s[0],&s[1]);
if(s[0]>s[2]) swap(&s[0],&s[2]);
if(s[1]>s[2]) swap(&s[1],&s[2]);
printf("%c %c %c\n",s[0],s[1],s[2]);
}
return 0;
}
void swap(char *p,char *q)
{
char t;
t=*p;
*p=*q;
*q=t;
}
B - 计算两点间的距离
:#include<stdio.h>
#include<math.h>
int main()
{
double x1,x2,y1,y2,len;
while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF)
{
len=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
printf("%.2f\n",len);
}
return 0;
}
C - 计算球体积
:#include<stdio.h>
#define PI 3.1415927
int main(void)
{
double a;
while(scanf("%lf",&a)!=EOF)
{
printf("%.3f\n",((a*a*a)*PI*4)/3.0);
}
return 0;
}
D - 求绝对值
:#include<stdio.h>
int main(void)
{
double a;
while(scanf("%lf",&a)!=EOF)
{
if(a<0){
a=-a;
}
printf("%.2f\n",a);
}
return 0;
}
E - 成绩转换
:#include<stdio.h>
int main(void)
{
int a;
int b;
while(scanf("%d",&a)!=EOF)
{
if(a>=0&&a<=100){
b=a/10;
switch(b)
{
case 10 :
case 9 :printf("A\n");break;
case 8 :printf("B\n");break;
case 7 :printf("C\n");break;
case 6 :printf("D\n");break;
default :printf("E\n");
}
}else{
printf("Score is error!\n");
}
}
return 0;
}