教程集 www.jiaochengji.com
教程集 >  脚本编程  >  C语言  >  正文 C语言scanf输入考试题目

C语言scanf输入考试题目

发布时间:2018-09-30   编辑:jiaochengji.com
教程集为您提供C语言scanf输入考试题目等资源,欢迎您收藏本站,我们将为您提供最新的C语言scanf输入考试题目资源
题目:一份计算机市场调查报告显示,市场上PC机的售价不同:6500,4990,5500,7200,6810,5700,5660,6900,5850,6250。编写程序,计算平均售价以及最大差价(最大差价=最高售价-最低售价)。

当然那题目给出的输入方式是不断空格的,那么难道因为这个我们就需要使用%d %d %d直到10吗?实际上并不需要,直接输入就可以了,缓冲区这个概念应该还记得,当scanf()读到空白字符(包括enter和space),剩下的并不是直接丢弃,而是存在缓冲区,而读取的时候从第一个非空白字符开始读取,所以,我们使用循环结构,一路用空格就行了,直到清空了缓冲区。

我们来看看这个程序的源码吧

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy5774')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy5774>#include <stdio.h>
#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已有介绍

您可能感兴趣的文章:
C语言scanf输入考试题目
约瑟夫问题的数组实现
C语言中scanf函数格式化错误输入问题
C语言输入输出double值得处理
稀疏矩阵的转置
php程序员面试之笔试题及答案
简易的学生管理系统
python和c语言的区别是什么
电脑语言栏不见了怎么办?语言栏怎么恢复?
C语言一维数组入门教程

[关闭]
~ ~