因此,我试图使它成为用户输入的无限循环并添加它。但这只是结束。请帮助
#include <stdio.h>
#include <stdlib.h>
int SUM(int a)
{
int sum = 0;
while (a > 0)
{
sum = sum + (a % 10);
a = a / 10;
}
return sum;
}
int main()
{
int x;
printf("Enter an integer = ");
scanf("%d", &x);
SUM(x);
printf("Sum digit = %d", SUM(x));
}
答案 0 :(得分:3)
只需在您的主要函数中添加一个无限循环,如下所示:
#include <stdio.h>
#include <stdlib.h>
int SUM(int a){
int sum=0;
while(a>0){
sum =sum+(a%10);
a=a/10;
}
return sum;
}
int main(){
int x;
char quit = 'n';
do{
printf("Enter an integer = ");
scanf("%d", &x);
printf("Sum digit = %d", SUM(x));
//exiting option
printf("Quit the program? [y/n]");
scanf(" %c",&quit);
}while(quit !='y' && quit != 'Y');
}
另外,在printf之前包含SUM(x)函数的行是多余的。
编辑:我插入了一个选项,在每次迭代结束时退出无限循环-如果您不希望使用该选项,只需将其更改为while(1)
并在结束之前删除所有print和scanf命令。
答案 1 :(得分:0)
我认为您正在尝试实现无限循环,以便保留总和值并可以向其添加另一个总和值。 希望这段代码对您有所帮助!! 否则请改善您的问题
#include <stdio.h>
#include <stdlib.h>
int SUM(int a)
{
int sum=0;
while(a>0)
{
sum =sum+(a%10);
a=a/10;
}
return sum;
}
int main()
{
int x,choice,result=0;
while(1)
{
printf("**MENU**\n");
printf("1. Perform Sum\n");
printf("2. Result\n");
printf("3. Exit\n");
printf("Choose:");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("Enter an integer = ");
scanf("%d", &x);
result+=SUM(x);
break;
case 2:
printf("Sum digit = %d\n", result);
break;
case 3:
printf("Final Result = %d\n",result);
exit(0);
default:
printf("Try Again!\n");
}
}
return(0);
}