Member 122356782 Ответов: 4

WAP, чтобы найти и распечатать вторую по величине цифру в данном числе? ( Без использования массивов, функций и использования только одного цикла).


( без использования массивов, функций и использования только одного цикла).

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

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

#include <stdio.h>
#include <stdlib.h>
#include<limits.h>
int main()
{
	int n;
	printf("Enter the number : ");
	scanf("%d",&n);
	int min=INT_MIN,temp;
	while(n!=0)
	{
		temp = n % 10;
		if(temp>min)
			min=temp;
		n = n/10;
	}
	printf(" large",min);
	return 0;
}

4 Ответов

Рейтинг:
1

CPallini

Сначала я думал, что небольшой модификации вашего кода будет достаточно. Однако проблема имела свои нюансы.
Попробуй

#include <stdio.h>
int main()
{
  int n, ld, sld;
  printf("Enter a positive number number : ");
  scanf("%d",&n);
  if ( n <= 0 )
  {
    printf("no cheating, please\n"); // handling of non-positive numbers left as exercise
    return -1;
  }

  ld  = -1;
  sld = -1;

  while (n)
  {
    int r = n % 10;
    if ( ld < r )
    {
      if ( sld < ld)
        sld = ld;;
      ld = r;
    }
    else if ( ld > r && sld < r)
    {
      sld = r;
    }

    n /= 10;
  }

  if (ld != -1) printf("largest digit is %d\n", ld);
  if (sld != -1) printf("second largest digit is %d\n", sld);
  return 0;
}


Patrice T

Вы слишком добры, ОП просто искала кого-то, чтобы сделать свою домашнюю работу.
Я даже сомневаюсь, что этот код является его собственным.
Видеть Есть ли какой-нибудь инструмент, который может преобразовать сценарий оболочки '.sh' в файл C '.c' ?[^]
Он нашел код в ShellScript, но не смог понять и перевести на C.

Member 122356782

yaa ppolymorphe это не мой собственный код.это код, написанный мной и моим другом. Я новичок в программировании. r8t теперь я не такой хороший программист ,как U.Но я изучаю йаар. Может быть, мне понадобится не больше года после окончания университета, чтобы составить вам конкуренцию.

Рейтинг:
0

Patrice T

Мы не делаем вашу домашнюю работу.
Домашнее задание не предназначено для проверки ваших навыков просить других людей выполнять вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, которые вы испытываете при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по исправлению положения.
Так что попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто спрашиваете о решении, это похоже на попытку научиться водить машину, обучая кого-то другого.
Создание алгоритма - это в основном поиск математики и необходимая адаптация к вашей реальной проблеме.

Совет: возьмите лист бумаги и попробуйте сделать это вручную, ваша программа должна использовать ту же процедуру.
Чтобы определить, является ли цифра второй по величине, вам нужно отслеживать самую большую в то же время.
На вашем листе бумаги сделайте 2 столбца для наибольшего и второго, а затем попытайтесь найти, как все развивается по мере приближения цифр.

Вопрос: когда у вас есть 998, каков ответ ?


Рейтинг:
0

Member 13003146

#включить<stdio.h>
пустота главная()
{
int n,цифра,a=0,b=0;
printf("введите число");
scanf("%d",&n);
в то время как(n!=0)
{
цифра=n%10;
если(цифра>a)
{
b=a;
цифра;
}
еще
если(цифра>b)
b=цифра;

n=n/10;
}
printf("вторая по величине цифра числа - %d ",b);
}


[no name]

Пожалуйста, сообщите нам, какую оценку вы получаете за выполнение его домашнего задания.

Рейтинг:
0

Member 13950835

#включить<stdio.h>
#включить<conio.h>
пустота главная()
{

int n,i=0,r1=0,r,r2;
scanf("%d",&n);
в то время как(n>0)
{
r=n%10;
n=n/10;
если(r>r1)
r2=r1
r1=r;
}
printf("%d",r2);
}


Patrice T

2 года слишком поздно, и код неправильный.