Ravi Meena Ответов: 2

Каков будет результат? Я хочу выходной копировать быть 4, но это дает 0?


#include <iostream>
#include<math.h>
using namespace std;
int main() 
{
	//code
	int n,d,num,count,sum;
    num=13;
    d=2;
    sum=0;
    n=num;
	while(n>0)
	{
		sum=sum+n%10;
		n=n/10;
    }
    
	int diff=0;
	count=0;
	
   for(int i=0;diff>d;i++)
	{
		diff=num-sum;
		count++;
		num--;
		sum--;
	}

	printf("%d",count);
	return 0;
}


Что я уже пробовал:

Я попробовал задать этот вопрос.Он должен дать ответ 4.
справочныеВсе числа с определенной разницей | практика | GeeksforGeeks[^]

2 Ответов

Рейтинг:
2

OriginalGriff

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

Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что именно то, что вы ожидали, произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас-вам пора освоить новый (и очень, очень полезный) навык: отладку!

Но я дам вам подсказку: каковы ценности в diff и d когда вы входите в свою петлю?


Рейтинг:
0

Patrice T

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.