Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2020, 22:19   #1
maks3549
Новичок
Джуниор
 
Регистрация: 06.10.2020
Сообщений: 2
По умолчанию какие условия добавить в if?

условие во вложении,как я понимаю, не проходит ноль в числа, которые являются полным квадратом,помогите ,пожалуйста.Программа должна работать на основании двух примеров с числами,указанными в примере во вложении
Код:
#define _CRT_SECURE_NO_WARNINGS
#pragma warning( disable : 4096)
#include<stdio.h>
#include<math.h>
int main()
{
	long int s = 1;
	int k = 0;
	while (1!=0) {
		int cf = s % 10;
		scanf_s("%lu", &s);
		if (s == 0) break;
		if ((cf == 1) || (cf == 4) || (cf == 0) )k++;



	}		
	printf("%d", k);
}
Изображения
Тип файла: jpg Screenshot_20201006-180132_Chrome.jpg (56.9 Кб, 5 просмотров)
maks3549 вне форума Ответить с цитированием
Старый 06.10.2020, 23:17   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Как понимаю, у вас алгоритм вообще неверный.
Вам надо вводить число, а не цифру (почувствуй разницу).
Число надо разложить на составляющие его цифры.
Если все цифры числа являются квадратом, то такое число и засчитывать.
К таким цифрам относятся 0, 1, 4 и 9, как следует из примера.
Посмотрите, как работает ваш алгоритм на примере числа из нескольких цифр: 491.
Возможно вы и вводите по одной цифре, но тогда ой.

И ещё.
Я не дока в Си, но как то странно видеть переменную s как long int, а формат для неё lu (long unsigned).
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 07.10.2020, 11:12   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,551
По умолчанию

Ну пока значение не вылезает за 10 в офигенной степени - то без разницы. А вообще, конечно, нужно приучать себя к аккуратности в объявлениях переменных.
digitalis вне форума Ответить с цитированием
Старый 07.10.2020, 16:58   #4
maks3549
Новичок
Джуниор
 
Регистрация: 06.10.2020
Сообщений: 2
По умолчанию

Слабо представляю как оформить все это,чтоб каждая цифра проверялась
maks3549 вне форума Ответить с цитированием
Старый 07.10.2020, 18:25   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
while (s) {
    cf = s % 10;
    s /= 10;
    // проверки
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вот решила начать учить программирования.С чего начать?Поделитесь полезной информацией - какие видео смотреть, какие книги читать? Dashazaha Помощь студентам 27 01.11.2018 12:05
Какие задать условия для обработки нескольких значений? KaizerSX Общие вопросы по Java, Java SE, Kotlin 1 06.11.2017 18:40
Какие налоги правильные и хорошие, а какие плохие и не правильные Smitt&Wesson Свободное общение 15 23.06.2016 09:33
Добавить еще условия в предложении MERGE xxbesoxx SQL, базы данных 3 17.07.2015 23:47
ребят, какие строки нужно добавить, чтобы считывал число Pi maksimka95 Помощь студентам 4 22.04.2013 22:00