PDA

View Full Version : Giup em voi!



buonbuon2010
31-12-2011, 11:05
Anh chị viết dùm em chương trình nhập một số (nhỏ hơn 4 chữ số) đảo ngược số đó.(dùng lệnh if)
VD: Nhập 123 thành 321.
em xin cảm ơn!

thienha20
31-12-2011, 16:25
if(so nhap vao 1 chu so) in ra lai so do;
if(so co 2 chu so) in ra chuoi[1] sau do in ra chuoi[0];
if(so co 3 chu so) in ra chuoi[2] sau do in ra chuoi[1] va in ra chuoi[0];

buonbuon2010
31-12-2011, 17:43
if(so nhap vao 1 chu so) in ra lai so do;
if(so co 2 chu so) in ra chuoi[1] sau do in ra chuoi[0];
if(so co 3 chu so) in ra chuoi[2] sau do in ra chuoi[1] va in ra chuoi[0];
mình có làm như zậy nhưng thầy chê là quá dài.

lion080889
03-01-2012, 10:20
string s = "123";
for (int i = s.Length -1; i >= 0; i--)
Console.Write(s[i]);

code được viết bằng C#, bạn tự viết bằng ngôn ngữ bạn muốn nhé, cũng giống nhau thôi.

dangxuanthong
03-01-2012, 11:21
cái title này nên cho vào sọt rác nhỉ :D

megaownage
03-01-2012, 22:31
Bạn cần hỏi lại thầy là "quá dài" trên quan điểm số dòng code, hay quan điểm thuật toán, hay quan điểm độ phức tạp?

Trên nguyên tắc, code viết 3 đoạn IF như vậy là code tương đối bảo hòa (cân bằng) giữa các điều kiện trên rồi.

Tuy nhiên tôi nghĩ có lẽ thầy bạn cho rằng nhập một số, đổi thành chuỗi rồi mới tính thì dài dòng.


// code in ngược một số nguyên dương n tối đa 3 chữ số
printf("%d", n%10); // chắc chắn ta có 1 chữ số dù đó là 0
if (n >= 10) printf("%d", (n/10)%10); // 2 chữ số trở lên
if (n >= 100) printf("%d", n/100; // 3 chữ số

// nếu n là chuỗi thì viết như vầy
if (n[1])
{
if (n[2]) printf("%c", n[2]);
printf("%c", n[1]);
}
printf("%c", n[0]);


* trả lời cho người viết code này:


string s = "123";
for (int i = s.Length -1; i >= 0; i--)
Console.Write(s[i]);

code được viết bằng C#, bạn tự viết bằng ngôn ngữ bạn muốn nhé, cũng giống nhau thôi.

Đọc cho kỹ đề bài. Người ta đã bảo dùng IF, code của bạn dùng FOR
Vả lại, C# string là đối tượng của lớp string; hoạt động không giống C string là trường hợp mảng ký tự được hổ trợ bới các hàm thư viện C. Không vơ đũa cả nắm được.

cauberong09
04-01-2012, 21:00
Nhiều bài thầy cố yêu cầu hay quá nhỉ:D

buonbuon2010
05-01-2012, 09:38
du gi em cung cam on anh chị, em tìm ra rồi.


#include <iostream.h>
#include <conio.h>
void main()
{
cout<<"Nhap n: ";
int n;
cin>>n;
cout<<"so dao nguoc: ";
if (999<n&&n<10000) cout<<n%10<<(n/10)%10<<(n/100)%10<<(n/1000)%10;
else if(99<n) cout<<n%10<<(n/10)%10<<(n/100)%10;
else if(9<n) cout<<n%10<<(n/10)%10;
else if(0<=n) cout<<n;
getch();
}

builinh06041990
06-01-2012, 12:17
cách nào thì cũng đúng thui .