Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà

Mục tiêu:

- Hiểu được lịch sử phát triển của ngôn ngữ C;

- Biết được những ứng dụng thực tế của ngôn ngữ lập trình C;

- Thao tác thành thạo trên môi trường phát triển C;

- Sử dụng được hệ thống trợ giúp của phần mềm C;

- Chủ động tìm hiểu các tính năng của ngôn ngữ C.

1. Giới thiệu của ngôn ngữ C:

1.1 Lịch sử phát triển:

C là ngôn ngữ lập trình cấp cao, được sử dụng rất phổ biến để lập trình hệ thống

cùng với Assembler và phát triển các ứng dụng.

Vào những năm cuối thập kỷ 60 đầu thập kỷ 70 của thế kỷ XX, Dennish Ritchie

(làm việc tại phòng thí nghiệm Bell) đã phát triển ngôn ngữ lập trình C dựa trên ngôn ngữ

BCPL (do Martin Richards đưa ra vào năm 1967) và ngôn ngữ B (do Ken Thompson

phát triển từ ngôn ngữ BCPL vào năm 1970 khi viết hệ điều hành UNIX đầu tiên trên

máy PDP-7) và được cài đặt lần đầu tiên trên hệ điều hành UNIX của máy DEC PDP-11.

Năm 1978, Dennish Ritchie và B.W Kernighan đã cho xuất bản quyển “Ngôn

ngữ lập trình C” và được phổ biến rộng rãi đến nay.

Lúc ban đầu, C được thiết kế nhằm lập trình trong môi trường của hệ điều hành

Unix nhằm mục đích hỗ trợ cho các công việc lập trình phức tạp. Nhưng về sau, với

những nhu cầu phát triển ngày một tăng của công việc lập trình, C đã vượt qua khuôn khổ

của phòng thí nghiệm Bell và nhanh chóng hội nhập vào thế giới lập trình để rồi các công

ty lập trình sử dụng một cách rộng rãi. Sau đó, các công ty sản xuất phần mềm lần lượt

đưa ra các phiên bản hỗ trợ cho việc lập trình bằng ngôn ngữ C và chuẩn ANSI C cũng

được khai sinh từ đó.

Ngôn ngữ lập trình C là một ngôn ngữ lập trình hệ thống rất mạnh và rất “mềm7

dẻo”, có một thư viện gồm rất nhiều các hàm (function) đã được tạo sẵn. Người lập trình

có thể tận dụng các hàm này để giải quyết các bài toán mà không cần phải tạo mới. Hơn

thế nữa, ngôn ngữ C hỗ trợ rất nhiều phép toán nên phù hợp cho việc giải quyết các bài

toán kỹ thuật có nhiều công thức phức tạp. Ngoài ra, C cũng cho phép người lập trình tự

định nghĩa thêm các kiểu dữ liệu trừu tượng khác. Tuy nhiên, điều mà người mới vừa học

lập trình C thường gặp “rắc rối” là “hơi khó hiểu” do sự “mềm dẻo” của C. Dù vậy, C

được phổ biến khá rộng rãi và đã trở thành một công cụ lập trình khá mạnh, được sử dụng

như là một ngôn ngữ lập trình chủ yếu trong việc xây dựng những phần mềm hiện nay.

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 1

Trang 1

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 2

Trang 2

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 3

Trang 3

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 4

Trang 4

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 5

Trang 5

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 6

Trang 6

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 7

Trang 7

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 8

Trang 8

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 9

Trang 9

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 73 trang xuanhieu 2501
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà

Giáo trình Lập trình cơ bản - Nguyễn Thị Thu Hà
o; 
 printf("CHUONG CHINH DOI MOT SO TU CO SO 10 SANG CO SO 16 /n"); 
 printf("So can chuyen:"); 
 scanf("%d",&so); 
 printf("So chuyen:%s",doiCoSo(so)); 
 getch(); 
} 
3. Viết chương trình đọc và 2 số nguyên và in ra kết quả của phép (+), phép trừ (-), phép nhân 
(*), phép chia (/). Nhận xét kết quả chia 2 số nguyên. 
#include 
#include 
int main () 
{ int so1, so2; 
 float thuong; 
 clrscr(); 
printf("\n Nhap vao 2 so nguyen "); 
scanf("%d%d",&so1,&so2); 
printf("\n %d + %d =%d",so1, so2, so1+so2); 
printf("\n %d - %d =%d",so1, so2, so1-so2); 
printf("\n %d * %d =%d",so1, so2, so1*so2); 
 if (so2!=0) 
 { thuong=float(so1)/float(so2); 
 printf("\n %d / %d =%f", so1, so2, thuong); 
 } 
 else printf("Khong chia duoc cho 0"); 
 getch(); 
 return 0; 
} 
 59 
4. Viết chương trình nhập vào bán kính hình cầu, tính và in ra diện tích, thể tích của hình cầu đó. 
Hướng dẫn: S = 4πR2 
 và V = (4/3)πR3. 
#include 
#include 
int main () 
{ int bk; 
 clrscr(); 
printf(" nhap vao ban kinh cua hinh cau: "); 
scanf("%d",&bk); 
printf(" Dien tich cua ban cau la: %.2f\n",4*3.14*bk*bk); 
printf(" The tich cua ban cau la : %.2f\n",(4/3)*3.14*3*bk); 
getch(); 
return 0; 
} 
5. Viết chương trình nhập vào một số a bất kỳ và in ra giá trị bình phương (a2), lập phương (a3) 
của a và giá trị a4. 
#include 
#include 
int main () 
{ int a; 
 clrscr(); 
printf(" nhap vao mot so a bat ki: "); 
scanf("%d",&a); 
printf(" Binh phuong cua so a la %d:\n",a*a); 
printf(" Lap phuong cua so a la :%d\n",a*a*a); 
printf(" Gia tri a^4 la : %d\n",a*a*a*a); 
getch(); 
return 0; 
} 
6. Viết chương trình đọc từ bàn phím 3 số nguyên biểu diễn ngày, tháng, năm và xuất ra màn 
hình dưới dạng "ngay/thang/nam" (chỉ lấy 2 số cuối của năm). 
#include 
#include 
int main () 
{ int ngay,thang,nam; 
 clrscr(); 
printf(" Nhap vao 3 so : ngay, thang, nam"); 
scanf("%d%d%d",&ngay,&thang,&nam); 
if(ngay==0|| ngay>31) printf("nhap sai ngay ! moi kiem tra lai ngay\n"); 
else if (thang==0||thang>12) 
 printf("nhap sai thang ! moi kiem tra lai thang\n"); 
else if (nam==0||nam>100) 
 printf("nhap sai nam ! moi kiem tra lai nam\n"); 
else 
 60 
printf("ban vua nhap ngay,thang,nam:%d:%d:%d",ngay,thang,nam); 
getch(); 
return 0; 
} 
7. Viết chương trình nhập vào số giây từ 0 đến 86399, đổi số giây nhập vào thành dạng 
"gio:phut:giay", mỗi thành phần là một số nguyên có 2 chữ số. 
Ví dụ: 02:11:05 
#include 
#include 
void main() 
{ 
 int giay,phut,gio; 
 printf("Nhap giay: "); 
 scanf("%d",&giay); 
 gio=giay/3600; 
 giay=giay%3600; 
 phut=giay/60; 
 giay=giay%60; 
 printf("\nSau khi chuyen: "); 
 char a[3],b[3],c[3]; 
 if (gio<10) 
 printf("0%d:",gio); 
 else 
 printf("%d:",gio); 
 if (phut<10) 
 printf("0%d:",phut); 
 else 
 printf("%d:",phut); 
 if (gio<10) 
 printf("0%d",giay); 
 else 
 printf("%d",giay); 
 getch(); 
} 
Hàm if: 
1. Viết chương trình nhập vào số nguyên dương, in ra thông báo số chẵn hay lẻ. 
Hướng dẫn: Nhập vào số nguyên dương x. Kiểm tra nếu x chia chẵn cho hai thì x là số chẵn 
(hoặc chia cho 2 dư 0) ngược lại là số lẻ. 
#include 
#include 
int main () 
{ int a; 
 clrscr(); 
printf(" nhap vao mot so a bat ki: "); 
scanf("%d",&a); 
 61 
if(a%2==0) printf("So nhap vao la so chan\n"); 
else printf("So nhap vao la so le\n"); 
getch(); 
return 0; 
} 
2. Viết chương trình nhập vào 4 số nguyên. Tìm và in ra số lớn nhất. Hướng dẫn: Ta có 4 số 
nguyên a, b, c, d. Tìm 2 số nguyên lớn nhất x, y của 2 cặp (a, b) và (c, d). Sau đó so sánh 2 số 
nguyên x, y để tìm ra số nguyên lớn nhất. 
#include 
#include 
main() 
{ 
int a,b,c,d,max1,max2; 
printf("\n nhap so thu nhat="); 
scanf("%d",&a); 
printf("\n nhap so thu hai="); 
scanf("%d",&b); 
printf("\n nhap so thu ba="); 
scanf("%d",&c); 
printf("\n nhap so thu tu="); 
scanf("%d",&d); 
if(a>b) 
 max1=a; 
else 
 max1=b; 
if(c>d) 
 max2=c; 
else 
 max2=d; 
if (max1>max2) 
 printf("so lon nhat trong 4 so la:%d",max1); 
else 
 printf("so lon nhat trong 4 so la:%d",max2); 
getch(); 
} 
3. Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0, với a, b, c nhập vào từ bàn phím. 
Hướng dẫn: Nhập vào 3 biến a, b, c. 
Tính Delta = b*b - 4*a*c 
Nếu Delta < 0 thì 
 Phương trình vô nghiệm 
Ngược lại 
 Nếu Delta = 0 thì 
 x1 = x2 = - b/(2*a) 
 Ngược lại 
 x1 = (- b - sqrt(Delta))/(2*a) 
 62 
 x2 = (- b + sqrt(Delta))/(2*a) 
 Hết Nếu 
Hết Nếu 
 #include 
#include 
#include 
void main () 
{ 
clrscr(); 
float a,b,c,delta; 
printf("ban hay nhap a,b,c vao "); 
scanf("%f%f%f",&a,&b,&c);// cac he so cua pt bac 2 
if (a!=0) 
 { 
 delta=b*b-4*a*c; 
if (delta>0) 
{ 
printf("phuong trinh co 2 nghiem: "); 
printf("x1=%.2f",(-b-sqrt(delta))/(2*a)); 
printf(" x2=%.2f",(-b+sqrt(delta))/(2*a)); 
} 
else //TH a0 va delta <=0 
{ 
if (delta==0) 
{ 
printf("phuong trinh co nghiem kepn"); 
printf("x=%.2f",-b/(2*a)); 
} 
else 
printf("phuong trinh vo nghiem "); 
} 
} 
else // (If a==0) 
{ 
if (b!=0) // a luc nay =0 
{ 
printf("phuong trinh co 1 nghiemn"); 
printf("x=%.2f",-c/b); 
} 
else // a=0 va b=0 
{ if (c!=0) 
printf("phuong trinh khong xac dinh"); 
else 
printf("phuong trinh vo so nghiem"); 
} 
} 
 63 
getch(); 
 } 
4. Viết chương trình nhập vào giờ phút giây (hh:mm:ss). Cộng thêm số giây nhập vào và in ra 
kết quả dưới dạng hh:mm:ss. 
Hướng dẫn: Nhập vào giờ phút giây vào 3 biến gio, phut, giay và nhập và giây công thêm 
vào biến them: 
Nếu giay + them < 60 thì 
giay = giay + them 
Ngược lại 
 giay = (giay + them) - 60 
 phut = phut + 1 
 Nếu phut >= 60 thì 
 phut = phut - 60 
 gio = gio + 1 
 Hết nếu 
Hết nếu 
#include 
#include 
main() 
{ 
clrscr(); 
int h,m,s,t; 
printf("\nnhap vao gio, phut, giay:"); 
scanf ("%d%d%d",&h,&m,&s); 
printf("\nnhap them giay muon cong vao :"); 
scanf ("%d",&t); 
if (s+t<60) 
s=s+t; 
else 
{ 
s=(s+t)-60; 
m=m+1; 
} 
if (m>=60) 
{ 
m=m-60; 
h=h+1; 
} 
printf("\gio : phut : giay sau khi cong vao la: %d:%d:%d",h,m,s); 
getch(); 
} 
5. Viết chương trình nhập vào 3 số nguyên rồi in ra màn hình theo thứ tự tăng dần. 
#include 
#include 
void sapxep(int &x,int &y) 
 64 
{ 
int t; 
 if (x>y) 
 { 
 t=x; 
 x=y; 
 y=t; 
 } 
} 
main() 
{ 
int a,b,c; 
printf("\n nhap so thu nhat="); 
scanf("%d",&a); 
printf("\n nhap so thu hai="); 
scanf("%d",&b); 
printf("\n nhap so thu ba="); 
scanf("%d",&c); 
sapxep(a,b); 
sapxep(a,c); 
sapxep(b,c); 
printf("Ba so a,b,c da dc sap xep la:%d %d %d",a,b,c); 
getch(); 
} 
Vòng lặp 
1. Viết chương trình tính tổng bậc 3 của N số nguyên đầu tiên. 
#include 
#include 
main() 
{ 
int n,k,s=0; 
printf("Nhap vao so N :"); 
scanf("%d",&n); 
s=0; 
for(k=1;k<=n;k++) 
s=s+(k*k*k); 
printf("Tong bac 3 cac so dau tien cua n: %d.\n",s); 
getch(); 
} 
2. Viết chương trình nhập vào một số nguyên rồi in ra tất cả các ước số của số đó. 
#include 
#include 
void main() 
{ 
clrscr(); 
 65 
int n,i; 
printf("nhap so nguyen n:"); 
scanf("%d",&n); 
printf("cac uoc so cua %d la:",n); 
for(i=1;i<=n;i++) 
if(n%i==0) 
printf("%3d;",i); 
getch(); 
} 
3. Viết chương trình vẽ một tam giác cân bằng các dấu * 
#include 
#include 
void main() 
{ 
clrscr(); 
int n,i,j; 
printf("nhap chieu cao tam giac:"); 
scanf("%d",&n); 
for(i=1;i<=n;i++) 
{ 
for(j=1;j<=n-i;j++) 
printf(" "); 
for(j=1;j<=2*i-1;j++) 
printf("*"); 
printf("\n"); 
} 
getch(); 
} 
4. Viết chương trình tính tổng nghịch đảo của N số nguyên đầu tiên theo công thức 
S = 1 + 1/2 + 1/3 +  + 1/N 
5. Viết chương trình tính tổng bình phương các số lẻ từ 1 đến N. 
#include 
#include 
int n,i,s; 
int main() 
{ 
printf("nhap vao so nguyen n: "); 
scanf("%d",&n); //nhap vao so nguyen n 
 s=0; //khoi tao tong, gan gia tri cua tong ban dau bang 0 
for(int i=1;i<=n;i=i+2) s=s+i*i; //cho i chay tu 1 den n, moi lan tang i 2 don vi, cong tong voi i 
binh phuong 
printf("/n Tong binh phuoc cac so le la:%d",s); 
getch(); 
} 
6. Viết chương trình nhập vào N số nguyên, tìm số lớn nhất, số nhỏ nhất. 
 #include 
 66 
