Сумма цифр в числе (отладить код) - C (СИ)

  1. Здравствуйте. Программа должна находить сумму цифр в числе (напр. для 123 1+2+3=6). Но после введения числа, ничего не происходит… Подскажите, в чём дело?C1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include<stdio.h> #include<conio.h> int main() {  int sum = 0,n, a;  printf("Vvedite chislo \n"); scanf("%d", &n);     while (n !=0)     {        a= n%10;        sum=sum+a;     }     printf("Summa chisla=%d",sum); getch(); }


textual

Код к задаче: «Сумма цифр в числе (отладить код) - C (СИ)»

#include<stdio.h>
 
int main()
{
 int sum = 0,n;
 printf("Vvedite chislo \n"); 
 scanf("%d", &n);
    while (n>0)
    {
       sum+=n%10;
       n=n/10;
    }
    printf("Summa chisla=%d",sum);
getch();
}

СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 3.933 из 5



Похожие ответы
  1. Равномерный код-это когда мы используем рандом? Можно ли назвать это равномерным распределением от 0 до 1:int C1 2 3 4 5 6 fun() {     static unsigned int num = 0;     num++;     return num % 2; }

  1. Здравствуйте. Задача вычислить количество полных лет прошедших между двумя датами. Абсолютно элементарная задача, но я ни как не могу с ней справится. Проблемы: 1. При воде дат типа 1.1.1990 и 1.1.2010 говорит, что неиницилизована переменная. 2. При вводе дат типа 14.4.1990 и 10.5.2000 говорит, что прошло 9 лет, хотя прошло 10. Я окончательно запутался, надеюсь на ваше снисхождение и помощь.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include #include int main() { int x1,x2,y1,y2,z1,z2,r; printf("chislo1 "); scanf("%d", & x1); printf("mecich1 "); scanf("%d", & y1); printf("god1 "); scanf("%d", & z1); printf("chislo2 "); scanf("%d", & x2); printf("mecich2 "); scanf("%d", & y2); printf("god2 "); scanf("%d", & z2); if (y2y1&&z1!=z2) r=z2-z1; else if (y2=y1&&x2>x1&&z1!=z2)r=z2-z1; else if (z1==z2)r=z2-z1; printf("Proshlo %d",r); printf(" let"); getch(); }Добавлено через 7 часов 0 минут Проблемы актуальны.

  1. Здравствуйте. Программа некорректно считает индекс массива (вместо индекса максимального элемента выводит индекс последнего элемента) подскажите, что не так? Заранее спасибо.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include #include #include int main() { int *t; int i,n,max, index; printf("\n n="); scanf("%d", &n); t=(int *)malloc(n*sizeof(int));   printf("Posledovatelnost:\n "); for ( i=0; i

  1. Здравствуйте. Написал программу, которая должна сортировать динамический массив. Но она его не сортирует, а выдаёт все элементы по порядку, причём, когда массив статический, всё работает корректно, подскажите, в чем дело. Заранее спасибо.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include #include #include int main() { double *t; int i,n, j,tmp; printf("\n n="); scanf("%d", &n); t=(double *)malloc(n*sizeof(double)); printf(" Isxodny massiv:\n "); for ( i=0; i j )     {         tmp=i;         i=j;         j=tmp;     } printf(" Sorted massiv:\n "); for ( i=0; i

  1. Добрый день. Написал программу, считающую не диагональные элементы. Выдает число -1717986919 (Подозреваю, что некорректно считаю элементы на побочной диагонали). Код привожу, если не затруднит, подскажите, что не так. Заранее спасибо.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 #include #include int main() {     //иницилизируем и заполняем массив     int M[10][10]; int i,j,n,sd1=0,sd2=0,sdiag=0, vsego=0, symma=0; printf("n="); scanf("%d", &n); for (i=0;i0;j--) sd2=sd2+M[i][j];   //сумма всех эл-тов for (i=0;i

  1. Помогите найти ошибку в коде (не срабатывает условие if(ptr[z-ptr-1]!='-') ). Задание звучит так: Найти в веденном тексте не правильное написание частиц "-то, -либо, -нибудь", т.е БЕЗ "-"C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #include "stdafx.h" #include #include #include #include #include #include #include #include   using namespace std;   #define size 1024   int main(){         SetConsoleOutputCP(1251);     SetConsoleCP(1251);     char* vse[]={"то","либо","нибудь"};     char buffer[size];     char symbol[size];     cout<<"Введите текст\n";     fgets( buffer, 1024, stdin );       //cout<<"Введите текст";     //gets( symbol);       char *ptr = strtok(buffer, " ,.");       size_t count=0;     char* z=NULL;     while(ptr!=NULL)     { z=NULL;         int i;         for (i=0;i<3;i++)         {             z=NULL;             z=strstr(ptr,vse[i]);             if(z>ptr)             {                   if(ptr[z-ptr-1]!='-')                 size_t count=0;                     ++count;             }         }                   ptr = strtok(NULL, " ,.");     }     cout<<"Ошибки встречаются: "<

  1. Помогите пожалуйста Мне для решения задачи нужно из двумерного сделать одномерный массив. Но что-то не выходит: C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include   int main(void) {     int mass[6][6];     int i,j,k,masod;         for(i=0; i<6; i++)     {          for(j=0; j<6; j++)          {              mass[i][j]=rand()%100;              printf("%4d", mass[i][j]);          }     printf("\n");     }                     for(i = 0; i < 6; i++)     {         for(j = 0; j < 6; j++)         {             masod[k]=mass[i][j];             k++;         }     }         for(i=0;i

  1. вот есть такой код мне надо записывать в потоке в .log , из Tar и Tar2 подскажите как , то что выводиться в меседжахC1 2 3 4 5 6 7 8 9 10 11 12 13 14     if(bWCHAR==FALSE) { Buf += len; } else { Buf += 2*len; }     TotalLen += len;     _memset(Tar2,0x00,sizeof(Tar2));     ptr = Tar2;     *ptr = ';';     ptr++;     if(bWCHAR==FALSE) { _memcpy(ptr,sBuf,TotalLen);  }     else { WideCharToMultiByte(CP_ACP,0,(WCHAR *)sBuf,TotalLen,ptr,sizeof(Tar2),NULL,NULL); }        ptr+=lstrlen(ptr);       *ptr = '?';      if(StrStr(pCacheMap,Tar2)==NULL) {     Sleep(10);         MessageBox(NULL,Tar2,NULL,MB_OK);     MessageBox(NULL,Tar1,NULL,MB_OK);

  1. Помогите изменить программу Условие: дано натуральное число n. Вычислить:1+2+...+n Код: по моим расчетам ошибка в for помогите пжC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include   int main() {    SetConsoleCP(1251);    SetConsoleOutputCP(1251);      double result = 1.0;    int n, i;      printf("Введите натуральное число: ");    scanf("%d", &n);      [COLOR="Red"]for (i = +2; i <= n; ++i)[/COLOR]    {       result += 1.0 / i;    }      printf("Ответ: %lf\n", result);      system("pause");    return 0; }