Pereiti prie turinio

C kalba, kaip išskaidyti bet kokį skaičių į skaitmenis.


Rekomenduojami pranešimai

Sveiki, iškilo tokia problema, kad nelabai sugalvoju, kaip išskaidyti bet kokį skaičių į skaitmenis, nes užduotis prašo patikrint ar skaičiuje yra skaitmuo "2", jei taip sumą padidinti vienetu, programą parašiau, bet skaido tik dviženklius skaičius, jei galit padėkit, būsiu labai dėkingas

 

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i, r, q, q2, r2, b, sum=0, sum2=0;

   while(i!=0)
   {
           printf("Ivsekite skaiciu, skaicius 0 uzbaigia seka. \n");
           scanf("%d", &i);

                       r2=(b)%10;
       		q2=(b-r)/10;

                       if (i<0)
                       {
                       b= abs(i);
                       if ((r2==2) || (q2==2))
                       sum2++;
                       }


       r= i%10;
       q=(i-r)/10;


       if ((r==2) || (q==2))
       sum++ ;


   }

   printf("Skaiciu, kurie turi skaitmeni 2, %4d", sum+sum2);
   return 0;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

parašyk pilnai užduotį, nes iš kodo sunku suprasti ką čia nori padaryti.

 

Jeigu tereikia patikrinti ar įvestoje skaičių sekoje yra 2, tai tiesiog:

 

#include <stdio.h>
#include <string.h>

// This code outputs: h is in "This is my test string"
int main(int argc, char* argv[])
{
  const char *invalid_characters = "2";
  char *mystring = "654654654632";
  char *c = mystring;
  while (*c)
  {
      if (strchr(invalid_characters, *c))
      {
         printf("%c is in \"%s\"\n", *c, mystring);
      }

      c++;
  }

  return 0;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ačiū jums, parašiau programą, veikia ir sutrumpinau gerokai :D

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i, r, q,sum=0;

   while(i!=0)
   {
           printf("Ivsekite skaiciu, skaicius 0 uzbaigia seka. \n");
           scanf("%d", &i);
      i=abs(i);

       if ((i==2) || (abs(i)==2))
           sum++;

      while (i>=10)
      {

       r= i%10;
       i=i/10;

       if ((r==2)||(i==2))
       sum++;
      }
   }

   printf("Skaiciu, kurie turi skaitmeni 2, %4d", sum);
   return 0;
}

Redagavo Laris3
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...