Snažil som sa s operáciami priradenia a to fungovalo .., ale to nie je v prevádzke ...
int n;
printf("Enter a 4 digit numbern");
scanf("%d", &n);
float i;
i = (((n + 8)/3)%5)*5;
printf("%fn", i);
odpovede:
0 pre odpoveď č. 1Všetky vaše hodnoty vo formulári sú celé čísla. Použije sa teda celočíselná aritmetika.
To znamená, že ak rozdelíte 11 3, dostanete 3, pretože celé čísla nemajú desatinné miesta. A to pokračuje cez celý váš vzorec.
Túto možnosť môžete obsadiť takto: ((float)n+8)...
Alebo by ste mohli urobiť len časť kalorizácie doslovne n+8.0f
týmto spôsobom sa používa aritmetika s plávajúcou desatinnou čiarkou.
Ale dostanete problém s modulom, pretože nie je definovaný pre plávajúce body.
Takže ak chcete urobiť správne rozdelenie, ktoré potrebujetevýsledok v float, ale ako modulo očakáva celé čísla to nie je možné. Takže bez ďalšieho objasnenia buď dostanete "nesprávny" výsledok, pretože používate celočíselnú aritmetiku alebo máte problém s modulom.