7-2 求整数均值
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
1 2 3 4
输出样例:
Sum = 10; Average = 2.5
首先看看错误写法
在求平均数的时候,直接用“Average = Sum/4“来求平均数,Average是一个实型变量,而Sum为整型变量,故其结果会出现 Average = Sum/4 = 10/4 = 2 的情况,所以应该在Sum的前面乘上1.0,使Sum这个整数变为浮点数,再进行运算;或者省略除法运算,只采用乘法运算。
#include<stdio.h>
main(){
int a,b,c,d,Sum;
float Average; //定义四个整数,一个和,一个平均数
scanf("%d" "%d" "%d" "%d",&a,&b,&c,&d); //输入四个数
Sum = a + b + c + d; //求和
Average = Sum/4; //求平均数
printf("Sum = %d; Average = %.1f",Sum,Average); //输出
return 0;
}
正确解法一
( Average = Sum/4→ Average = 1.0*Sum/4)
#include<stdio.h>
main(){
int a,b,c,d,Sum;
float Average; //定义四个整数,一个和,一个平均数
scanf("%d" "%d" "%d" "%d",&a,&b,&c,&d); //输入四个数
Sum = a + b + c + d; //求和
Average = 1.0*Sum/4; //求平均数
printf("Sum = %d; Average = %.1f",Sum,Average); //输出
return 0;
}
正确解法二
( Average = Sum/4→ Average = Sum*0.25)
#include<stdio.h>
main(){
int a,b,c,d,Sum;
float Average; //定义四个整数,一个和,一个平均数
scanf("%d" "%d" "%d" "%d",&a,&b,&c,&d); //输入四个数
Sum = a + b + c + d; //求和
Average = Sum*0.25; //求平均数
printf("Sum = %d; Average = %.1f",Sum,Average); //输出
return 0;
}
例: 要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
#include<stdio.h>
int main()
{
int N,i,flag = 1;
double s=0.0;
scanf("%d",&N);
for(i=1;i<=N;i++){
s+=1.0*i/(2*i-1)*flag;
flag *= -1;
}
printf("%.3f",s);
return 0;
}
其中 s+=1.0*i/(2*i-1)*flag;中的1.0的作用为将整型转变为浮点型