gpt4 book ai didi

CS50 PS 1 贪婪

转载 作者:行者123 更新时间:2023-11-30 20:05:40 29 4
gpt4 key购买 nike

寻求一些关于为什么运行如此奇怪的建议。超过 .25 的所有内容都可以正常工作,但是低于 .25 的任何内容都可以正常工作,我会得到一些非常奇怪的结果。怎么了?

#include <cs50.h>
#include <stdio.h>
#include <math.h>

int main(void)
{
int v;
int count;
int q= 25;
int d= 10;
int n= 5;
int p= 1;
float m;

do
{
printf("How many coins do you need for this change?:\n");
m=GetFloat();
}
while (m<0);


int balance;

m=m*100;
balance= round (m);



while (balance >= q)
{
v=balance/q;
count=v;
balance=balance-(v*q);


}

while (balance >= d)
{
v=balance/d;
count=count+v;
balance=balance-(v*d);

}

while (balance >= n)
{
v=balance/n;
count=count+v;
balance=balance-(v*n);
printf("%i\n", count);
printf("%i\n", count);

}

while (balance >= p)
{
v=balance/p;
count=count+v;
balance=balance-(v*p);

}

printf("Total number of coins needed:%i\n", count);
}

最佳答案

对于低于 0.25 的值,您永远不会进入第一个 while 部分(因为 Balance < q),因此 count 保持未初始化状态,从而导致未定义的结果。

只是改变-

int count;

进入

int count = 0;

关于CS50 PS 1 贪婪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29905579/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com