Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Stasya7
0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 19
Записей в блоге: 1
1

Определить простое ли число

21.09.2013, 17:34. Просмотров 2286. Ответов 6
Метки нет (Все метки)

Прошу помочь мне с моей первой программкой на Си. После паскаля жуть >_<
Собственно, требуется определить простое ли число. Подскажите, где ошибки в синтаксисе.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
main()
{  printf("Vvedite nat chislo n");
   int n,i,s=0,k;
   scanf("%d",&n);
   for (i=2; i=int(n/2); i=i+1)
       { 
         k=n%i;
         if (k=0)
            s=s+1;
       }
   if (s>0)
      printf("Prostoe");
   else 
      printf("Ne prostoe");
       
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 17:34
Ответы с готовыми решениями:

Массив: Найти максимальный элемент среди заданных элементов и определить простое ли это число.
Дан двумерный массив целых чисел расположенный в динамической памяти. Найти максимальный элемент...

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

Написать функцию, которая получает целое число и возвращает 1 если число простое и 0 если составное
Помогите пожалуйста решить. Написать функцию, которая получает целое число и возвращает 1 если...

Найти в последовательности наибольшее простое число
Здравствуйте, помогите пожалуйста с написанием программы, буду очень благодарен. вот задача: дан...

Найти простое число, ближайшее к заданному
нужно написать программу для этого! ФУНКЦИЯ ВОЗВРАЩАЕТ ПРОСТОЕ ЧИСЛО, БЛИЖАЙШЕЕ ДАННОМУ ЧИСЛУ. ...

6
Байт
Эксперт C
20584 / 13088 / 2757
Регистрация: 24.12.2010
Сообщений: 27,472
21.09.2013, 17:47 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
main()
{ 
* *int n,i,s=0,k;  // Объявления вперед
*printf("Vvedite nat chislo n");
* *scanf("%d",&n);
* *for (i=2; i<=n/2; i++)
* * * *{ 
* * * * *k=n%i;
* * * * *if (k=0) break;
* * * *}
* *if (i > n/2)
* * * printf("Prostoe");
* *else 
* * * printf("Ne prostoe");
}
Заодно слегка оптимизировал... (но не до конца)
Посмотри устройство цикла for

Добавлено через 6 минут
Цитата Сообщение от Stasya7 Посмотреть сообщение
После паскаля жуть >_<
Если Си твой всего лишь второй язык - тогда понятно. Любой второй язык - жуть. Но программист должен иметь представление о нескольких языках. Хотя бы для того, чтоб не впадать в стресс по пустяшным поводам...
0
Stasya7
0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 19
Записей в блоге: 1
21.09.2013, 17:57 3
А что сделать-то нужно, чтобы она что-нибудь вывела. А то после ввода числа ничего...
Заранее извиняюсь за, возможно, очень глупые вопросы
0
Байт
Эксперт C
20584 / 13088 / 2757
Регистрация: 24.12.2010
Сообщений: 27,472
21.09.2013, 18:03 4
Строку переведи
C
1
2
3
4
if (s>0)
      printf("Prostoe\n");
   else 
      printf("Ne prostoe\n");
0
MansMI
1452 / 1161 / 550
Регистрация: 08.01.2012
Сообщений: 4,509
21.09.2013, 19:23 5
Цитата Сообщение от Байт Посмотреть сообщение
if (k=0) break;
знака "=" пожалели?
1
Байт
Эксперт C
20584 / 13088 / 2757
Регистрация: 24.12.2010
Сообщений: 27,472
21.09.2013, 20:35 6
Цитата Сообщение от MansMI Посмотреть сообщение
знака "=" пожалели?
А я вот этого ляпа не заметил...
Вывод. У ТС явная путаница с операторами "=" и "==". Следует ему перечитать несколько первых страниц учебника по Си, и дело, надеюсь, пойдет на лад.

Добавлено через 1 минуту
Цитата Сообщение от Stasya7 Посмотреть сообщение
Заранее извиняюсь за, возможно, очень глупые вопросы
да ладно, привыкли, тут и не такое услышишь. Но советами не брезгуйте.
0
Catstail
Модератор
24496 / 12422 / 2264
Регистрация: 12.02.2012
Сообщений: 20,172
21.09.2013, 20:44 7
Цитата Сообщение от Stasya7 Посмотреть сообщение
После паскаля жуть
- интересно, в чем именно?
Паскалевское происхождение кода ощущается... Проверку на простоту лучше оформить функцией:

C
1
2
3
4
5
6
7
int isPrime(int n)
{
    int i;
    for (i=2; i<=(n/2); i++)
        if ((n % i) == 0) return 0;
    return 1;
}
2
21.09.2013, 20:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 20:44

Объясните, почему не проходит проверка на простое число?
Здравствуйте. Есть код программы. Должна читать текстовый файл и сортировать слова примерно так....

Вывести наибольшее простое число из серии положительных чисел
Подскажите пожалуйста, как вывести наибольшее простое число из серии положительных чисел, которая...

Написать функцию, которая найдет следующее за заданным простое число
пожаааалуйста хелп сказали, что 2 функции здесь будет, 1- будет проверять простое ли число, а 2 -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru