Chưa chạy thử nhưng nhìn sơ qua nếu nhập vào 0 thì ngay cái đoạn chia cho 0 thì làm sao chương trình thực hiện. Phải có đoạn kiểm tra nếu mẩu số =0 thì làm sao chứ.
em mới học c# dược hon 1 tuần chưa biết j nhìu. em có bài tim ÚCLN & BSCLN . em đã viết code rồi chạy tốt nhưng chỉ có điêu kiện = 0 là nó chạy bậy bac' nào giúp em với:
các bác giúp em 1 tayVisual C# Code:
namespace USCLNvaBSCNN { class Program { {lap: Console.Write("nhap vao so thu nhat "); Console.Write("nhap vao so thu hai "); double i; Console.Write("muon tim USCLN hay BSCNN! (U//B)"); { i = a; lap1: i--; Console.WriteLine("{0} la USCLN",i); goto lap1; } { i = b; lap2: i--; Console.WriteLine("{0} la USCLN", i); goto lap2; } Console.WriteLine("{0}la USCLN",a); { i = a -1; lap1: i++; Console.WriteLine("{0} la BSCNN", i); goto lap1; } { i = b-1; lap2: i++; Console.WriteLine("{0} la BSCNN", i); goto lap2; } Console.WriteLine("{0}la BSCNN", a); } Console.Write("ban muon lam tiep ko!(Y//N)"); goto lap; } } } }
--------------------------------------
Chú ý lần sau đưa code và tag code (nên sử dụng tag code nâng cao) - Sunflower
Đã được chỉnh sửa lần cuối bởi sunflower : 06-03-2008 lúc 11:24 PM. Lý do: nhắc nhở
Chưa chạy thử nhưng nhìn sơ qua nếu nhập vào 0 thì ngay cái đoạn chia cho 0 thì làm sao chương trình thực hiện. Phải có đoạn kiểm tra nếu mẩu số =0 thì làm sao chứ.
Gác Kiếm
bạn cứ copy về chạy thử đi sẽ rõ lien ah. nó vận chạy nhung nếu cho 2 số đều = 0 thi no tầm bậy liền, hay nhap 1 số bất kì bằng 0 là nó ra kết quả sai ngay
mình muốn viết 1 cái chương trình cho nó chạy có tính tổng quát 1 tí. chu nếu sử dụng ì để chặn điêu kiện( 2 số a,b ) thì cũng được nhưng mà thấy bài nay viết code vẫy đã wa' dài rồi nếu thêm if vào e ràng rối.( sợ tới lúc lên giải thích chữ minh nhìn ko ralà bó tay) vì em là gà mới vào c#(mới học duoc hơn 1 tuần) nên kĩ thuật còn yếu. nhiều cái phải chịu thua. cái này em định dùng vòng lặp để làm nhưng ông thầy ko cho. ổng bắt dùng if để phát hiện rắc rối khi làm. theo các anh tiền bối thì ngoài khóa điều kiện = if thì còn cách nào khác ko? rất mong sự giúp đỡ
Cậu này nghe chừng là muốn được xóa bài và ban nick. Nhắc nhở đọc Nội quy mà không có chịu đọc gì hết. Vui lòng không có gửi nhiều bài viết liền nhau, liên tiếp trong cùng một đề tài.
Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 07-03-2008 lúc 12:29 AM. Lý do: Nhắc nhở spam
Tớ đã đưa ra cái sai của chương trình rồi mà ko chịu nghe. Trong phép chia thì làm sao cho phép mẫu số = 0 được chứ.
Cái thứ 2 là tại sao ngại phải đưa if -- else vào trong khi bắt buộc phải dùng if --else. Nếu ngại dài quá thì cứ viết hàm riêng ra. Hàm tính UCLN, BCNN. Rồi trong thân chương trình chính sẽ kiểm tra các số nhập vào, nếu hợp lệ thì gọi mấy hàm đó lên thực hiện.
Gác Kiếm
bác hiểu sai ý của em rồi, bai này dù bác có nhập số nào=0, hay cả 2 số =0 thì nó vẫn chạy tốt(kq vẫn đúng nưng ko phải là kết quả đúng nhất:I)
số lượng if...else thế này đâu đã nhiều
thế này thì có khác j sai đâu. chỉ là ko sai về cú pháp mà thôi, còn tổng thể chương trình vẫn là sai...........bác hiểu sai ý của em rồi, bai này dù bác có nhập số nào=0, hay cả 2 số =0 thì nó vẫn chạy tốt(kq vẫn đúng nưng ko phải là kết quả đúng nhất:I)
thì làm gì đúng! bạn nhập thế nó không xuất ra kết quả vì không vô if đâu.Visual C# Code:
Xét điều kiện kĩ vào (không liên quan đến mới hay lâu học C#)
BÀI NÀY NÈ CÁC BÁC , ĐƠN GIẢN , NGẮN GỌN
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace UCLN_va_BSCNN
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Tim uoc chung lon nhat va boi so chung nho nhat cua 2 so");
Console.Write("Nhap vao so a :");
int a = int.Parse(Console.ReadLine());
Console.Write("Nhap vao so b :");
int b = int.Parse(Console.ReadLine());
int s = a * b;
// tim UCLN
while(a!=b)
{
if (a > b)
{
a = a - b;
}
else
{
b = b - a;
}
}
Console.Write("UCLL la "+a+" ; "+"BCNN la "+s/a);
Console.ReadKey();
}
}
}