Есть ли способ сделать это добавление бесконечным? - PullRequest
0 голосов
/ 15 мая 2019

Итак, я попытался сделать это бесконечным циклом ввода для пользователя и добавления его.Но это просто конец в конце.Пожалуйста, помогите

#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 ]

3 голосов
/ 15 мая 2019

Просто добавьте бесконечный цикл внутри вашей основной функции следующим образом:

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

также строка с функцией SUM (x) перед printf является избыточной.

РЕДАКТИРОВАТЬ: я вставил опцию, чтобы выйти из бесконечного цикла в конце каждой итерации - если вы не хотите эту опцию, просто измените ее на while(1) и удалите обе команды print и scanf до конца.

0 голосов
/ 15 мая 2019

Я думаю, что вы пытаетесь реализовать бесконечный цикл так, чтобы значение суммы сохранялось, и к нему можно было добавить другое значение суммы.Надеюсь, этот код помогает!В противном случае, пожалуйста, улучшите ваш вопрос

#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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...