|
发表于 2022-4-10 13:57:17
|
显示全部楼层
题目保证输入与输出均在整型范围内
#include <stdio.h>
int main(void)
{
printf ("求4个整数的和以及平均值;请输入4个整数(取值范围:-2147483648~2147483647),整数之间用空格隔开:\n");
int a = 0, b = 0, c = 0, d = 0;
int Sum = 0;
double Average = 0.0;
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
scanf("%d", &d);
int int_type_size = sizeof (a);
printf ("%d\n", int_type_size); //打印int类型所占字节数
int double_type_size = sizeof (double);
printf ("%d\n", double_type_size); //打印double类型所占字节数
//确保输入在整型范围之内,取值范围根据对应数据类型所占字节数计算出来的。可以百度查询
if (a < -2147483648 || a > 2147483647)
{
printf ("输入的第一个数不符合取值范围\n");
return -1;
}
if (b < -2147483648 || b > 2147483647)
{
printf ("输入的第二个数不符合取值范围\n");
return -2;
}
if (c < -2147483648 || c > 2147483647)
{
printf ("输入的第三个数不符合取值范围\n");
return -3;
}
if (d < -2147483648 || d > 2147483647)
{
printf ("输入的第四个数不符合取值范围\n");
return -4;
}
//确保输入在整型范围之内或浮点数范围之内,取值范围根据对应数据类型所占字节数计算出来的。可以百度查询
Sum = a + b + c + d;
Average = Sum * 0.25;
if (Sum < -2147483648 || Sum > 2147483647)
{
printf("输入的四个数的和不符合取值范围\n");
return -5;
}
if (Average < 1.7E-308 || Average > 1.7E+308)
{
printf ("平均值不符合取值范围\n");
return -6;
}
printf("Sun=%d;Average=%.1f\n", Sum, Average);
return 0;
} |
|