这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。
题目链接: http://coder.buct.edu.cn/oj/Problem.aspx?pid=1793
题目是水题,但是这题考察到了一个我的缺陷:基础的不牢。 上不去这题的可以在百度搜这句话:“without unnecessary decimal points and/or zeros” 第一面会出现N个OJ,都是这题。
我第一次AC用的是cout,cout确实很只能,能实现: without unnecessary decimal points and/or zeros
#include
#include
using namespace std;
int main()
{
int x, cnt;
while(1)
{
int imax=-1, imin=11;
int sum = 0;
int flag=0;
for(int i=0; i<6; ++i)
{
scanf("%d", &x;);
if(x)
flag=1;
if(x > imax)
imax = x;
if(x < imin)
imin = x;
sum += x;
}
if(flag==0)
break;
sum -= (imax+imin);
cout << sum / 4.0 << endl;
}
return 0;
}
可是总觉得,printf也应该有这样的输出控制,于是看了其他人的代码,原来是用%g控制,这里就顺便把常用的控制输入输出贴出来:
%A 浮点数、十六进制数字和p-记法(C99)
%c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法 %E 浮点数、E-记数法 %f 浮点数、十进制记数法 %g 根据数值不同自动选择%f或%e. %G 根据数值不同自动选择%f或%e. %i 有符号十进制数(与%d相同) %o 无符号八进制整数 %p 指针 %s 字符串 %u 无符号十进制整数 %x 使用十六进制数字0f的无符号十六进制整数 %X 使用十六进制数字0f的无符号十六进制整数 %% 打印一个百分号 使用printf ()函数 printf()的基本形式: printf("格式控制字符串",变量列表);
|
#include
#include
using namespace std;
int main()
{
int x, cnt;
while(1)
{
int imax=-1, imin=11;
int sum = 0;
int flag=0;
for(int i=0; i<6; ++i)
{
scanf("%d", &x;);
if(x)
flag=1;
if(x > imax)
imax = x;
if(x < imin)
imin = x;
sum += x;
}
if(flag==0)
break;
sum -= (imax+imin);
printf("%g\n", sum/4.0);
}
return 0;
}