// PascalABC.NET 3.1, сборка 1201 от 18.03.2016 begin var k:=0; var n:=ReadInteger(); var nmax:=0; while n<>0 do begin Inc(k); if n mod 10 = 0 then if n>nmax then nmax:=n; n:=ReadInteger() end; var cntrl:=ReadInteger(); Writeln('Получено ',k,' чисел'); Writeln('Полученное контрольное значение: ',cntrl); Writeln('Вычисленное контрольное значение: ',nmax); if cntrl=nmax then Writeln('Контроль пройден') else Writeln('Контроль не пройден') end.
Значение переменной i не задано, поэтому выведет что - то произвольное, Почему while (a<N) ? А если первая цифра слева в числе = 1? while (a<N) нужно заменить на while (0<N) Убрать строку a=N%10; перед while После строки min=10; добавить строку i=0;
после изменений будет примерно так:
#include<stdio.h> #include<conio.h>
main() { int N,a, min, i, imin; scanf("%d", &N); min=10; i=0; while (0<N) { i++; a=N%10; N=N/10; if (a<min) { min=a; imin=i; } } printf ("%d", imin); getch(); return 0; }
Например:схема и чертеж.
Я думаю, что так.Надеюсь, что з