Давталтын бүтэц
Програмчлалын аль ч хэлэнд нэг үйлдлийг олон удаа давтан гүйцэтгэх үйлдэл байнга тулгарч байдаг. Үүнийг давталтын операторуудын тусламжтайгаар гүйцэтгэнэ.
Програмчлалын хэлэнд давталтын 3 бүтэц байдаг.
1.Параметрт давталт for
2.Өмнөө нөхцөлт давталт while
3.Төгсгөлдөө нөхцөлт давталт do while
for (анхны утга олголт; нөхцөл; утгын өөрчлөлт)
{
Давталтын_бие;
}
#include <stdio.h>
#include <conio.h>
main ()
{ int n;
for (n=10; n>0; n--)
{
printf(“%d, ”,n);
}
printf(“Duuslaa”);
getch();
}
Өөрийнхөө нэрийг нэг нэг мөрөнд 20 удаа хэвлэх програм зохио.
Гараас оруулсан n хүртэлх содгой тоонуудын нийлбэрийг ол.
#include <stdio.h>
#include <conio.h>
main ()
{
int s=0,i,n;
scanf("%d",&n);
for (i=1; i<=n; i=i+2)
{
s=s+i;
}
printf("Niilber -> %d too bna",s);
getch();
}
1.Өгсөн n хүртэлх бүх тоонуудын нийлбэрийг ол.
2.Гараас оруулсан n хүртэлх бүхэл тоонуудын үржвэрийг олох програм зохиож. Гараас оруулсан ямар утганд програм буруу хариу гаргаж байгааг олж тооцоол.
3.1-100 хүртэлх 4т хуваагддаг тоонуудын нийлбэрийг ол.
2 оронтой тоонуудын тодроос цифрүүдийн нийлбэр нь 10 тай тэнцүү байх бүх тоог хэвлээд нийт хичнээн тоо байгааг ол.
#include <stdio.h>
#include <conio.h>
main ()
{
int n,i=0,a,b;
for (n=10; n<=99; n++)
{
a=n /10;
b=n%10;
if (a+b==10)
{ printf(“%d \n”, n); i++;}
}
printf(“Niit %d too bna”,i);
getch();
}
Цифрүүдийн нийлбэр нь өгсөн n тоотой тэнцүү байх бүх 3 оронтой тоонуудыг хэвлэх програм зохио.
while циклwhile (логик нөхцөл)
{
Давталтын_бие;
}
#include<stdio.h>
#include<conio.h>
main ()
{ int n;
printf("Ehleh too oruul: ");
scanf("%d",&n);
while (n>0)
{
printf("%d, ",n);
n--;
}
printf("Duusav");
getch();
}
Өгөгдсөн 2 бүхэл тооны ХИЕХ-ийг олох програм зохио. Энэ бодлогыг бодохдоо Евклидын алгоритмыг ашиглая.#include<stdio.h>
#include<conio.h>
main ()
{ int n,m;
printf(“2 buhel too oruul: ");
scanf("%d%d",&n,&m);
while (n!=m)
{
if (n
else n=n-m;
}
printf(“XIEX= %d“,n);
getch();
}
do-while цикл
do
{
Давталтын_бие;
} while (логик нөхцөл)
Өгөгдсөн 2 бүхэл тооны ХИЕХ-ийг олох програм зохио. Энэ бодлогыг бодохдоо Евклидын алгоритмыг ашиглая.
#include<stdio.h>
#include<conio.h>
main ()
{ int n,m;
printf(“2 buhel too oruul: ");
scanf("%d%d",&n,&m);
do
{
if (n
else n=n-m;
} while (n!=m);
printf(“XIEX= %d“,n);
getch();
} Өгөгдсөн n тоо төгс тоо мөн эсэхийг тогтоо. Төгс тоо гэдэг нь өөрөөсөө ялгаатай хуваагчуудынхаа нийлбэртэй тэнцүү тоог төгс тоо гэнэ. Жишээ нь 6=1+2+3 учир 6 төгс тоо мөн.
#include <stdio.h>
#include <conio.h>
int main ()
{
int n,s,i;
scanf("%d",&n);
s=0; i=1;
do
{
if (n%i==0) s=s+i;
i++;
} while (i
if (s==n) printf("togs too mon");
else printf("togs too bish");
getch();
}
Тасалдалын break оператор
#include <stdio.h>
#include <conio.h>
int main ()
{ int n;
for (n=10; n>0; n--)
{ printf(“%d, ”,n);
if (n= =3)
{
printf(“Davtalt taslagdlaa!“);
break;
}
}
getch();
}
#include <stdio.h>
#include <conio.h>
int main ()
{ for (int n=10; n>0; n--)
{
if (n= =5) continue;
printf(“%d, ”,n);
}
printf(“Duuslaa!”);
getch();
}
Шилжилтийн goto оператор
#include <stdio.h>
#include <conio.h>
int main ()
{ int n=10;
shilj: printf(“%d, ”,n);
n--;
if (n>0) goto shilj;
printf(“Duuslaa!”);
getch();
}
Програмыг төгсгөх буюу утга буцаах return оператор
#include <stdio.h>
#include <conio.h>
int main ()
{
int a,b,s;
scanf(“%d%d”,&a,&b);
printf(“%d ”, a+b);
getch();
return 0;
}
1.Цифрүүдийн нийлбэр нь өгсөн бүхэл тоотой тэнцүү байх 3 оронтой тоонуудыг тодорхойл. Үр дүн: 10 гэсэн тоо өгөгдөхөд цифрүүдийн нийлбэр нь 10-тай тэнцүү 3 оронтой тоо S=54
2.M тоо хүртэлх сондгой тоонуудын үржвэрийг ол.
3.Дараах нөхцөлийг хангасан 3 оронтой тоог ол. Үүнд: нь 3 орнтой тоо. Үр дүн: 123
4.Цифрүүдийн квадратуудын нийлбэр нь 5-д хуваагддаг 3 оронтой хичнээн тоо байх вэ? Үр дүн 164 ширхэг тоо байна.
5.Өгсөн n тооны факториалыг ол. Үр дүн: n=5 үед factorial=120
6. 1!+2!+3+…+n! = энэ нийлбэрийг олох програм зохио. Үр дүн нь n=10 гэж өгхөд 40379113
7.12, 22, 32, …, n2цувааны нийлбэрийг ол. Үр дүн: n=100 sum=338350
8.Үнээ 100000төгрөг, бяруу 50000 төгрөг, тугал 10000 төгрөгний үнэтэй бол 1000000 төгрөгөөр хэдэн үнээ, тугал, бяруу худалдаж авч болох вэ?
nice
ReplyDelete