gpt4 book ai didi

c - 我怎样才能得到想要的输出?

转载 作者:行者123 更新时间:2023-11-30 16:12:45 25 4
gpt4 key购买 nike

我尝试对测试用例使用 for 循环,因为我认为这会带来所需的输出,但事实并非如此

int main() 
{
int num, temp, digit, sum = 0;
int test,i;
scanf("%d",&test);
for(i=1;i<=test;i++)
{
printf("\n");
scanf("%d", &num);
temp = num;
while (num != 0)
{
digit = num % 10;
sum = sum + digit;
num /= 10;
}
printf("%d",sum);
}
return 0;
}

预期结果 - 2 123 456 输出 - 6 15

获得的结果 - 2 123 456 输出- 6 21

第一个输出是正确的,但在第二次打印时,它将第一个结果与第二行相加,这是我不想要的。

最佳答案

在处理 123 后,您永远不会清除总和。您正在计算正确的总和 (15),但它会被添加到上一步 (6) 的总和中。解决 for 循环内清除 sum 的问题。

for(i=1;i<=test;i++)
{
sum = 0;
printf("\n");

关于c - 我怎样才能得到想要的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58260847/

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