如何在 运行 程序后再次将数字重置为 0
How to reset number to 0 after running program once again
我正在编写程序,将用户输入的数字之和转换为二进制、八进制和十六进制。我想再次为用户提供 运行 程序的选项,但编号不同。这就是问题所在 - 每次用户重复数字时,这些数字的总和都会添加到前一个条目中。如何停止递增?有什么办法可以将 sum 重置为 0 吗?非常感谢您的帮助!
Is there any way to reset sum to 0?
是的,在内循环之前将 sum
设置为 0。
sum = 0;
while(1)
{
printf("Enter number: ");
scanf("%d", &value);
sum += value;
if(value == 0)break;
}
此外,不要使用 while (1)
和最后的 break
条件,而是使用 do..while
循环。
sum = 0;
do {
printf("Enter number: ");
scanf("%d", &value);
sum += value;
} while (value != 0);
如果用户想将数字系统与其他数字一起使用,您只需将总和变量重置为 0 -
printf("\nEnter numbers once again? (y/n)\n");
scanf(" %c", &j);
printf("\n\nENTERING ONCE AGAIN\n");
if(j == 'n'||j == 'N')break;
***else sum = 0***
我正在编写程序,将用户输入的数字之和转换为二进制、八进制和十六进制。我想再次为用户提供 运行 程序的选项,但编号不同。这就是问题所在 - 每次用户重复数字时,这些数字的总和都会添加到前一个条目中。如何停止递增?有什么办法可以将 sum 重置为 0 吗?非常感谢您的帮助!
Is there any way to reset sum to 0?
是的,在内循环之前将 sum
设置为 0。
sum = 0;
while(1)
{
printf("Enter number: ");
scanf("%d", &value);
sum += value;
if(value == 0)break;
}
此外,不要使用 while (1)
和最后的 break
条件,而是使用 do..while
循环。
sum = 0;
do {
printf("Enter number: ");
scanf("%d", &value);
sum += value;
} while (value != 0);
如果用户想将数字系统与其他数字一起使用,您只需将总和变量重置为 0 -
printf("\nEnter numbers once again? (y/n)\n");
scanf(" %c", &j);
printf("\n\nENTERING ONCE AGAIN\n");
if(j == 'n'||j == 'N')break;
***else sum = 0***