Tải bản đầy đủ (.pdf) (7 trang)

Bài tập ngôn ngữ lập trình c (phần4)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (294.62 KB, 7 trang )

VAA. TVTHK

Tin H c

Lab 

iC

ng

Lab03

 Vòng L p 

N i Dung Chính

Lab 03: Vòng l p ....................................................................................................................... 2 
0. M c tiêu .............................................................................................................................. 2 
1. Yêu c u tr

c khi vào bu i th c hành này......................................................................... 2 

2. L u ý quan tr ng ................................................................................................................ 2 
3. Ch

ng trình ...................................................................................................................... 2 

Bài 3.1 Hi n th s nguyên t 1 đ n 1000 chia h t cho 2 và 3 ............................................ 2 
Bài 3.2 Xác đ nh k t qu c a đ an code sau, gi i thích? .................................................... 2 
Bài 3.3 Xác đ nh k t qu c a đ an code sau, gi i thích? .................................................... 3 
Bài 3.4 Tính giá tr pi ........................................................................................................... 3 


Bài 3.5 Tính giá tr e ............................................................................................................ 4 
Bài 3.6 Tính N! , N nh p t bàn phím. ................................................................................ 4 
Bài 3.7 S nguyên t .......................................................................................................... 5 
Bài 3.8 Tìm s chính ph

ng ............................................................................................. 5 

Bài 3.9 Chuy n đ i nhi t đ C-F ......................................................................................... 5 
Bài 3.10 Tính lãi xu t ti t ki m. ........................................................................................... 5 
Bài 3.11 Tìm s l n nh t, nh nh t ..................................................................................... 6 
Bài 3.12 Tìm s d

ng nh nh t ........................................................................................ 6 

Bài 3.13: In b ng c u ch
Bài 3.14: Vi t ch

ng ............................................................................................ 6 

ng trình in ra tam giác sau .................................................................... 6 

Bài 3.15: Cho bi t màn hình k t qu c a đ an ch

Lab

 Vòng L p: for, while, do…while 

ng trình sau: ...................................... 6 

Trang   



VAA. TVTHK

Tin H c

iC

ng

Lab03

Lab 03: Vòng l p
0. M c tiêu




S d ng thành th o c u trúc l p trong C, bao g m:
o for
o while
o do…while
L nh break, continous, …

1. Yêu c u tr




c khi vào bu i th c hành này


N m v ng cú pháp l p: for, while, do-while
Ki n th c tóan h c: s nguyên t , s chính ph
Xem l i các ví d trong bài gi ng.

ng, s hòan h o, USCLN, …

2. L u ý quan tr ng



3. Ch

Các đ an mã ngu n trong các bài sau có th có l i khi biên d ch. Hãy s a l i và thêm
các file header phù h p n u c n.
Không s d ng các file header mà ANSI C 1999 không cung c p

ng trình

Bài 3.1 Hi n th s nguyên t 1 đ n 1000 chia h t cho 2 và 3
int main()
{
int i = 0;
printf("Cac so chia het cho 2 va 3: ”);
for (i = 0; i <= 1000; i++)
{
if ( i % 2 == 0 ) && ( i % 3 == 0 )
printf("%d , ", i);
}
}

A. Ch y đ an ch

ng trình trên, nh n xét ?

B. S a ch ng trình trên đ hi n th s nguyên trong kh ang [A, B] chia h t cho 2 s x, y
v i A, B, x, y đ c nh p vào t bàn phím
Bài 3.2 Xác đ nh k t qu c a đ an code sau, gi i thích?
int a = 1;
while (a < 4)
{
printf (“This is the outer loop”;
a++;
while (a <= 25)
{

Lab

 Vòng L p: for, while, do…while 

Trang   


VAA. TVTHK

Tin H c

iC

ng


Lab03

break;
printf (“This prints 25 times\n”;
}
}
a. N u b l nh break; đi thì k t qu màn hình nh th nào?
b. Thay th l nh break b ng l nh continous, cho bi t k t qu ?
Bài 3.3 Xác đ nh k t qu c a đ an code sau, gi i thích?
a
b

c

d

an code
for (ctr=10; ctr>=1; ctr-=3)
printf(ctr, “\n”);
n =10;
i=1;
for (i = 0 ; i < n ; i++)
printf ( ++i,”\n”);
for (i=1; i<=10; i++);
for (j=1; j<=5; j++)
{
if ( i == j )
continue;
else ( i>j)
break;

else
printf (“%d %d “, i, j, “\n” ) ;
}
i=1;
start=1;
end=5;
step=1;
for (; start <= end;)
{
printf(“%d \n”, i);
start+=step;
end--;
}

K t qu màn hình/gi i thích

Bài 3.4 Tính giá tr pi
Vi t ch

ng trình tính giá tr c a s pi, s d ng dãy x p x sau:

pi/4 = (1-1/3+1/5-1/7+ ... + (-1)n/(2*n+1).
Ch

ng trình s ng ng khi s chênh l ch gi a hai l n x p x là nh h n 1.0E-6
#include <stdio.h>
#include <math.h>
int main()
{
float pi = 0;

int i = 0;

Lab

 Vòng L p: for, while, do…while 

Trang   


VAA. TVTHK

Tin H c

iC

ng

Lab03

float saiso = 4.0 / (2 * i + 1);
while( saiso >= pow(10,-6))
{
pi = pi + 4.0 * pow(-1, i ) / (2 * i + 1);
i = i + 1;
saiso = 4.0 / (2 * i + 1);
}
printf (“"pi = %f ", pi ) ;
return 0;
}
a) Biên d ch và ch y ch ng trình trên, s a l i n u có.

b) S a l i ch ng trình cho phép nh p giá tr sai s t bàn phím
Bài 3.5 Tính giá tr e
Vi t ch

ng trình tính giá tr c a s Euler e, s d ng dãy x p x sau:

e = 1 + 1/1! + ½! + 1/3! + ¼! + … +1/n!
Ch

ng trình s ng ng khi s chênh l ch gi a hai l n x p x là nh h n 1.0E-6
#include <stdio.h>
#include <math.h>
int main()
{
float e = 0;
float gt=1;
int i=1;
float saiso = 1;
while(saiso >= pow(10,-6))
{
for(int j=1; j<=i; j++) gt = gt*j;
e = e + 1/gt;
saiso = 1/gt;
i = i+1;
gt = 1;
}
printf ("e = %d" , e);
return 0;
}
a) Biên d ch và ch y ch ng trình trên, s a l i n u có.

b) S a l i ch ng trình cho phép nh p giá tr sai s t bàn phím