#include 
int max,min,i,n; 
int a[100]; 
void main() 
{ 
printf("nhap vao so phan tu cua mang:"); 
scanf("%d",&n); 
for(int i=0;i<n;i++) 
{ 
printf("nhap phan tu thu:%d ",i); 
scanf("%d",&a[i]); 
} 
max=a[0]; 
min=a[0]; 
for(i=0;i<n;i++) 
{ 
if(max<a[i]) max=a[i]; 
if(min>a[i]) min=a[i]; 
} 
printf("gia tri lon nhat cua mang la: %d\n",max); 
printf("gia tri nho nhat cua mang la: %d\n",min); 
getch(); 
} 
7. Viết chương trình nhập vào N rồi tính giai thừa của N. 
#include 
#include 
void main () 
{ int n,i,gt; 
 clrscr(); 
printf(" nhap vao mot so n bat ki: "); 
scanf("%d",&n); 
gt=1; 
for(i=1;i<=n;i++) 
 gt=gt*i; 
printf(" Giai thua cua so a la %d:\n",gt); 
getch(); 
} 
8. Viết chương trình tìm USCLN, BSCNN của 2 số. 
#include 
#include 
int uscln(int a , int b) 
{ 
if (a < 0) a = -a; 
if (b < 0) b = -b; 
if (a == 0) return b; 
 67 
if (b == 0) return a; 
while (a != b) 
{ 
if (a > b) 
a -= b; 
else 
b-= a; 
} 
return b; 
} 
void main() 
{ 
int a , b; 
printf(" Nhap so a:"); scanf("%d",&a); 
printf(" Nhap so b:"); scanf("%d",&b); 
printf("USCLN = %d\n",uscln(a,b)); 
printf("BSCNN = %d",(a*b)/uscln(a,b)); 
getch(); 
} 
9. Viết chương trình vẽ một tam giác cân rỗng bằng các dấu *. 
#include 
#include 
void main () 
{ 
int n; 
printf ("Nhap chieu cao cua tam giac : "); scanf ("%d" , &n); 
n = 2*n-1; 
for (int i = 1 ; i <= n ; i++) 
{ 
for (int j = 1 ; j <= n ; j++) 
{ 
if ( (i == n || i == j || i+j == n+1) && i >= (n/2)+1) 
printf ("%c" , '*'); 
else 
printf (" "); 
} 
printf ("\n"); 
} 
getch(); 
} 
10. Viết chương trình vẽ hình chữ nhật rỗng bằng các dấu *. 
#include 
#include 
void main () 
{ 
 68 
int n , m; 
printf ("Nhap chieu rong : "); scanf ("%d" , &n); 
printf ("Nhap chieu cao : "); scanf ("%d" , &m); 
for (int i = 1 ; i <= m ; i++) 
{ 
for (int j = 1 ; j <= n ; j++) 
{ 
if (i == 1 || i == m || j == 1 || j == n) 
printf ("%c" , '*'); 
else 
printf (" "); 
} 
printf ("\n"); 
} 
getch(); 
} 
11. Viết chương trình nhập vào một số và kiểm tra xem số đó có phải là số nguyên tố hay 
không? 
#include 
#include 
void main () 
{ 
int n; 
do { 
printf ("Nhap vao so can kiem tra : "); scanf ("%d" , &n); 
} while (n < 2); 
int i = 2; 
while (n%i != 0) 
i++; 
if (n == i) 
printf ("Do la so NGUYEN TO \n"); 
else 
printf ("Khong phai so NGUYEN TO \n"); 
getch(); 
} 
Hàm: 
1. Viết hàm tính n! 
int tong (int n) 
{ 
 int i, s=1; 
 for (i=1;i<=n;i++) 
 s*=i; 
 return s; 
} 
2. Viết hàm tính tổng S = 1+2+.+n. 
int tong (int n) 
 69 
{ 
 int i, s=0; 
 for (i=1;i<=n;i++) 
 s+=i; 
 return s; 
} 
3. Viết hàm kiểm tra số nguyên tố. 
int ktNgto(int n) 
{ 
 int i,demuoc=1,s; 
 for(i=1;i<=n;i++) 
 { 
 if(i%n==0) 
 demuoc++; 
 } 
 if(demuoc==2) 
 s=1; 
 else 
 s=0; 
 return s; 
} 
4. Viết hàm tính số hạng thứ n trong dãy Fibonacci. 
#include 
#include 
int f(int a) // Fibonacci 
{ 
 if(a==1 || a==2) 
 return a; 
 else 
 return (f(a-1)+f(a-2)); 
} 
void main() 
{ 
 int i,n; 
 clrscr(); 
 printf("Nhap vao gia tri cho n : "); 
 scanf("%d",&n); 
 for(i=1;i<=n;i++) 
 printf("%d ",f(i)); 
 getch(); 
} 
5. Viết hàm tìm số lớn nhất trong 2 số. 
int max (int a,int b) 
{ 
 If(a>b) return a; 
 Else return b; 
} 
Mảng và chuỗi: 
1. Viết hàm tìm số lớn nhất, nhỏ nhất trong một mảng n số nguyên. 
 70 
int tmax(int a[],int n) 
{ int i,max; 
max=a[0]; 
for (i=1;i<n;i++) 
if (max<a[i]) 
max=a[i]; 
return max; 
} 
* Hàm tìm số nhỏ nhất 
int tmin(int a[],int n) 
{ int i,min; 
min=a[0]; 
for (i=1;i<n;i++) 
if (min>a[i]) 
min=a[i]; 
return min; 
} 
 2. Viết hàm sắp xếp tăng dần, giảm dần của một dãy số cho trước. 
