BUCT OJ 1793 Judging ACM/ICPC

题目链接:
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <cmath>
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(“格式控制字符串”,变量列表);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <cmath>
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;
}

发布者

Tanky Woo

Tanky Woo,[个人主页:https://tankywoo.com] / [新博客:https://blog.tankywoo.com]

《BUCT OJ 1793 Judging ACM/ICPC》有78个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注