一聚教程网:一个值得你收藏的教程网站

热门教程

C语言scanf输入考试题目

时间:2022-06-25 04:53:47 编辑:袖梨 来源:一聚教程网

当然那题目给出的输入方式是不断空格的,那么难道因为这个我们就需要使用%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已有介绍

热门栏目