7-5 特别任务 (10 分)
任务描述
老师给于龙布置了超前预习任务(很多C语言教材并不介绍这个知识点):
scanf()函数的返回值
scanf()函数和printf()函数我们经常使用,它们有没有返回值呢?有的教材中说scanf()函数
和printf()函数没有返回值,这种说法是错误的。这两个函数都有返回值,只是我们很少加以利用
罢了。在C语言中只有函数类型为void的函数没有返回值,其它的函数都有返回值。
程序清单 09-03-07.c
//scanf()函数的返回值举例。
int main(){
int a,b,c;
c=scanf("%d%d",&a,&b);
printf("a=%d,b=%d,c=%d",a,b,c);
}
执行程序,几组输入输出结果如下(↙表示回车):
输入:23 54 89↙ 输出:a=23,b=54,c=2
输入:23,54↙ 输出:a=23,b=5068454,c=1
输入:23A54↙ 输出:a=23,b=5068454,c=1
输入:x23 54↙ 输出:a=356,b=5068454,c=0
程序分析:
C语言规定,函数scanf()的返回值为成功读入数据的个数。
第1组输入数据,程序成功读入两个数据,scanf()函数的返回值为2;第2组和第3组输入数据,
程序成功读入一个数据,scanf()函数的返回值为1;第4组数据没有读入成功,scanf()函数的
返回值为0。
老师又布置如下问题:
编程输入几个整数,最多4个,最少1个,输出它们的和、平均值。要求不能用if语句、switch语句和
循环语句,因为此时这些语句于龙还没学到。
输入格式:
只有一行,一行中有几个空格分隔的整数,最多可能是4个,最少可能是1个。
输出格式:
输出和还有平均值,平均值保留2位小数。
输入样例:
1 2 3 4
输出样例:
SUM=10,AVG=2.50
输入样例:
1 2 3
输出样例:
SUM=6,AVG=2.00
求解,谢谢,C语言。