Bài 3.6 Tính N! , N nh p t

bàn phím.

G i ý: N! = 1*2*...*N ; Ví d : 5! = 5*4*3*2*1 = 120
a. Giá tr l n nh t c a N là bao nhiêu?

Lab

 Vòng L p: for, while, do…while 

Trang   


VAA. TVTHK

Tin H c

iC

ng

Lab03

Bài 3.7 S nguyên t
Vi t ch

ng trình nh p vào s A. Ki m tra xem A có ph i là s nguyên t không?


G i ý: A là s nguyên t n u nó ch chia h t cho 1 và chính nó. VD: 7 là s nguyên t
Bài 3.8 Tìm s chính ph

ng

Nh p vào s N. Ki m tra N có ph i là s chính ph

ng không?

G i ý: N u t n t i s a đ N = a^2 thì N là s chính ph
ph ng

ng. VD: 9 = 3^2 nên 9 là s chính

Bài 3.9 Chuy n đ i nhi t đ C-F
Vi t ch ng trình chuy n đ i nhi t đ t đ C (Celsius ) sang đ F (Fahrenheit).
thiên t 0 đ n 100, v i đ t ng là 5, k t qu in ra b ng nh sau:
Celsius degrees

Fahrenheit degrees

--------------

-----------------

5

xxxx


10

xxxx

15

xxxx

20

xxxx





C bi n

G i ý: Công th c : Fahrenheit = (9.0 / 5.0) * Celsius + 32.0;
Bài 3.10 Tính lãi xu t ti t ki m.
Khi g i vào ngân hàng m t s ti n P, v i lãi su t th ng niên đ c bi u di n qua s th c R
(ví d , lãi su t 7.5% s đ c bi u di n là 0.075), s ti n thu đ c (Amount on deposit) sau khi
g i N n m s là P*(1 + R)N. Vi t ch ng trình đ c các giá tr P, R, N t bàn phím và in s ti n
thu đ c t ng ng ra màn hình theo t ng n m nh b ng sau:

Lab

Year

Amount on deposit


1

xxxx.xx

2

xxxx.xx

3

xxxx.xx

4

xxxx.xx

5

xxxx.xx

6

xxxx.xx

7

xxxx.xx

8


xxxx.xx

9

xxxx.xx

10

xxxx.xx

 Vòng L p: for, while, do…while 

Trang   


VAA. TVTHK

Tin H c

iC

ng

Lab03

G i ý: Hàm double pow(double x, double y); ~ xy trong th vi n math.h
Bài 3.11 Tìm s l n nh t, nh nh t
Vi t ch ng trình nh p N s nguyên sau đó in ra s l n nh t và s nh nh t. N đ
bàn phím.

Bài 3.12 Tìm s d

c nh p t

ng nh nh t

Vi t ch ng trình nh p N s nguyên và in ra s d ng nh nh t. N u dãy s nh p vào toàn
s âm thì ph i in ra thông báo "Khong co so duong"



ví d dãy 5, -3, 2, 7, 9, 4 thì s d ng nh nh t là 2 m c dù s nh nh t là -3
ví d dãy -4, -3, -7, -9 không có s d ng nh nh t vì dãy toàn s âm

Bài 3.13: In b ng c u ch
Vi t ch

ng

ng trình in ra b ng c u ch

Bài 3.14: Vi t ch

ng t 1 đ n 10

ng trình in ra tam giác sau

*
**
***

****
*****
******
*******
********
*********
**********

Bài 3.15: Cho bi t màn hình k t qu c a đ an ch

ng trình sau:

a. Test1
#include <stdio.h>
int main()
{
int i, j;
for(i = 1; i <= 10; i = i + 1)
{
for(j = 1; j <= i; j = j + 1)
printf("*");
printf("\n");
}
return 0;
}
b. Test2

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

int i, j;

Lab

 Vòng L p: for, while, do…while 

Trang   


VAA. TVTHK

Tin H c

iC

ng

Lab03

printf(" ");
for(j = 1; j <= 10; j = j + 1)
printf(" %3d", j);
printf("\n");
for(i = 1; i <= 10; i = i + 1)
{
printf("%2d", i);
for(j = 1; j <= 10; j = j + 1)
printf(" %3d", i + j);
printf("\n");
}

return 0;
}

Lab

 Vòng L p: for, while, do…while 

Trang   



×