参考答案
计算两点距离
#include <iostream>#include <iomanip>#include <math.h>using namespace std;int main(){double a1,a2,b1,b2;while(cin>>a1>>a2>>b1>>b2){double c = pow(a1-a2,2) + pow(b1-b2,2);printf("%.2lf",pow(c,0.5));cout<<endl;}return 0;}
第几天
#include <stdio.h>using namespace std;int month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};bool check_y(int y){if(y % 400 == 0 || y % 4 == 0 && y % 100 != 0) return 1;return 0;}int main(){int y,m,d;int sum = 0;while(scanf("%d/%d/%d",&y,&m,&d)){sum = 0;if(check_y(y)) month[2] = 29;else month[2] = 28;int t = 1;while(t <= m - 1){sum += month[t];t ++;}sum += d;printf("%d\n",sum);}return 0;}
ASCALL排序
#include <stdio.h>#include <iostream>#include <algorithm>using namespace std;int main(){char list[3];char a,b,c;while(cin>>a>>b>>c){list[0] = a;list[1] = b;list[2] = c;sort(list,list+3);for(int i = 0;i < 3;i++) cout<<list[i]<<" ";cout<<endl;}return 0;}
母牛的故事
#include <iostream>using namespace std;int a[56] = {0};int main(){for(int i = 1;i <= 4;i++){a[i] = i;}for(int i = 5;i <= 55;i++){a[i] = a[i - 1] + a[i - 3];}int n;while(cin>>n){if(n) cout<<a[n]<<endl;}return 0;}
