Giúp e bài này ps: e vừa nhập môn lập trình thôi :(

Đề bài: Tìm tất cả các số có 3 chữ số thỏa điều kiện: số giữa =tổng 2 số 2 bên ? e có viết code thử mà chạy k dc :( mong bro giúp e
 
#include<stdio.h>
#include<math.h>
void main()
{
int i,a,b,c,m;
for(i=121;i<1000;i++)
{
i=m;
a=i%10;
b=i%10;
c=i;
if(a + c =b)
{
printf("cac so can tim la: %d\n\n",m);
}
}
}

code này e viết lại nên k dc đẹp mong bro ráng nhìn :v
 

aloxinh_nb

It's Secret !
Mã:
int i,a,b,c,m;
for(i=121;i<1000;i++)
{
i=m;
a=i%10;
b=i%10;
c=i;
if(a + c =b)
{
printf("cac so can tim la: %d\n\n",m);
}
}
}

Mình không hiểu code của bạn cho lắm. trong vòng lặp for i bắt đầu từ 121, vào trong vòng lặp i lại = m :-?
 

Lê Minh

✩✩✩✩
Lâu rồi không đụng. Ngày xưa mới học lập trình mấy bài kiểu này thích lắm nè. Thử xem coi có ra không :troll:

#include<stdio.h>
#include<math.h>
void main(){
int i,a,b,c,m;
printf("cac so can tim la:");
for(i=100;i<1000;i++){​
m=i;​
a=i%10;
i=i/10;
b=i%10;
i=i/10;
c=i%10;
if(a + c ==b){​
printf("%d\n\n",m);​
}​
}​
}
 
Lâu rồi không đụng. Ngày xưa mới học lập trình mấy bài kiểu này thích lắm nè. Thử xem coi có ra không :troll:

#include<stdio.h>
#include<math.h>
void main(){
int i,a,b,c,m;
printf("cac so can tim la:");
for(i=100;i<1000;i++){​
m=i;​
a=i%10;
i=i/10;
b=i%10;
i=i/10;
c=i%10;
if(a + c ==b){​
printf("%d\n\n",m);​
}​
}​
}
k dc bro ơi =,=! ra duy nhất có 1 con số 999!!!
 

Lê Minh

✩✩✩✩
k dc bro ơi =,=! ra duy nhất có 1 con số 999!!!
Thử cái này xem nhe, do máy không có cái tool compile nên không kiểm soát được lỗi :-S
#include<stdio.h>
#include<math.h>
void main(){
int i,a,b,c,m;
printf("cac so can tim la:");
for(i=100;i<1000;i++){
m=i;
a=i%10;
m=i/10;
b=m%10;
m=i/100;
c=m%10;
if(a + c ==b){
printf("%d \n ",i);​
}​
}​
}
 
#include <iostream>
using namespace std;
int main()
{
cout << "cac so can tim la: " << endl;
for(int i = 121; i < 999; i++)
{
int m, a, b;
m = i % 10;
a = (i / 10) % 10;
b = i / 100;
if( a == (b + m))
cout << i << " ";
}
cout << endl;
return 0;
}
p/s: nếu bạn dùng c thì thay cout bằng printf nhé, lệnh xuất thôi, còn phần include thì bỏ thư viện c của bạn vô
xóa dòng using namespace std cũng được
 
Ố kê thanks các bro mình vừa chạy code dc r :) mà có a bik làm s để yêu cầu ngta nhập 1số nguyên nếu k phải số nguyên thì nhập lại 1 số cho đên khi nào là số nguyên thì thôi k?
 

quanltv

Sư phụ của ADMIN
Dùng 1 biến check để kiểm tra giá trị nhập vào, nếu sai thì dùng goto hoặc dùng while do quay về nhập lại. Biến check được xác định bởi hàm scanf("%d",&a); hoặc hàm int atoi(const char *s) chuyển chuỗi thành số nguyên

*Nhớ thêm xét trường hợp giá trị nhập là số 0

Tham khảo
Mã:
http://forum.uit.edu.vn/threads/35215-de-c-lap-trinh-nhap-mot-so-nguyen-kiem-tra-neu-dung-thi-thi-in-ra-sai-bat-nhap-lai
http://www.laptrinhmaytinh.net/2013/01/ham-chuyen-oi-chu-so-trong-cc.html
 
biến của bạn lúc cho nhập vào khai báo kiểu int, cho nên lúc người ta nhập vào số thực thì cũng bị ép kiểu sang số nguyên, thường thì người ta dùng cặp lệnh do while để bắt buộc nhưng trong trường hợp này thì ... mình nghĩ là:
float a; // a là số cần nhập.
cin >> a;
float b;
b = a;
int c = b; // nếu nhập a là số thực thì c sẽ là số nguyên là tròn của a;
if(c == a) // nếu c == a, tức là a nhập vào nguyên, nếu ko thì ko bằng được.
vậy bạn dùng do while

do
{
float a; // a là số cần nhập.
cin >> a;
float b;
b = a;
int c = b; // nếu nhập a là số thực thì c sẽ là số nguyên là tròn của a;
}while(c != a); // nếu c khác a thì tức a là số thực, vòng lặp sẽ chạy lên lại bắt nhập
 

Thống kê

Chủ đề
102,787
Bài viết
470,610
Thành viên
340,593
Thành viên mới nhất
winspire
Top