Đánh giá, nhận xét, review các công ty tuyển dụng
Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Xóa các dấu cách thừa và viết hoa kí tự đầu mỗi từ trong một tên - xâu kí tự

  1. #1
    Ngày gia nhập
    01 2010
    Bài viết
    6

    Mặc định Xóa các dấu cách thừa và viết hoa kí tự đầu mỗi từ trong một tên - xâu kí tự

    Nhập tên của một người. Chuẩn hóa và in tên đó ra màn hình theo cách:• Xóa các dấu cách thừa giữa các phần của tên (họ, tên đệm, …)• Kí tự đầu mỗi từ trong tên được viết hoa, các kí tự khác viết thường. Help em!!!!!!!!!!!

  2. #2
    Ngày gia nhập
    09 2010
    Nơi ở
    Linux-Ubuntu
    Bài viết
    217

    C Code:
    1. //BT4: Nhap vao 1 chuoi, Upcase cac ky tu dau trong moi tu. vd input 'khoa hoc tu nhien' ==> output 'Khoa Hoc Tu Nhien'
    2. //Ten: Truong Truong Huy
    3. //MSV: 1065061
    4.  
    5. //Cách làm: chuẩn hóa chuổi input thành 1 câu chuẩn, sau đó mới xử lí
    6.  
    7. #include "stdio.h"
    8. #include "string.h"
    9.  
    10. void nhap(char s[]);
    11. void xoakytu(char s[], int vt);
    12. void chuanhoa(char s[]);
    13. void xuli(char s[]);
    14.  
    15. void main()
    16. {
    17.     char s[100];
    18.     nhap(s);
    19.     chuanhoa(s);
    20.     printf("Chuoi sau khi chuan hoa: ");
    21.     puts(s);
    22.     xuli(s);
    23.     printf("Chuoi sau khi xu li: ");
    24.     puts(s);
    25. }
    26.  
    27. void nhap(char s[])
    28. {
    29.     printf("Nhap vao mot chuoi: ");
    30.     gets(s);
    31. }
    32.  
    33. void xoakytu(char s[], int vt)
    34. {
    35.     int i, cd=strlen(s);
    36.     for(i=vt;i<cd;i++)
    37.         s[i]=s[i+1];
    38. }
    39.  
    40. void chuanhoa(char s[])
    41. {
    42.   int i;
    43.     //Xoa khoang trang dau chuoi
    44.     while(s[0]==32)
    45.         xoakytu(s,0);
    46.  
    47.     //Xoa khoang trang o giua
    48.     int cd=strlen(s);
    49.     for( i=0;i<cd;i++)
    50.     {
    51.         if (s[i]==32)
    52.         {
    53.             if (s[i+1]==32)
    54.             {
    55.                 int k=i; //danh dau diem lien tuc xay ra dau cach
    56.                 while (s[i]==32)
    57.                 {
    58.                     xoakytu(s,i);
    59.                     i=k+1;      // tang vi tri xay ra do len 1 roi tro ve vong lap
    60.                 }
    61.             }
    62.         }
    63.     }
    64.  
    65.     //Xoa khoang trang cuoi chuoi
    66.     int k=strlen(s)-1;
    67.     while(s[k]==32)
    68.     {
    69.         xoakytu(s,k);
    70.         k--;
    71.     }
    72. }
    73.  
    74. void xuli(char s[])
    75. {
    76.     //Neu ky tu dau la 1 ky tu thuong thi upcase
    77.     if((s[0]>=97)&&(s[0]<=122))
    78.         s[0]-=32;
    79.     //Neu ky tu sau khoang cach la ky tu thuong thi upcase
    80.     int i=0;
    81.     while(s[i]!='\0')
    82.     {
    83.         if((s[i]==' ')&&(s[i+1]>=97)&&(s[i+1]<=122))
    84.             s[i+1]-=32;
    85.         i++;
    86.     }
    87. }
    ++Sự Học Không Bao Giờ Là Muộn++
    ---Sướng Thì Ta Làm, Thích Thì Sẽ Được---
    ......Đôi khi bỏ học cũng là một bước đột phá...

    ***HỘI NHỮNG NGƯỜI PHÁT CUỒNG VÌ LINUX***

  3. #3
    Ngày gia nhập
    01 2010
    Bài viết
    6

    Tiện thể anh giúp luôn giùm em bài này: Nhập 3 xâu s1, s2, s3. Thay thế các vị trí xuất hiện xâu s2 trong xâu s1 bằng xâu s3. Thanks nhiều.

Các đề tài tương tự

  1. Kỹ thuật C++ Viết hàm xóa dấu cách đầu tiên trong 1 xâu
    Gửi bởi thebaby trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 25-10-2013, 12:28 PM
  2. Đề xuất Thêm Xóa, Cám ơn ở mỗi bài viết trong forums
    Gửi bởi nhocck0n trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 6
    Bài viết cuối: 25-05-2011, 03:49 PM
  3. xóa 1 sinh viên theo tên trong lập trình C#?
    Gửi bởi hungcct trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 11
    Bài viết cuối: 08-03-2011, 09:46 PM
  4. Viết chương trình tìm kiếm một tập tin nếu có thì đưa ra thông báo và xóa nó trong ổ đĩa
    Gửi bởi huynhpchau trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 19-03-2010, 12:06 AM
  5. viết chương trình xóa 1 ký tự trong 1 chuỗi
    Gửi bởi vitaminboy trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 17-12-2009, 11:44 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn