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

Đề tài: In ra số đảo ngược trong lập trình C

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

    Mặc định In ra số đảo ngược trong lập trình C

    Viết chương trình cho phép: Nhập vào một số nguyên n, in ra số đảo ngược của số nguyên vừa nhập vào.
    Các bác giúp em bài này với.

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

    C Code:
    1. #include<stdio.h>
    2. #include <conio.h>
    3. #include<math.h>
    4. #include<stdlib.h>
    5.  
    6. /*
    7. 10. Viet chuong trinh nhap 1 so nguyen duong N tu ban phim
    8. roi in cac chu so cua N ra man hinh theo thu tu dao nguoc.
    9. Vi du: Nhap N = 2564, in ra 4652.
    10. */
    11.  
    12. int main()
    13. {
    14.     int N=0;
    15.     printf("\nNhap vao mot con so: ");
    16.     scanf("%d",&N);
    17.     printf("\n\nSo dao nguoc: ");
    18.     while(N)
    19.     {
    20.         printf("%d",N%10);
    21.         N/=10;    
    22.     }
    23.     getch();
    24.     return 0;
    25. }
    Đã được chỉnh sửa lần cuối bởi Loveanygirls : 19-06-2009 lúc 03:52 PM.
    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 2006
    Bài viết
    633

    Tại sao cứ phải nhập số là ta phải lưu trữ kiểu int? string ko được sao?

  4. #4
    Ngày gia nhập
    12 2008
    Bài viết
    9

    Trích dẫn Nguyên bản được gửi bởi huynguyen Xem bài viết
    Tại sao cứ phải nhập số là ta phải lưu trữ kiểu int? string ko được sao?
    Số là số, string là kiểu ký tự sao có thể coi là số đc bạn. Số thì ta có thể có đc: 10+10=20. String bạn cộng thế nào?

  5. #5
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    Trích dẫn Nguyên bản được gửi bởi buiphong Xem bài viết
    Số là số, string là kiểu ký tự sao có thể coi là số đc bạn
    Vậy bạn nghĩ kí tự là gì? và string là kiểu ký tự?

    Trích dẫn Nguyên bản được gửi bởi buiphong Xem bài viết
    Số thì ta có thể có đc: 10+10=20. String bạn cộng thế nào?
    Thế bạn nghĩ string không cộng như thế được à?

    Đề chỉ ra là nhập vào số nguyên, đâu có quy định là phải lưu kiểu số nguyên hay string? với lại một bài toán người ta chỉ quan tâm đến output, đâu quan tâm mình làm như thế nào? miễn là tối ưu về tốc độ và kết quả chính xác là được.
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

  6. #6
    Ngày gia nhập
    12 2008
    Bài viết
    9

    Mặc định In ra số đảo ngược trong lập trình C

    Bạn thử viết chương trình bằng kiểu string của bạn đi. Không dùng hàm để chuyển kiểu nha. Bạn viết thử xem của bạn tối ưu hơn của Loveanygirl kô. hãy chứng minh!.

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

    Ý của huynguyennguyenbinh là muốn tổng quát hơn, muốn in ra dãy ngược của một chuỗi bất kì. Mình muốn code cho nhanh một tý nên không để ý tới chuỗi. Mà thật ra, output tưởng như là một con số đảo ngược nhưng không phải, nó là một dãy các con số bé hơn 10 được in liền nhau.
    Trên forum có nhiều bài đảo chuỗi rồi! Còn đảo chuỗi rồi trả về giá trị của chuỗi ngược (kiểu number) thì viết hơi mệt, nhưng mò một hồi chắc được mà.
    Đã được chỉnh sửa lần cuối bởi Loveanygirls : 19-06-2009 lúc 03:53 PM.
    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
    12 2008
    Bài viết
    9

    ok, e hiểu. Thế thì vấn đề ở đây là bài tập thầy cho hay chỉ là sử dụng ở đâu đó, kô phải bài tập.

  9. #9
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    Trích dẫn Nguyên bản được gửi bởi buiphong Xem bài viết
    Bạn thử viết chương trình bằng kiểu string của bạn đi. Không dùng hàm để chuyển kiểu nha. Bạn viết thử xem của bạn tối ưu hơn của Loveanygirl kô. hãy chứng minh!.
    C Code:
    1. #include <stdio.h>
    2. #include <string.h>
    3.  
    4. int main()
    5. {
    6.     char str[256];
    7.    
    8.     printf("Nhap vao mot so: ");
    9.     scanf("%s", str);
    10.     printf("So dao nguoc: ");    
    11.     for (char i = (strlen(str) -1); i >= 0; --i)
    12.         printf("%c", str[i]);
    13.        
    14.     return 0;
    15. }

    1. Code này có thể đảo ngược 1 số có chiều dài 254 chữ số trong khi int cao nhất là 10 chữ số (unsigned )
    2. Chạy nhanh hơn vì không phải tính nhân chia gì cả

    C++ Code:
    1. #include <iostream>
    2. #include <string>
    3. using namespace std;
    4.  
    5. int main()
    6. {
    7.     string str;
    8.  
    9.     cout << "Nhap vao mot so: ";
    10.     getline(cin, str);
    11.     cout << "So dao nguoc: ";
    12.  
    13.     for (signed int i = str.length() - 1; i >= 0; --i)
    14.         cout << (char) str[i];
    15.     return 0;
    16. }

    Code này cũng không nhân chia gì hết
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

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

    Đầu vào bạn là gì? Bài toán nói nhập vào gì? đầu vào của bạn là chuỗi.

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