杭电OJ ACM Steps1.2.7
/*
#include<stdio.h>
#include<math.h>
//double d在C语言中表示定义一个双精度浮点型变量,变量名为d。
int main(){
int T,i;
float b1,b2;
float a[10];
double d;
double *e = &d;
char c;
scanf("%d",&T);
for(i=0;i<T;i++){
scanf("%s %f %f",&c,&b1,&b2);
switch(c){
case '+':{
a[i]=b1+b2;
break;
}
case '-':{
a[i]=b1-b2;
break;
}
case '*':{
a[i]=b1*b2;
break;
}
case '/':{
a[i]=b1/b2;
break;
}
}
}
for(i=0;i<T;i++){
if(modf(a[i],e)<1e-6)
printf("%d\n",a[i]);
else
printf("%.2f\n",a[i]);
}
}
*/
//以上Runtime Error
#include<iostream>
#include<iomanip>
using namespace std;
int max(int num1,int num2){
return num1>=num2?num1:num2;
}
int min(int num1,int num2){
return num1<=num2?num1:num2;
}
int main(){
int n,a,b;
char x;
float c;
cin>>n;
while(n--&&n<1000){
cin>>x>>a>>b;
if(max(a,b)<10000&&min(a,b)>0){
switch(x){
case '+':
cout<<a+b<<endl;
break;
case '-':
cout<<a-b<<endl;
break;
case '*':
cout<<a*b<<endl;
break;
case '/':
c=(float)a/(float)b;
if(c==a/b)
cout<<a/b<<endl;
else
cout<<setiosflags(ios::fixed)<<setprecision(2)<<c<<endl;
//printf("%.2f\n",&c) ——显示Compilation Error
break;
default:
break;
}
}
}
}
|