将浮点数 23.54 和 33.22 与整数值相加,如 23+33
Add floating point numbers 23.54 and 33.22 with just integral value like 23+33
有两个浮点数 23.54 和 33.22 必须编写程序将它们与左侧整数值相加,例如 23+33=56。
这是我试过的代码:
int sum;
sum=(int)num1+(int)num2;
printf("%d",sum);
或
printf("%d",(int)num1+(int)num2);
num1 的数据类型是 float,我正在使用 (int) 类型转换为整数类型。
由于我们对数据类型进行类型转换,这称为显式类型转换!
#include <stdio.h>
int main(){
float sum;
float num1;
float num2;
printf("first number:");
scanf("%f",&num1);
printf("second number:");
scanf("%f",&num2);
sum=(int)num1+int(num2);
printf("sum is %.2f",sum);
}
另一种选择是定义一个明确命名所用类型的函数,例如:
static int int_sum(int a, int b) {
return a + b;
}
可用作:
#include <stdio.h>
int main()
{
float a, b;
if (scanf("%f%f", &a, &b) == 2) {
printf("%d\n", int_sum(a, b));
}
return 0;
}
请注意,最好在使用它们之前检查 scanf
是否成功解析了它应该解析的值。如果用户未提供有效输入,您可能想要 return 其他内容,或者打印一条错误消息。
有两个浮点数 23.54 和 33.22 必须编写程序将它们与左侧整数值相加,例如 23+33=56。
这是我试过的代码:
int sum;
sum=(int)num1+(int)num2;
printf("%d",sum);
或
printf("%d",(int)num1+(int)num2);
num1 的数据类型是 float,我正在使用 (int) 类型转换为整数类型。
由于我们对数据类型进行类型转换,这称为显式类型转换!
#include <stdio.h>
int main(){
float sum;
float num1;
float num2;
printf("first number:");
scanf("%f",&num1);
printf("second number:");
scanf("%f",&num2);
sum=(int)num1+int(num2);
printf("sum is %.2f",sum);
}
另一种选择是定义一个明确命名所用类型的函数,例如:
static int int_sum(int a, int b) {
return a + b;
}
可用作:
#include <stdio.h>
int main()
{
float a, b;
if (scanf("%f%f", &a, &b) == 2) {
printf("%d\n", int_sum(a, b));
}
return 0;
}
请注意,最好在使用它们之前检查 scanf
是否成功解析了它应该解析的值。如果用户未提供有效输入,您可能想要 return 其他内容,或者打印一条错误消息。