Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 21 kết quả

Đề tài: Bài tập C , chuyển đổi kí tự

  1. #1
    Ngày gia nhập
    04 2009
    Bài viết
    11

    Mặc định Bài tập C , chuyển đổi kí tự

    chào các bạn, mình mới học C, có bài này chưa hiểu mong bạn nào biết giải hộ, cám ơn nhiều
    để: không dùng thư viện của C hãy viết chương trình sao cho khi co 1 chuỗi bao gồm cả kí tự viết hoa và thường, thì nó in ra 1 chuỗi toàn chữ thường, còn các kí tự khác(có trong bảng mã ascii) thì ko thay đổi.
    void lowercase (char * string)
    {
    các bác viết tiếp hộ mình cám ơn nhiều......
    Đã được chỉnh sửa lần cuối bởi for_u : 15-04-2009 lúc 04:17 PM.

  2. #2
    Ngày gia nhập
    11 2008
    Bài viết
    203

    Code mình chưa tối ưu, vì nó giới hạn số lượng kí tự được nhập. Bạn nào giúp mình bỏ qua cái giới hạn đó nha!
    PHP Code:
    #include <conio.h>
    #include <stdio.h>
    #include<string.h>
    void    lower(char*);
    int main()
    {
        
    char chuoi[50];
        
    printf("Nhap vao mot chuoi: ");
        
    gets(chuoi);
        
    lower(chuoi);
        
    puts(chuoi);
        
    getch();
        return 
    0;
    }
    void    lower(char *chuoi)
    {
        for(
    int i=0;i<strlen(chuoi);i++)
        {
                    if(
    int(chuoi[i])>=65&&int(chuoi[i])<97)
                        
    chuoi[i]=chuoi[i]+32;
        }
        

    Tôi tin rằng: giải thuật thì có thể tìm trong hàng trăm GB ebook, hoặc Google nhưng code chạy thì chưa chắc! Hãy post code để chứng tỏ giải thuật của bạn là đúng!
    Giải thuật là bản thiết kế của ngôi nhà, code là phần xây dựng. Nếu chỉ xây nhà trên giấy thì ta sống chả khác nào người nguyên thủy.

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    203

    Vậy thì bạn chuộc lỗi bằng cách giúp love làm nốt điều mà love chưa làm được đi.
    Thanks!
    Tôi tin rằng: giải thuật thì có thể tìm trong hàng trăm GB ebook, hoặc Google nhưng code chạy thì chưa chắc! Hãy post code để chứng tỏ giải thuật của bạn là đúng!
    Giải thuật là bản thiết kế của ngôi nhà, code là phần xây dựng. Nếu chỉ xây nhà trên giấy thì ta sống chả khác nào người nguyên thủy.

  4. #4
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Mình chỉ biết làm thế này thôi.
    PHP Code:
    int main()
    {
        
    char *a,*b;
        
    a=(char*)malloc(255);
        
    printf("Nhap vao mot chuoi: ");
        
    gets(a);
        
    lower(a);
        
    b=(char*)malloc(strlen(a)+1);
        for(
    int i=0;i<strlen(a)+1;i++)
            *(
    b+i)=*a++;
        
    free(a);
        
    puts(b);
        
    getch();
        return 
    0;


  5. #5
    Ngày gia nhập
    11 2008
    Bài viết
    203

    Trích dẫn Nguyên bản được gửi bởi trubavuong Xem bài viết
    Mình chỉ biết làm thế này thôi.
    PHP Code:
    int main()
    {
        
    a=(char*)malloc(255);

    Vẫn bị giới hạn đấy chứ!?
    Tôi tin rằng: giải thuật thì có thể tìm trong hàng trăm GB ebook, hoặc Google nhưng code chạy thì chưa chắc! Hãy post code để chứng tỏ giải thuật của bạn là đúng!
    Giải thuật là bản thiết kế của ngôi nhà, code là phần xây dựng. Nếu chỉ xây nhà trên giấy thì ta sống chả khác nào người nguyên thủy.

  6. #6
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Mặc định Bài tập C , chuyển đổi kí tự

    1 chuỗi thì chỉ giới hạn là 255 ký tự thôi.

  7. #7
    Ngày gia nhập
    11 2008
    Bài viết
    203

    Sao trubavuong phải làm dài thế, gán chuỗi a bằng chuỗi b làm gì, cứ play trên chuỗi a được rồi. In xong thì mình free(a) luôn.
    PHP Code:
    #include<conio.h>
    #include<stdio.h>
    #include<malloc.h>
    #include<string.h>
    void    lower(char *);
    int main()
    {
        
    char *a,*b;
        
    a=(char*)malloc(255);
        
    printf("Nhap vao mot chuoi: ");
        
    gets(a);
        
    lower(a);
        
    puts(a);
        
    free(a);
        
    getch();
        return 
    0;
    }  
    void    lower(char *chuoi)
    {
        for(
    int i=0;i<strlen(chuoi);i++)
        {
                    if(
    int(chuoi[i])>=65&&int(chuoi[i])<97)
                        
    chuoi[i]=chuoi[i]+32;
        }
        

    Thanks!
    Tôi tin rằng: giải thuật thì có thể tìm trong hàng trăm GB ebook, hoặc Google nhưng code chạy thì chưa chắc! Hãy post code để chứng tỏ giải thuật của bạn là đúng!
    Giải thuật là bản thiết kế của ngôi nhà, code là phần xây dựng. Nếu chỉ xây nhà trên giấy thì ta sống chả khác nào người nguyên thủy.

  8. #8
    Ngày gia nhập
    04 2009
    Bài viết
    68

    kiểm tra xem phần tử đó có thuộc khoảng 97 - > 122 hok. Nếu thuộc thì - 32 sẽ ra chữ hoa.
    PHP Code:
    #include <conio.h>
    #include <stdio.h>
    #include <string.h>

    void lowercase(charstring)
    {
         if(*
    string >= 97 && *string <=122)
                    *
    string= *string 32;
    }

    int main()
    {
        
    char a[100];

        
    printf("Nhap vao chuoi: ");
        
    gets(a);

        for( 
    int i 0strlen(a); i++)
        {
             
    lowercase(&a[i]);
             
    printf("%c"a[i]);
        }     
        
    getch();

    Đã được chỉnh sửa lần cuối bởi xiu_coi : 15-04-2009 lúc 12:45 PM.

  9. #9
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Mình có 1 câu muốn hỏi (do ko biết rõ), đó là khi chạy xong chương trình thì máy có giải phóng bộ nhớ cho các biến đã sử dụng trong chương trình ko?

  10. #10
    Ngày gia nhập
    11 2008
    Bài viết
    203

    Mình cũng muốn hỏi như vậy! Từ trước tới giờ chưa quan tâm đến chuyện đó, chỉ quan tâm đến code sao cho chạy, cùng lắm là quan tâm đến giải thuật sao cho gần tối ưu một chút và dùng biến sao cho ít tốn bộ nhớ một chút (ưu tiên sử dụng biến cục bộ).
    Tôi tin rằng: giải thuật thì có thể tìm trong hàng trăm GB ebook, hoặc Google nhưng code chạy thì chưa chắc! Hãy post code để chứng tỏ giải thuật của bạn là đúng!
    Giải thuật là bản thiết kế của ngôi nhà, code là phần xây dựng. Nếu chỉ xây nhà trên giấy thì ta sống chả khác nào người nguyên thủy.

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

  1. Mẹo hay khi chuyển nhà trọn gói, chuyển văn phòng
    Gửi bởi quynhcute trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 20-08-2012, 09:53 PM
  2. Trả lời: 0
    Bài viết cuối: 07-08-2012, 05:12 PM
  3. Chuyển nhà,Chuyển Văn Phòng trọn gói giá rẻ 098.229.5559
    Gửi bởi nguyenrong trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 26-06-2012, 02:05 PM
  4. Trả lời: 20
    Bài viết cuối: 27-02-2012, 12:05 AM
  5. ADO.NET Chuyể Phần mềm QLNS sang Ngôn ngữ Dynamic Programming. Ai chuyển giúp mình!?
    Gửi bởi huynhanhton trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 03-04-2011, 11:41 PM

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