| Giải dùm mấy bài C đi công em( xài vòng lặp) | |
|
|
Tác giả | Thông điệp |
---|
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Giải dùm mấy bài C đi công em( xài vòng lặp) Wed Dec 01, 2010 4:55 pm | |
| 1.Nhập vào số nguyên dương n. Xuất ra màn hình số chữ số của n Ví dụ: Nhập n = 2154351 Xuất ra: 7 2. Nhập vào số nguyên dương n, nếu n không là số nguyên tố thì cho nhập lại, ngược lại kết thúc quá trình nhập. Ví dụ: Nhập n: 6 Xuất ra: 6 không phải là số nguyên tố Nhập n: 9298 Xuất ra: 9298 không phải là số nguyên tố Nhập n: 13 Kết thúc. 3. Nhập n nguyên dương, tính [You must be registered and logged in to see this image.] | |
|
| |
KaiPro Admin
Tổng số bài gửi : 593 Mức độ Pờ-rồ : 70664 Join date : 24/08/2010 Age : 31 Đến từ : TP.HCM
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Thu Dec 02, 2010 12:53 am | |
| BÀI 1 : Ý tưởng như sau
Nếu nhập số dương bình thường thì ko nói gì, dùng mảng mà ra nhưng nếu người dùng nhập 928348573485979842802745 thì sao ? "Tít tít...một làn khói bốc lên cao...". Đã có cách trị : dùng hàm STRLEN tính độ dài chuỗi.
- Code:
-
#include <stdio.h> #include <conio.h> #include <string.h>
void main() { char chuoi[50]; int n; printf("Moi ban nhap vao so nguyen duong n: "); fflush stdin; gets(chuoi); n=strlen(chuoi); for(int i=0;i<=n;i++) { if((chuoi[i]<49)||(chuoi[i]>58)) { printf("Nhap sai "); exit(0); } } printf("Tong cong: %d",strlen(chuoi)); getche(); } Giải thích :
- Tại sao có fflush stdin ? Trạ lời : ( PĐ đâu ) fflush stdin = clrscr (xóa màn hình). Vì ta dùng mánh nhập chuỗi tức là nó sẽ nhận tất cả những gì mình gõ từ bàn phím kể cả Enter. Vì Enter là phím cuối cùng nên nó sẽ gán giá trị của phím Enter vào chuỗi => vòng lặp sai !
- Ý nghĩa của vòng for trên ? Trạ lời : Ta xét đủ mọi trường hợp nhập của người dùng : có số, có chữ, có ký tự đặc biệt,...(mấy thằng lolz phá chương trình tìm lỗi cho mình thi lại ), làm sao đây ? Nhìn vào vòng if...biến chuoi là kiểu char, mà char lại nhận từ bảng mã ASCII, trong khoảng [49;58] chính là các số từ 1 tới 9. Hàm for này sẽ chạy 1 lèo từ đầu mảng tới cuối mảng, khi lướt wa nếu nó gặp một ký tự nào mà có mã ASCII khác khoảng [49;58] thì báo Nhập sai ngay lập tức.
Ko hiểu thì post ngay tại đây.... Bài số nguyên tố hẹn các cậu vào ngày mai, tớ đi ngủ (nhìn vào time post bài)
P/S : có thể thay char chuoi [xxx] vs xxx là số muốn nhập, 50 là đẹp vì dek thằng lolz nào đủ kiên nhẫn để mà phá chương trình tìm lỗi cho mình thi lại đâu. Phải khai báo thư viện string.h để xài đc hàm STRLEN nha các ku. Lâu rồi mới Code lại C++ mà vẫn còn ngon chán ! . Xem mã ASCII : [You must be registered and logged in to see this link.] | |
|
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Thu Dec 02, 2010 7:03 am | |
| vấn đề là tao chưa nghe cái hàm STRLEN bao h cả, hàm dâm thế, trong khi đó thèn loz thầy kiu chia 10 lấy dư loại từ từ | |
|
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Thu Dec 02, 2010 7:21 am | |
| ê mèy nói lại cái biến dạng "chuoi[]" koi, lạ vậy | |
|
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Thu Dec 02, 2010 7:24 am | |
| à hỉu rồi chuoi[số ký tự ] fai ko, vậy tao lấy chuoi[100] cho chắc | |
|
| |
KaiPro Admin
Tổng số bài gửi : 593 Mức độ Pờ-rồ : 70664 Join date : 24/08/2010 Age : 31 Đến từ : TP.HCM
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Thu Dec 02, 2010 2:40 pm | |
| Uh, hàm này dâm lắm, còn kiểu của lolz thầy pà mẹ ngồi tư duy cho banh não Hồi đó tao cũng làm kiểu của ông thầy, mà bà cô hướng dẫn cách này, ngồi !@#$%^&* liên tục ! | |
|
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Thu Dec 02, 2010 6:00 pm | |
| code tao chạy trên visual C++, sai chỗ nào mẹy(clrscr c++ đíu có) - Code:
-
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char c[100]; int i, n; printf("Nhap mot so nguyen duong: "); fflush stdin; scanf("%c", &c); n = strlen(c); for(i = 0; i<= n; i++) { if((c[i] < 49) || (c[i] > 58)) { printf("Nhap sai"); break; } } printf("Tong chu so cua %c la: %d\n", c, n);
} | |
|
| |
KaiPro Admin
Tổng số bài gửi : 593 Mức độ Pờ-rồ : 70664 Join date : 24/08/2010 Age : 31 Đến từ : TP.HCM
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Thu Dec 02, 2010 10:41 pm | |
| vòng FOR...ko xài break....xài exit(0) đấy, nếu break thì phá khỏi for, nó sẽ in ra luôn, ko thỏa mãn đâu. và printf cuối cùng %d,strlen(c)
| |
|
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Fri Dec 03, 2010 8:09 am | |
| exit(0) báo là dek tồn tại , C++ 6.0 | |
|
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Fri Dec 03, 2010 8:33 am | |
| tao thử copy code của mèy bỏ vô C-free, đánh số 1234,123,456 ra chung kết quả "Nhap sai" rồi out, WTF? | |
|
| |
KaiPro Admin
Tổng số bài gửi : 593 Mức độ Pờ-rồ : 70664 Join date : 24/08/2010 Age : 31 Đến từ : TP.HCM
| |
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| |
| |
KaiPro Admin
Tổng số bài gửi : 593 Mức độ Pờ-rồ : 70664 Join date : 24/08/2010 Age : 31 Đến từ : TP.HCM
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Fri Dec 03, 2010 10:10 pm | |
| Nhập 123183843509348082 thử đi ? số đó có phải là nguyên dương ko | |
|
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Sun Dec 05, 2010 4:45 pm | |
| thì "nhap sai" chứ mợ ji` sửa đi mèy | |
|
| |
KaiPro Admin
Tổng số bài gửi : 593 Mức độ Pờ-rồ : 70664 Join date : 24/08/2010 Age : 31 Đến từ : TP.HCM
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Mon Dec 06, 2010 11:33 pm | |
| - Code:
-
#include <stdio.h> #include <conio.h> #include <string.h>
void main() { char chuoi[50]; int n,k; k=0; printf("Moi ban nhap vao so nguyen duong n: "); fflush stdin; gets(chuoi); n=strlen(chuoi); if((strlen(chuoi)==1)&&(chuoi[0]==48)) { printf("DKMDKMDKM"); exit(0); } if((strlen(chuoi)>1)&&(chuoi[0]==48)) { printf("VL : %d",strlen(chuoi)-1); exit(0); } for(int i=0;i<=n;i++) { if((chuoi[i]>=48)&&(chuoi[i]<=57)) { k=k+1; if(k==strlen(chuoi)) { printf("VL : %d",strlen(chuoi)); exit(0); } } else { printf("DKM"); exit(0); } } getche(); } | |
|
| |
KaiPro Admin
Tổng số bài gửi : 593 Mức độ Pờ-rồ : 70664 Join date : 24/08/2010 Age : 31 Đến từ : TP.HCM
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Mon Dec 06, 2010 11:34 pm | |
| Ko hiểu chỗ nào thì spam lên đây, sẵn tiện câu bài | |
|
| |
Minh.Kal Tổ trưởng
Tổng số bài gửi : 407 Mức độ Pờ-rồ : 5513 Join date : 26/08/2010 Age : 31 Đến từ : the planet Krypton
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Tue Dec 07, 2010 9:19 am | |
| C++ ko có hàm exit | |
|
| |
KaiPro Admin
Tổng số bài gửi : 593 Mức độ Pờ-rồ : 70664 Join date : 24/08/2010 Age : 31 Đến từ : TP.HCM
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) Tue Dec 07, 2010 12:46 pm | |
| Xai` C free | |
|
| |
Sponsored content
| Tiêu đề: Re: Giải dùm mấy bài C đi công em( xài vòng lặp) | |
| |
|
| |
| Giải dùm mấy bài C đi công em( xài vòng lặp) | |
|