有什么办法可以使这个添加无限?

时间:2019-05-15 10:11:32

标签: c

因此,我试图使它成为用户输入的无限循环并添加它。但这只是结束。请帮助

#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));
}

2 个答案:

答案 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);
}