①
输入:输入一个计算式,格式为:a # b = 。#为运算符。注意,运算符与数之间有一个空格!
输出:输出计算式的结果,保留4位小数。当#为/,即计算除法时,要判断除数是否为0(误差1e-12以内按0处理),若除数为0,输出“Error!”(输出无引号)
例:输入:
14.5 + 23.5 = 输出:38.0000
#include<stdio.h>
#include<math.h>
int main()
{
double a,b;
char c;
scanf("%lf %c %lf =",&a,&c,&b);
if(c=='+')
printf("%.4f",a+b);
else if(c=='-')
printf("%.4f",a-b);
else if(c=='*')
printf("%.4f",a*b);
else if(c=='/')
{
if(fabs(b)<1E-12)
printf("Error!");
else
printf("%.4f",a/b);
}
return 0;
}
②
输入:输入一个日期,格式为yyyy/mm/dd
输出:输出一个整数,表示该日期在当年中为第几天
例:输入 :2000/03/01 输出:61
oj1
#include<stdio.h>
int main()
{
double x;
scanf("%lf",&x);
x=(int)(x*100+0.5);
printf("%lf",x/100);
return 0;
}
③
输入:第一行输入一个整数T,T \le 100T≤100,代表有T组测试数据。接下来的T行,每行输入两个非负整数n、m。n是分子,m是分母(也就是n/m)。每一行代表一组测试数据。0 \lt m,n \lt 1000000<m,n<100000
输出:输出最简分式,格式a/b。若b=1,只输出a;若分母n=0,则输出“Error!”(输出无引号)
每组测试数据占一行。
例:输入:
3
12 16
15 3
20 0
输出:
3/4 5 Error!
注意:今后还会遇到有T组测试数据的问题,均可参照如下方式处理。
其实,T组数据不必一次性全部读进来,可以每次只读取两个数,一组一组处理。参考代码为:
scanf("%d", &T);
for(int t=0;t<T;t++)
{
scanf("%d%d", &n, &m);
//处理一组n,m
....
//输出本组结果
}