当然那题目给出的输入方式是不断空格的,那么难道因为这个我们就需要使用%d %d %d直到10吗?实际上并不需要,直接输入就可以了,缓冲区这个概念应该还记得,当scanf()读到空白字符(包括enter和space),剩下的并不是直接丢弃,而是存在缓冲区,而读取的时候从第一个非空白字符开始读取,所以,我们使用循环结构,一路用空格就行了,直到清空了缓冲区。
我们来看看这个程序的源码吧
| 代码如下 | 复制代码 |
| #include #define NUM 10 int main(void) { int i; float sales[NUM]; float sum = 0, max = 0, min = 0; printf("Please input %d sales: n", NUM); for (i = 0; i < NUM; i++) { scanf("%f", &sales[i]); sum += sales[i]; if (i == 0) { /* min max 初始化 */ max = sales[i]; min = sales[i]; } if (sales[i] > max) max = sales[i]; if (sales[i] < min) min = sales[i]; } printf("ave = %f range = %gn", sum / NUM, max - min); return 0; } |
|
关于%g这是一个很好的新东西,在C 转换说明符%g已有介绍
tplink路由器默认密码是多少(tplink路由器默认密码详解)
tplink路由器默认密码怎么查看(tplink路由器默认密码查看方法)
tplink无线路由器密码怎么重置(tplink无线路由器密码重置方法)
手机如何设置tplink无线路由器密码和密码共享功能(手机设置tplink无线路由器密码和密码共享功能方法)
tplink无线路由器密码忘记了怎么办(tplink无线路由器密码忘记了解决方案)
tplogin路由器可以无线桥接么(TPLink路由器是否支持无线桥接功能)