* Hàm sắp xếp tăng dần 
void sxtd(int a[],int n) 
{ int i,j,tam; 
for (i=0;i<n;i++) 
for (j=i+1;j<n;j++) 
if (a[i]>a[j]) 
{tam=a[i]; 
a[i]=a[j]; 
a[j]=tam;} 
} 
* Hàm sắp xếp giảm dần 
void sxgd(int a[],int n) 
{ int i,j,tam; 
for (i=0;i<n;i++) 
for (j=i+1;j<n;j++) 
if (a[i]<a[j]) 
{ tam=a[i]; 
a[i]=a[j]; 
a[j]=tam; } 
} 
3. Viết hàm tách tên và họ lót từ một chuỗi cho trước. 
#include 
#include 
#include 
void tach (char s[],char ten[],char lot[]) 
{ int i,j,n; 
 71 
n=strlen(s); 
for (i=n-1;i>0;i--) 
if (s[i]==' ') 
break; 
for (j=0;j<i;j++) 
lot[j]=s[j]; 
lot[i]='\0'; 
for (j=i+1;j<n;j++) 
ten[j-i-1]=s[j]; 
ten[n-i-1]='\0'; 
} 
void main(void) 
{ char s[30],ten[20],lot[20]; 
printf(" nhap ho va ten \n"); 
gets(s); 
tach(s,ten,lot); 
printf (" \n ho va chu lot: \n"); 
puts(lot); 
printf(" ten: \n"); 
puts(ten); 
getch(); 
} 
4. Viết hàm cắt bỏ khoảng trắng thừa ở giữa, hai đầu. 
#include 
#include 
#include 
void catbo( char s[]) 
{ int n,i,j=0; 
char t[30]; 
n=strlen(s); 
for (i=0;i<n;i++) 
if (s[i]!=' ') 
t[i-j]=s[i]; 
else j++; 
t[n-j]='\0'; 
strcpy(s,t); 
} 
void main(void) 
{ char s[30]; 
printf(" nhap chuoi: \n"); 
gets(s); 
catbo(s); 
puts(s); 
 72 
getch(); 
} 
5. Viết hàm chuyển đổi 1 chuỗi sang chữ thường và 1 hàm chuyển đổi sang chữ HOA. 
6. Viết hàm chuyển đổi 1 chuỗi sang dạng Title Case (kí tự đầu của mỗi từ là chữ HOA, 
Code giải bài 5 và bài 6: 
#include 
#include 
#include 
#include 
void t_hoa(char s[]) 
{ int i,n; 
n=strlen(s); 
for (i=0;i<n;i++) 
s[i]=toupper(s[i]); 
} 
void t_thuong(char s[]) 
{ int i,n; 
n=strlen(s); 
for (i=0;i<n;i++) 
s[i]=tolower(s[i]); 
} 
void hoadd(char s[]) 
{ int i,n; 
n=strlen(s); 
s[0]=toupper(s[0]); 
for (i=1;i<n;i++) 
s[i]=tolower(s[i]); 
} 
void main(void) 
{ char s[30]; 
printf(" nhap chuoi: \n"); 
gets(s); 
t_hoa(s); 
printf(" chuoi da doi thanh chu hoa: \n"); 
puts(s); 
t_thuong(s); 
printf(" chuoi doi thanh chu thuong: \n"); 
puts(s); 
hoadd(s); 
printf(" chuoi doi thanh chu hoa dau dong con lai thuong: \n"); 
puts(s); 
getch(); 
} 
 73 
các kí tự còn lại chữ thường) 
7. Viết chương trình nhập vào 1 chuỗi và in ra chuỗi đảo ngược. 
#include 
#include 
#include 
void main(void) 
{ char s[30],t[30]; 
int i,n; 
printf(" nhap chuoi:\n"); 
gets(s); 
n=strlen(s); 
for (i=0;i<n;i++) 
t[i]=s[n-i-1]; 
t[n]='\0'; 
printf("chuoi dao nguoc: \n"); 
puts(t); 
getch(); 
} 
 Ví dụ: Nhập vào chuỗi "Lap trinh C can ban" 
 In ra "nab nac C hnirt paL" 
8. Viết chương trình nhập vào một chuỗi ký tự rồi đếm xem trong chuỗi đó có bao nhiêu 
chữ 'th'. 
#include 
#include 
#include 
void main(void) 
{ char s[30]; 
int n,i,j=0; 
printf(" nhap chuoi \n "); 
gets(s); 
n=strlen(s); 
for (i=0;i<n-1;i++) 
if ((s[i]=='t')&&(s[i+1]=='h')) 
j++; 
printf("so chu 'th' co trong chuoi: %d \n",j); 
getch(); 
} 

File đính kèm:

  • pdfgiao_trinh_lap_trinh_co_ban_nguyen_thi_thu_ha.pdf