Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Hỏi về số đối xứng

  1. #1
    Ngày gia nhập
    12 2012
    Bài viết
    0

    Question Hỏi về số đối xứng

    Đề bài là kt xem n có phải số đối xứng không. Làm bằng 2 cách:
    C1 em làm rồi:
    C Code:
    1. #include<stdio.h>
    2. #include <string.h>
    3. #include<math.h>
    4. #include<stdlib.h>
    5. int main(void)
    6. {
    7.     char s[100];
    8.     printf("nhap so ");
    9.     scanf("%s",&s);
    10.     int n=strlen(s);
    11.     int kt=1;
    12.     for(int i=0; i<n/2; i++)
    13.         if(s[i]==s[n-1-i])
    14.             kt=0;
    15.     if(kt==0)
    16.         printf("doi xung\n");
    17.     else printf(" ko doi xung\n");
    18.     return 0;
    19. }

    C2 là tìm số đảo ngược (em thấy trên mạng toàn in ra dạng từng số có 1 chữ số liền nhau) rồi so sánh 2 số nhưng không biết tìm sao ai chỉ với. Thanks.
    Đã được chỉnh sửa lần cuối bởi maphongba008 : 03-01-2013 lúc 07:23 PM.

  2. #2
    Ngày gia nhập
    12 2012
    Nơi ở
    TIN5A - UNETI
    Bài viết
    167

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<stdlib.h>
    void DoiCho(char &a,char &b){
    char c;
    c = a;
    a = b;
    b = c;
    }
    int main(void)
    {
    char s[100];
    printf("\n - Nhap so: ");
    scanf("%s",&s);
    int n = strlen(s);
    int i,j;
    i = 0;
    j = n - 1;
    while(i<j){
    DoiCho(s[i],s[j]);
    i++;
    j--;
    }
    printf("\n - So dao nguoc la: %s",s);
    return 0;
    }

  3. #3
    Ngày gia nhập
    03 2012
    Bài viết
    27

    [QUOTE=maphongba008;579641]Đề bài là kt xem n có phải số đối xứng không. Làm bằng 2 cách:
    C++ Code:
    1. #include<iostream>
    2. #include<string.h>
    3.  
    4. using namespace std;
    5. //Cach 1;
    6.  
    7. int main()
    8. {
    9.     string s;
    10.     cout<<"Nhap so:";
    11.     cin>>s;
    12.     for(int i=0;i<s.length();i++)
    13.         if(s[i]!=s[s.length()-1-i])
    14.         {
    15.             cout<<"Khong doi xung."<<endl;
    16.             return 0;
    17.         }  
    18.     cout<<"Doi xung."<<endl;
    19. }
    20.  
    21. //Cach 2
    22.  
    23. int main()
    24. {
    25.     int n;
    26.     cout<<"Nhap n:";
    27.     cin>>n;
    28.     int m=n,p=0;
    29.     while(m)
    30.     {
    31.         p=10*p+m%10;
    32.         m/=10;
    33.     }
    34.     if(n-p) cout<<"Khong doi xung."<<endl;
    35.     else cout<<"Doi xung."<<endl;
    36.     return 0;
    37. }

    Y!M: doxuanthangvn
    Skype: doxuanthangvnn
    Email: doxuanthang@hotmail.com

  4. #4
    Ngày gia nhập
    05 2011
    Nơi ở
    Hà Nội
    Bài viết
    13

    Trích dẫn Nguyên bản được gửi bởi maphongba008 Xem bài viết
    C2 là tìm số đảo ngược (em thấy trên mạng toàn in ra dạng từng số có 1 chữ số liền nhau) rồi so sánh 2 số nhưng không biết tìm sao ai chỉ với. Thanks.
    Đơn giản nhất là bạn tạo một chuỗi mới. Các phần tử của chuỗi này sẽ theo thứ tự đảo ngược chuỗi ban đầu.
    Khi đã có chuỗi này thì bạn so sánh chuỗi đó vs chuỗi ban đầu. Là số đối xứng nếu chúng giống nhau.

    Trích dẫn Nguyên bản được gửi bởi maphongba008 Xem bài viết
    C++ Code:
    1. //Cach 2
    2.  
    3. int main()
    4. {
    5.     int n;
    6.     cout<<"Nhap n:";
    7.     cin>>n;
    8.     int m=n,p=0;
    9.     while(m)
    10.     {
    11.         p=10*p+m%10;
    12.         m/=10;
    13.     }
    14.     if(n-p) cout<<"Khong doi xung."<<endl;
    15.     else cout<<"Doi xung."<<endl;
    16.     return 0;
    17. }
    Cách xây dựng số đảo ngược như trên cũng đúng nhưng code đó sẽ không hoạt động nếu số n có giá trị rất lớn.

  5. #5
    Ngày gia nhập
    02 2012
    Nơi ở
    hà nội
    Bài viết
    58

    :D Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<string.h>
    4. void daoNguocSo(char s[],char s1[])
    5. {
    6.  
    7.       int i=0,j=strlen(s)-1;
    8.       strcpy(s1,s);
    9.       while(i<j)
    10.       {
    11.                 s1[j]=s[i];
    12.                 s1[i]=s[j];
    13.                 i++;
    14.                 j--;
    15.       }
    16. }
    17. int main()
    18. {
    19.      char s[]="4125189";
    20.      puts(s);
    21.      char s1[30];
    22.      daoNguocSo(s,s1);
    23.      puts(s1);
    24.      if(strcmp(s,s1)==0) printf("\nSo doi xung!\n");
    25.      else printf("\nKo phai so doi xung!");
    26.      getch();
    27. }
    + Quách Việt Kiên
    + Yahoo: Kaka_8x_vn
    + skype: kiencuongno1
    + Gmail: kiencuongno1@gmail.com
    Ai có thể free cho mình 50k thẻ điện thoại ko.

Tags của đề tài này

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