试图使用浮点数在C中对整数进行除法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试图使用浮点数在C中对整数进行除法相关的知识,希望对你有一定的参考价值。
int main()
int day,month,initial;
int dumpster1,dumpster2;
day = 20;
month = 4;
initial = "GM";
month = month + 12;
day = day + 30;
float dumpster1 = 0.0;
dumpster1 = (float)day/month;
printf("%.1f",dumpster1);
我试图将日期除以月份并存储在dumpster1
中,这是我的编程课的作业,如果有人可以帮助我,请谢谢。
答案
我发现的问题:
1。您正在声明具有不同数据类型的相同变量(第2行的int并在第9行的float,这使代码不明确。
2.char数据类型一次只能包含一个字符。您要声明两个(GM)。
解决方案:使用浮点数据类型声明一次dumpster1。并将两个字符保留在一个字符数据类型内。始终创建一个数组或使用字符串数据类型处理多个字符。
另一答案
我在不试图理解意图逻辑的情况下修复了代码,通过此修复,我认为您可以更新代码,以防万一它仍然无法按照您的意图执行:
#include <stdio.h>
int main()
// removing int initial declaration, as not needed.
int day,month;
// Not needed declaration
// int dumpster1,dumpster2;
day = 20;
month = 4;
// you'll need to define this as:
// char initial[] = "GM";
// initial = "GM";
month = month + 12;
day = day + 30;
float dumpster1 = 0.0;
dumpster1 = (float)day/month;
printf("%.1f",dumpster1);
让我们看一下代码:您需要#include <stdio>
才能使用printf
,因为该功能已在该标准库中实现。
int dumpster1,dumpster2;
,因为您在第13行中将dumpster1
声明为float
,否则将导致dumpster1
出现双重声明或冲突类型错误。 dumpster2
从未使用过,因此无用的声明。
initial = "GM";
从未使用过,所以我不知道为什么要定义它。但是,如果要定义此值以供以后使用,则需要将其定义为char initial[] = "GM";
希望您能更好地理解作业。
以上是关于试图使用浮点数在C中对整数进行除法的主要内容,如果未能解决你的问题,请参考以下文章