Mình là newbie thôi. Mình code trên visual studio 2015 bài này. Khá là dài bạn có thể tham khảo.
Mã:
#include<stdio.h>#include<conio.h>#include<iostream>char *tong2so(char a[], char b[]){ char *p = new char[21]; int x[20]; int y[20]; int z[22]; for (int i = 0; i < 20; i++) // Scan chuyển đổi chuỗi vào 2 mảng kiểu int để tính toán. Ví dụ kiểu char là kí tự 1 thì đổi thành số 1 { if (a[i] == 48) x[i] = 0; if (a[i] == 49) x[i] = 1; if (a[i] == 50) x[i] = 2; if (a[i] == 51) x[i] = 3; if (a[i] == 52) x[i] = 4; if (a[i] == 53) x[i] = 5; if (a[i] == 54) x[i] = 6; if (a[i] == 55) x[i] = 7; if (a[i] == 56) x[i] = 8; if (a[i] == 57) x[i] = 9; if (b[i] == 48) y[i] = 0; if (b[i] == 49) y[i] = 1; if (b[i] == 50) y[i] = 2; if (b[i] == 51) y[i] = 3; if (b[i] == 52) y[i] = 4; if (b[i] == 53) y[i] = 5; if (b[i] == 54) y[i] = 6; if (b[i] == 55) y[i] = 7; if (b[i] == 56) y[i] = 8; if (b[i] == 57) y[i] = 9; } int check = 0; // Kiểu tra điều kiện cộng có nhớ for (int i = 19; i >= 0; i--) { if (check == 0) // Trường hợp không nhớ { if ((x[i] + y[i]) >= 0 && ((x[i] + y[i]) <= 9)) // Tổng hai số lớn hơn bàng 0 và nhỏ hơn bàng 9 { if (i == 0) z[0] = 0; // trường hợp i==0 phải xét riêng bởi vì nếu x[0]+y[0] > 9 thì thành số có 21 chữ số z[i+1] = x[i] + y[i]; check = 0; continue; } if ((x[i] + y[i]) > 9) { if (i == 0) { z[1] = (a[i] + b[i]) % 10; z[0] = ((x[i] + y[i]) / 10) % 10; continue; } else { z[i + 1] = (x[i] + y[i]) % 10; check = 1; continue; } } } else { if ((x[i] + y[i] + 1) >= 0 && ((x[i] + y[i] + 1) <= 9)) { if (i == 0) z[0] = 0; z[i+1] = x[i] + y[i] + 1; check = 0; continue; } if ((x[i] + y[i] + 1) > 9) { if(i==0) { z[1] = (x[i] + y[i]+1) % 10; z[0] = ((x[i] + y[i]+1) / 10) % 10; continue; } else { z[i + 1] = (x[i] + y[i] + 1) % 10; check = 1; continue; } } } } int i; if (z[0] == 0) // số cộng được có 20 chữ số { for (i = 1; i < 21; i++) // chuyển đổi từ mảng int thành chuỗi char để return { if (z[i] == 0) p[i - 1] = 48; if (z[i] == 1) p[i - 1] = 49; if (z[i] == 2) p[i - 1] = 50; if (z[i] == 3) p[i - 1] = 51; if (z[i] == 4) p[i - 1] = 52; if (z[i] == 5) p[i - 1] = 53; if (z[i] == 6) p[i - 1] = 54; if (z[i] == 7) p[i - 1] = 55; if (z[i] == 8) p[i - 1] = 56; if (z[i] == 9) p[i - 1] = 57; } p[i-1] = 0; // phần tử để kết thúc sâu } else // trường hợp có 21 chữ số { for (i = 0; i < 21; i++) { if (z[i] == 0) p[i] = 48; if (z[i] == 1) p[i] = 49; if (z[i] == 2) p[i] = 50; if (z[i] == 3) p[i] = 51; if (z[i] == 4) p[i] = 52; if (z[i] == 5) p[i] = 53; if (z[i] == 6) p[i] = 54; if (z[i] == 7) p[i] = 55; if (z[i] == 8) p[i] = 56; if (z[i] == 9) p[i] = 57; } p[i] = 0;// phần tử kết thúc sâu } return p;}void main(){ char a[] = "95132546251235874562"; char b[] = "25132645621664116266"; std:: cout <<tong2so(a, b); _getch();}
Vệ sinh cá nhân là một phần quan yếu của sức khỏe nam giới. Dùng dung dịch vệ sinh mỗi ngày mang lại nhiều ích, giúp loại bỏ vi khuẩn và vi sinh vật gây hại, giúp khu vực cơ quan sinh dục luôn sạch...
Gel vệ sinh cu, bạn trai có nên...