81
Утга өсгөх бууруулах Илүү богино арга i++ or ++i == i = i + 1 i-- or --i == i = i – 1 i += a == i = i + a i -= a == i = i - a i *= a == i = i * a i /= a == i = i / a

C lects (3)

  • Upload
    mongoo

  • View
    1.474

  • Download
    4

Embed Size (px)

Citation preview

Page 1: C lects (3)

Утга өсгөх бууруулах

Илүү богино арга

i++ or ++i == i = i + 1i-- or --i == i = i – 1i += a == i = i + ai -= a == i = i - ai *= a == i = i * ai /= a == i = i / a

Page 2: C lects (3)

Давталт

Ижил заавруудыг дахин дахин биелүүлэх.

Бүлэг кодууд

Зарим төлөв Өөрчлөгдөнө

Нөхцөл биелэх үед давтагдана

Page 3: C lects (3)

Давталт

C -д дараах давталтууд байдаг. for, while, do-while.

Page 4: C lects (3)

while давталт

while (condition)

{

statement(s);

}

Нөхцөл үнэн бол statement биелнэ

Нөхцөл худал болвол давталт дуусна.

Page 5: C lects (3)

Жишээ факториал

#include <stdio.h>int main(){

int i, n, fact = 1;printf("Enter a number\n");scanf("%d", &n);i=1; /* тоолуур */while (i<=n){

fact = fact*i;i++; /* i = i+1 */

}printf("the factorial is %d\n", fact);return 0;

}

Page 6: C lects (3)

Жишээ Фибончийн дараалал

fibonacci.c

Page 7: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0

Screen

5

lim0

fib11

fib2---

fib_next

Page 8: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0

Screen

5

lim0

fib11

fib2---

fib_next

Page 9: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1

Screen

5

lim0

fib11

fib2---

fib_next

Page 10: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1

Screen

5

lim0

fib11

fib21

fib_next

Page 11: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1

Screen

5

lim1

fib11

fib21

fib_next

Page 12: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1

Screen

5

lim1

fib11

fib21

fib_next

Page 13: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1

Screen

5

lim1

fib11

fib21

fib_next

Page 14: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1

Screen

5

lim1

fib11

fib21

fib_next

Page 15: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1

Screen

5

lim1

fib11

fib22

fib_next

Page 16: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1

Screen

5

lim1

fib11

fib22

fib_next

Page 17: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1

Screen

5

lim1

fib12

fib22

fib_next

Page 18: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1

Screen

5

lim1

fib12

fib22

fib_next

Page 19: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2

Screen

5

lim1

fib12

fib22

fib_next

Page 20: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2

Screen

5

lim1

fib12

fib23

fib_next

Page 21: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2

Screen

5

lim2

fib12

fib23

fib_next

Page 22: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2

Screen

5

lim2

fib13

fib23

fib_next

Page 23: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2

Screen

5

lim2

fib13

fib23

fib_next

Page 24: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2 3

Screen

5

lim2

fib13

fib23

fib_next

Page 25: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2 3

Screen

5

lim2

fib13

fib25

fib_next

Page 26: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2 3

Screen

5

lim3

fib13

fib25

fib_next

Page 27: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2 3

Screen

5

lim3

fib15

fib25

fib_next

Page 28: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2 3

Screen

5

lim3

fib15

fib25

fib_next

Page 29: C lects (3)

Фибоначи алхмаар

fib1 = 0;fib2 = 1;

printf("%d ", fib1);

while (fib2 < lim){

printf("%d ", fib2);fib_next = fib1 + fib2;fib1 = fib2;fib2 = fib_next;

}

printf("\n");

0 1 1 2 3

Screen

5

lim3

fib15

fib25

fib_next

Page 30: C lects (3)

getchar

getchar() хэрэглэгчийн тэмдэгтийг хүлээн авна.

stdio.h-д агуулгагдана Алдаа гарвал сөрөг утга буцаана. scanf адил.

char c;

c = getchar();

char c;

scanf(“%c”, &c);====

Page 31: C lects (3)

Putchar

putchar(char)хаалтан дахь тэмдгийг хэвлэнэ.

stdio.h байна Printf адил.

char c;

putchar(c);

char c;

printf(“%c”, c);====

Page 32: C lects (3)

Жишээ – жижиг үсгийг том болгох.

low2up.c

Page 33: C lects (3)

Low2up – алхмаар

#include <stdio.h>

