请帮忙改错 c++

来源:百度知道 编辑:UC知道 时间:2024/06/27 22:03:31
求天的偶因数的数量的百分比的问题下面是我写的帮忙看看有什么地方错了啊 总是=0
如4 偶因数有2 4 所以百分比就是 2/3*100
#include <iostream>
using namespace std;

int main()
{
int day,month,year,a,b,c,;
float p;

cout<<"please enter a date(dd mm yyyy):"<<endl;
cin>>day>>month>>year;
for(a=1;a<=day;a++)
if(day%a==0)
b++;
if(b%2==0)
c++;
p=(c/b)*100;
cout<<p<<endl;
system("pause");
return 0;
}
怎么赋值啊 因为我想把b++ c++表示为因数和偶因数的个数。不知道对不对。如果有什么问题帮忙改下

我按2楼的改了,还是不行.我觉得是我公式错了,有没有哪位能测试后在告诉我啊

int day,month,year,a,b,c,; //这行有几个错,首先b和c必须赋初值,其次c后面的","不用了,还有year后面的","要用半角输入法输入.
int day,month,year,a=0,b=0,c=0;

b和c 没有赋值 是使用的 系统默认的 值导致 你的 程序中 数值出现问题 解决办法 将b和
c 赋予相对应的值 。

p=(c/b)*100;
改为

p = (c * 1.0 / b) * 100
即可

这是因为int类型的/是整除,不会得到小数
在* 1.0后, 就将int型自动转换为浮点类型,才能得到正确结果

int day,month,year,a,b,c,; //此处有一点错误,应该是int day,month,year,a,b,c;
对于变量,系统默认的出值是0.