Tuesday, October 23, 2012

Цифрүүдийн нийлбэр+Рекурс

#include<stdio.h>
int getSum(int);
int main(){
  int num,sum;
  printf("Тоо оруулна уу: ");
  scanf("%d",&num);
  sum = getSum(num);
  printf("Цифрүүдийн нийлбэр:  %d",sum);
  return 0;
}
int getSum(int num){
    static int sum =0,r;
    if(num!=0){
      r=num%10;
      sum=sum+r;
      getSum(num/10);
    }
    return sum;
}
Гаралт:
Тоо оруулна уу: 45
Цифрүүдийн нийлбэр:  9

Цифрүүдийн нийлбэр + Цикл

#include<stdio.h>
int main(){
  int num,sum=0,r;
  printf("Тоо оруулна уу: ");
  scanf("%d",&num);
  for(;num!=0;num=num/10){
      r=num%10;
      sum=sum+r;
  }
  printf("Цифрүүдийн нийлбэр :  %d",sum);
  return 0;
}
Гаралт:
Тоо оруулна уу: 567
Цифрүүдийн нийлбэр:  18

Тооны цифрүүдийн нийлбэр №1

#include<stdio.h>
 
int main(){
  int num,sum=0,r;
  printf("Buhel too oruul: ");
  scanf("%d",&num);
  while(num){
      r=num%10;
      num=num/10;
      sum=sum+r;
  }
  printf("Tsifruudiin niilber:  %d",sum);
  return 0;
}
Гаралт:
Buhel too oruul: 123
Tsifruudiin niilber :  6

Хөрвүүлэх №3

#include<stdio.h>
int main(){
    int num,r,reverse=0;
    printf("Enter any number: ");
    scanf("%d",&num);
    for(;num!=0;num=num/10){
         r=num%10;
         reverse=reverse*10+r;
    }
    printf("Reversed of number: %d",reverse);
    return 0;
}
Гаралт:
Enter any number: 123
Reversed of number: 321

Том тоог хөрвүүлэх

//Монголоор бичсэнийг Латин болгоорой
#include<stdio.h>
#define MAX 1000
int main(){
    char num[MAX];
    int i=0,j,flag=0;
    printf("Эерэг бүхэл тоо өгнө үү: ");
    scanf("%s",num);
    while(num[i]){
         if(num[i] < 48 || num[i] > 57){
             printf("Бүхэл тоо биш");
             return 0;
         }
         i++;
    }
    printf("Урвуу нь : ");
    for(j=i-1;j>=0;j--)
         if(flag==0 &&  num[j] ==48){
         }
         else{
             printf("%c",num[j]);
             flag =1;
         }
    return 0;
Гаралтын жишээ:
Эерэг бүхэл тоо өгнө үү: 234561000045645679001237800000000000
Урвуу нь: 8732100976546540000165432

Тоог хөрвүүлэн бичвэл

1. Өгөгдсөн тоог хөрвүүлэн(reverse) бич
2. Тооны урвууг ол гэх үү?
3. Өгөгдсөн тоог оронгоор нь хөрвүүлж бич
#include<stdio.h>
int main(){
    int num,r,reverse=0;
    printf("Duryn too oruulna uu: ");
    scanf("%d",&num);
    while(num){
         r=num%10;
         reverse=reverse*10+r;
         num=num/10;
    }
    printf("Hurvusun urvuu too: %d",reverse);
    return 0;
}
Гаралт:
Duryn too oruulna uu: 12
Hurvusun urvuu too: 21