int main(){ char c; char upper_c;

printf(“Enter a string: ");

c = getchar();

Buffer

‘#’ ‘@’

c upper_c

Screen

Page 34: C lects (3)

Low2up – алхмаар

#include <stdio.h>

int main(){ char c; char upper_c;

printf(“Enter a string: ");

c = getchar();

yeS\n

Buffer

‘#’ ‘@’

c upper_c

Screen

Page 35: C lects (3)

Low2up – алхмаар

#include <stdio.h>

int main(){ char c; char upper_c;

printf (“Enter a string: ");

c = getchar();

eS\n

Buffer

‘y’ ‘@’

c upper_c

Screen

Page 36: C lects (3)

Low2up – алхмаар

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

eS\n

Buffer

‘y’ ‘@’

c upper_c

Screen

Page 37: C lects (3)

Low2up – алхмаар

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

eS\n

Buffer

‘y’ ‘@’

c upper_c

Screen

Page 38: C lects (3)

Low2up – алхмаар

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

eS\n

Buffer

‘y’ ‘Y’

c upper_c

Screen

Page 39: C lects (3)

Low2up – алхмаар

eS\n

Buffer

‘y’ ‘Y’

c upper_c

Y

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 40: C lects (3)

Low2up – алхмаар

S\n

Buffer

‘e’ ‘Y’

c upper_c

Y

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 41: C lects (3)

Low2up – алхмаар

S\n

Buffer

‘e’ ‘Y’

c upper_c

Y

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 42: C lects (3)

Low2up – алхмаар

S\n

Buffer

‘e’ ‘Y’

c upper_c

Y

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 43: C lects (3)

Low2up – алхмаар

S\n

Buffer

‘e’ ‘E’

c upper_c

Y

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 44: C lects (3)

Low2up – алхмаар

S\n

Buffer

‘e’ ‘E’

c upper_c

YE

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 45: C lects (3)

Low2up – алхмаар

\n

Buffer

‘S’ ‘E’

c upper_c

YE

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 46: C lects (3)

Low2up – алхмаар

\n

Buffer

‘S’ ‘E’

c upper_c

YE

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 47: C lects (3)

Low2up – алхмаар

\n

Buffer

‘S’ ‘E’

c upper_c

YE

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 48: C lects (3)

Low2up – алхмаар

\n

Buffer

‘S’ ‘S’

c upper_c

YE

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 49: C lects (3)

Low2up – алхмаар

\n

Buffer

‘S’ ‘S’

c upper_c

YES

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 50: C lects (3)

Low2up – алхмаар

Buffer

‘\n’ ‘S’

c upper_c

YES

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 51: C lects (3)

Low2up – алхмаар

Buffer

‘\n’ ‘S’

c upper_c

YES

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 52: C lects (3)

Low2up – алхмаар

Buffer

‘\n’ ‘S’

c upper_c

YES

Screen

while (c != '\n' && c >= 0){ if (c >= 'a' && c <= 'z') upper_c = c - 'a' + 'A'; else upper_c = c;

/* Print the converted character.*/ putchar(upper_c);

/* Get the next character */ c = getchar();

}putchar('\n');

Page 53: C lects (3)

Дасгал

Оролт: A B бүхэл тоонууд

Гаралт: A нь B –г хэдэн удаа агуулж байна вэ Мэдээж үр дүн A/B

тайлбар: Хуваах үйлдэл ашиглахгүй!

Page 54: C lects (3)

Бодолт

#include <stdio.h>

int main(){

int a, b, res;

printf("Please enter two numbers.\n");scanf("%d%d", &a, &b);

res = 0;while ( (res+1) * b <= a)

res = res + 1;

printf("%d / %d = %d", a, b, res);return 0;

}

Page 55: C lects (3)

Давталт дахь break

break таармагц давталт дуусна. Тэгээд програм давталтын дараагийн

алхмыг биелүүлнэ. break давхар давталтын дотор таарвал

дотрох давталт дуусна.

Page 56: C lects (3)

Жишээ – Энэ юу хийж байна вэ?

#include <stdio.h>

int main() {int i=1; printf("Enter a line of text:\n");char c = getchar();while (c != '\n' && c >= 0) {

if (c==' ') break;i++;c = getchar();

}

………

}

Page 57: C lects (3)

Жишээ – үсэг тоолъё

#include <stdio.h>

int main() {int i=1; printf("Enter a line of text:\n");char c = getchar();while (c != '\n' && c >= 0) {

if (c==' ') /* Found the first space - exit the loop */ break;i++;c = getchar();

}

if (c==' ') /* We found a space */ printf("There are %d letters before the first space.\n", i-1);else /* The loop ended without finding spaces */ printf("There are no spaces in the input line.\n");return 0;

}

Page 58: C lects (3)

continue

continue таарвал дараагийн хэсэг алгасагдна.

Тэгээд давталтын эхнээс биелүүлнэ.

Page 59: C lects (3)

for давталт

for нь тоолуур хувьсагчийн тусламжтай хэрэгжнэ.

for (c = begin; c <= end; c += inc)

{

давталтын бие

}

initialization condition increment

Page 60: C lects (3)

For -факториал

#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Page 61: C lects (3)

Алхам алхмаар for факториаль

---

i

3

n

1

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Page 62: C lects (3)

Алхам алхмаар for факториаль

1

i

3

n

1

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Page 63: C lects (3)

Алхам алхмаар for факториаль

1

i

3

n

1

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Page 64: C lects (3)

Алхам алхмаар for факториаль

2

i

3

n

1

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Page 65: C lects (3)

Алхам алхмаар for факториаль

2

i

3

n

2

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Page 66: C lects (3)

Алхам алхмаар for факториаль

3

i

3

n

2

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Page 67: C lects (3)

3

i

3

n

6

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Алхам алхмаар for факториаль

Page 68: C lects (3)

4

i

3

n

6

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Алхам алхмаар for факториаль

Page 69: C lects (3)

Алхам алхмаар for факториаль

4

i

3

n

6

fact#include <stdio.h>int main(){ int i, n, fact = 1;

printf("Enter a number\n"); scanf("%d", &n);

for (i=1; i<=n; ++i) { fact *= i; }

printf("the factorial is %d\n", fact); return 0;}

Page 70: C lects (3)

for давталт (үрг.)

Аль ч for –г while –р орлуулж болно.

Гэхдээ заримдаа for тохиромжтой. Тодорхой тоогоор давтах бол for -г

хэрэглэ Хэзээ дуусах нь тодорхойгүй бол while.

Page 71: C lects (3)

Жишээ – fahrenheit-celsius хувиргах хүснэгт

/* Print a Fahrenheit-to-Celsius conversion table */

#include <stdio.h> int main ( ) {

int fahr;double celsius; int lower = 0, upper = 300;int step = 20;

for (fahr=lower; fahr<=upper; fahr += step){

celsius = 5.0*(fahr -32.0)/9.0;printf("%d\t%g\n", fahr, celsius);

}return 0;

}

Page 72: C lects (3)

Давхар for давталт тэгш өнцөгт/* Print a rectangle of *. The height and width are defined by

the user */#include <stdio.h>

int main( ){

int i, j;int height, width;

printf("Please enter the two box dimensions: \n");scanf("%d%d", &height, &width);

for (i = 1; i <= height; i++){

for (j = 1; j <= width; j++) printf("*");

printf("\n");}

}

Page 73: C lects (3)

Дасгал

Өндөр өгөгдөхөд * тэмдэг ашиглан зурагт харагдах пирамидыг хэвлэ.

*****

*****

****

*

Page 74: C lects (3)

Бодолт

#include <stdio.h>

int main(){

int i, j, size;

printf(“Please enter a size:\n”);scanf(“%d”,&size);for (i = 1; i <= size; i++){

for (j = i; j <= size; j++) printf("*");

printf("\n");}

return 0;}

Page 75: C lects (3)

Дасгал

Өгөгдсөн натурал тоо хүртлэх анхны тоонуудыг хэвлэ

Page 76: C lects (3)

Бодолт

#include <stdio.h>int main(){

int i, j, last;

printf("enter a number\n");scanf("%d", &last);for (i = 2; i <= last; i++){

for (j = 2 ; j < i; j++){ if (i % j == 0)

break;}if (j == i) printf("the number %d is prime\n", i);

}return 0;

}

Page 77: C lects (3)

Дасгал

Өмнөх програмыг уг тооноос бага эсвэл тэнцүү байх хамгийн том анхны тоог хэвлэдэг болгох өөрчил.

Page 78: C lects (3)

Бодолт 1#include <stdio.h>int main(){

int i, j, last;int found = 0; /* This indicates if we found the largest prime */

printf("enter a number\n");scanf("%d", &last);i = last;while (!found) /* Loop until we find our guy */{

for (j = 2 ; j < i; j++) if (i % j == 0) break;

if (j == i) /* If this is true then i is prime */ found = 1;else i--;

}printf("The largest prime not larger than %d is %d.\n", last, i);return 0;

}

Page 79: C lects (3)

Бодолт 2 (with break)

#include <stdio.h>int main(){

int i, j, last;printf("enter a number\n");scanf("%d", &last);for (i=last; i>1; i--){

for (j = 2 ; j < i; j++) if (i % j == 0) break;

if (j == i) /* i is prime. We found our guy */ break;

}printf("The largest prime not larger than %d is %d.\n",

last, i);return 0;

}

Page 80: C lects (3)

do while loops

do {statement(s)

} while (expression);

while тай адил Давталтын бие биелсний дараа нөхцөл

шалгана Иймд давталт ядаж нэг биелнэ

Page 81: C lects (3)

Жишээ зөв оролт хүлээх

#include <stdio.h>int main(){

int i;

printf("Please enter a positive number.\n");do {

scanf("%d", &i); if (i <= 0)

printf("Try again.\n");

} while (i<=0);

/* The program continues.... */return 0;

}