Найти синтаксическую ошибку в коде - C (СИ)

  1. написал программу, а после ее компиляции пишет ошибку и перекидывает на системный файлC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h> #include <conio.h> int main () { int N, sum; sum = 0;     do { printf ("\nВведите натуральное число: "); scanf ("%d", &N);        }     while (N <= 0);     while (N > 0)         {             sum += N % 10;             N /= 10;         } printf ("Сумма цифр равна %sum\n", sum ); getch(); }


textual

Код к задаче: «Найти синтаксическую ошибку в коде - C (СИ)»

printf ("Сумма цифр равна %d\n",sum );

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

14   голосов, оценка 3.786 из 5



Похожие ответы
  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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include struct sport { char name[10]; int number; int kol; } sp; void input(FILE *); // создание нового файла void print(FILE *); // просмотр файла void app(FILE *); // добавление в файл void del(FILE *); // удаление игрока с наименьшим количеством очков int main(void) {     char c;     FILE *fp;     while (1)     {           puts(" 1 – новый файл");         puts(" 2 – просмотр файла");         puts(" 3 – добавление в файл");         puts(" 4 – удаление игрока с наименьшим количеством очков");         puts(" 0 - выход");         c = getchar();         switch (c)         {         case '1':input(fp); break;// [B]вот тут ошибка[/B]         case '2':print(fp); break;         case '3':app(fp); break;         case '4':del(fp); break;         case '0':return 0;         default: puts("неверный режим");         }     } } void input(FILE *fp) {     char ch;     fp = fopen("file1.dat", "wb"); // открытие бинарного файла для записи       printf("\n Введите информацию о спортсменах \n");     do     {         printf("\n Фамилия: "); scanf("%s", sp.name);         printf(" Номер: "); scanf("%d", &sp.number);         printf(" Количество очков: "); scanf("%d", &sp.kol);         fwrite(&sp, sizeof(sp), 1, fp); // запись в файл одной структуры sp         printf("\n Закончить?  y/n  ");         ch = getchar();     } while (ch != 'y');     fclose(fp); } void print(FILE *fp) {     int i;       fp = fopen("file1.dat", "rb"); // открытие бинарного файла для чтения     i = 1;     fread(&sp, sizeof(sp), 1, fp); // чтение из файла одной структуры sp     while (!feof(fp))     {         printf("\n  %3d спортсмен %-10s номер %d   очков %d", i, sp.name, sp.number, sp.kol);         fread(&sp, sizeof(sp), 1, fp);         i++;     }     getchar(); } void app(FILE *fp) {     char ch;     fp = fopen("file1.dat", "ab"); // открытие бинарного файла для добавления       printf("\n  Введите информацию о спортсменах \n");     do     {         printf("\n Фамилия: "); scanf("%s", sp.name);         printf(" Номер: "); scanf("%d", &sp.number);         printf(" Количество очков: "); scanf("%d", &sp.kol);         fwrite(&sp, sizeof(sp), 1, fp);         printf("Закончить?  y/n  ");         ch = getchar();     } while (ch != 'y');     fclose(fp); } void del(FILE *fp) {     char ch; // [B]ВОТ ТУТ ОШИБКА[/B]     int i, j, n, h;     sport *s, p;       fp = fopen("file1.dat", "rb"); // открытие бинарного файла для чтения     // подсчет числа записей в файле     n = 0;     fseek(fp, 0, 2);     n = ftell(fp) / sizeof(sport);     rewind(fp);     s = (sport *)malloc(n*sizeof(sp));     // заполнение массива     for (i = 0, h = 1; 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 // вап.cpp: определяет точку входа для консольного приложения. //   #include #include "stdafx.h" #include   double ** Input(int rows, int cols) {     double **p;     p = (double**)malloc(rows * sizeof(double*));     for (int i = 0; i max) { max = p[i][j]; }         }     }     for (int j = 0; ((m - 1) / 2) < j < m; j++)     {         for (int i = m - 1 - j; i >= 0; i--)         {             if (p[i][j] > max) { max = p[i][j]; }         }     }     printf("%8.4lf ", max);     return p; }   int main() {     int m;     double **f;     double **mas;     system("chcp 1251");     system("cls");     printf("Введите размерность квадратной матрицы: ");     scanf("%d", &m);     printf("Ввод матрицы А\n");     mas = Input(m, m);     printf("максимальное значение \n");     f = max(m);     getchar(); getchar(); }

  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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 #include #include int main() { char stroka[] = { 0 }; char slovo[] = { 0 }; int i = 0; int len = 0; int pos = 0; int max_len = 0; int dl = 0; int j = 0;     printf("Vvedite stroku\n"); scanf("%s", &stroka);   for (i = 0; stroka[i] != '\0'; i++) { if (slovo[i] != ' ') len++; else { if (len > max_len) { pos = i-len; max_len = len; len = 0; } else { len = 0; } } } if (len > max_len) { pos = i - len; max_len = len; }   printf("Vvedite slovo\n"); scanf("%s", &slovo); for (dl = 0; slovo[dl] != '\0'; dl++); char* new_stroka; len = i; new_stroka =(char*) malloc(sizeof(char)*(len + dl + 2)); if (pos == 0) { j = 0; } for (int a = 0; a < dl; a++) { new_stroka[j] = slovo[a]; j++; } new_stroka[j] = ' '; for (int a = 0; a < i; a++) { new_stroka[j] = '\0'; } return 0; free(new_stroka); }

  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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 #include #include #include #include #define X 14 #define Y 2 #define Z 16   void drow(char c); float calc(float h, float g);     main() {     int menu;     setlocale(LC_ALL, "RUS");       puts("Эта программа рисует или считает периметр треугольника");     puts("\n 1-Нарисовать 2-Посчитать периметр 3-Выход");     scanf_s("%d", &menu);     switch (menu)     {     case 1:drow('c'); break;     case 2:calc(5, 4); break;     default:return;     }         void drow(char c);     {         char a;         int i, j, b;         setlocale(LC_ALL, "RUS");         puts("Эта программа рисует тупоугольный треугольник заданым символом\n Нажмите любую кнопку");         a = getchar();         puts("\tТупоугольный треугольник\n\n\n");         printf(" ");         for (i = 0; i < 1; i = 1) // Верх треугольника             putchar(a);         putchar('\n');         for (i = 0; i < X; i++)         {             printf(" ");             for (j = 0; j < X - i; j++) //Левая часть                 printf(" ");             putchar(a);             for (b = 1; b < Y + i; b++) //Правая часть                 putchar(' ');             putchar(a);             putchar('\n');           }         printf(" ");         for (i = 0; i < Z; i++) // Основание             putchar(a);         putchar('\n');     }     float calc(float h, float g);     {         int P;         P = X + Y + Z;         system("pause");         printf("Площадь равна %d \n", P);         system("pause");     }   }Ссылка на неразрешенный внешний символ _drow в функции _main Ссылка на неразрешенный внешний символ _calc в функции _main

  1. C1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include #include   ...     int main() {      setlocale(LC_CTYPE, "rus");      SetConsoleCP(866);      SetConsoleOutputCP(866); ... }кодблокс выдаёт ошибку undefinied reference to "SetConsole" с 1251 тоже самое. Подскажите, пожалуйста, как пофиксить)

  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 37 38 39 40 #include #include #include int main() {   float x,y,R;   int s;   clrscr();   printf("\n Vvedite x= ");   scanf("%f",&x);   printf("\n Vvedite y= ");   scanf("%f",&y);   printf("\n Vvedite R= ");   scanf("%f",&R);     while (x>0 & y<0)      {       printf("\n Vvedite x= ");       scanf("%f",&x);       printf("\n Vvedite y= ");       scanf("%f",&y);      }     if (x*x+y*y-(x-R)*(x-R))     {        printf("\n s=1");     }       else if (x*x+y*yR & y>-(x-R)*(x-R))         {           printf("\n s=3");         }           else if (x>R & y<-(x-R)*(x-R))           {            printf("\n s=4");           } getch(); return 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 # include # include #include   # define MAX_N 10 # define MAX_M 10     int main() { setlocale(LC_ALL, "rus"); float A[MAX_N]; float B[MAX_M][MAX_N]; int i,j,m,n; printf("Введите размерность матрицы\n"); scanf("%d", &m); printf("Введите размерность матрицы\n"); scanf("%d", &n); for(j=0;j

  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 #include #include #include   main() {     int a, b, c, d,e,f,s;     setlocale(0,"");     printf("Введите натуральное число");     scanf("%d", &a); b = a; f = c;     for (c = 1; c <= a; c++)     {         b %= 10;         a /= 10;         d = a + b;           f%= 10;           c/= 10;           e = c + f;           if (e=d) {               printf("%d",e);           }           else {               printf("НЕТ");           }     } } Получается бесконечный цыкл,не пойму почему.

  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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #include   void flip(int *data, int m, int n) {     int swap, i;       for (i = m; i < --n; i++)     {         swap = data[i];         data[i] = data[n];         data[n] = swap;     }   } int main() {     int i, j, a, maxNumPos, moves = 0, length, data[100];       scanf_s("%d", &length);       if (length < 2)         return 0;       for (j = 0; j < length; j++)     {         scanf_s("%d", &data[j]);     }       for (i = length; i > 1; i--)     {         maxNumPos = 0;         for (a = 0; a < i; a++)         {             if (data[a] > data[maxNumPos])                 maxNumPos = a;         }           if (maxNumPos == (i - 1))             continue;             if (maxNumPos >= 0)         {             flip(data, maxNumPos, i);             moves++;         }       }       for (j = 0; j < length; j++)     {         printf("%d ", &data[j]);     }     return moves; }допустим ввод массив из 5: 23, 3, 5, 2, 1 вывод: 1636348, 1636352, 1636356, 1636360, 1636364 (должно быть: 1, 2, 3, 5, 23) Обычно сам читаю в инете, но материала про блинную сортировку на понятном мне языке немного (опыт программирования 2 недели =/)

  1. Что-то не могу увидеть ошибку.Во втором массиве выдает только 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 #define _CRT_SECURE_NO_WARNINGS   #include #include #include #include #define N 35   void input_array(int *A, int A_size); void print_array(int *A, int A_size);   /*ЭТО КОСТЫЛЬ ДЛЯ ФУНКЦИИ ИТОА, КОТОРОЙ НЕТ В ЛИНУКСЕ*/   /* reverse:  переворачиваем строку s на месте */ void reverse(char s[]) {     int i, j;     char c;       for (i = 0, j = strlen(s) - 1; i < j; i++, j--) {         c = s[i];         s[i] = s[j];         s[j] = c;     } } /*ЭТО КОСТЫЛЬ ДЛЯ ФУНКЦИИ ИТОА, КОТОРОЙ НЕТ В ЛИНУКСЕ*/ void itoa(int n, char s[]) {     int i, sign;       if ((sign = n) < 0)  /* записываем знак */         n = -n;          /* делаем n положительным числом */     i = 0;     do {       /* генерируем цифры в обратном порядке */         s[i++] = n % 10 + '0';   /* берем следующую цифру */     } while ((n /= 10) > 0);     /* удаляем */     if (sign < 0)         s[i++] = '-';     s[i] = '\0';     reverse(s); }     /*ЗДЕСЬ ПРОГРАММА*/ int main() {     char *ach;     char p[17];     int y = 10;     int i, X = 0;     int A[N];     srand(time(0));     input_array(A, N);     puts("\nDo:");     print_array(A, N);     printf("Vvedite chislo X=");     scanf("%i",&X);     for (i = N - 1; i != 0; --i) {         while (A[i] =X)         {             int tmp = A[i];             A[i] = 0;                         break;         }     }       int b_size = N;       // Выделение памяти под новый массив и его заполнение     int * b = (int *)malloc(sizeof(int) * b_size);     for (i = b_size - 1; i != 0; --i) { //тоже с конца прогоняем по         while (A[i] != 0)  //условию,что элемент не равен 0         {             b[i] = A[i];//то элемент второго массива равен элементу первого             break;         }       }         puts("\nPosle:");     while (i < sizeof(A))//цикл пока i менее длины массива     {         i++;     }         print_array(A, b_size);     getchar();     return 0;     }     void input_array(int *A, int A_size) {     int i;     for (i = 0; i < A_size; i++)     {         A[i] = 17 + rand() % (100 - 10); //генерируем массив     } }   void print_array(int *A, int A_size) {     int i = 0;     while (i < A_size)     {         if (A[i] != 0)             printf("%4d", A[i]);         //printf("\n");         i++;     }         puts(""); }