30/09/2018, 18:09

Nhờ giải thích bài tập C: kiểm tra 1 số nguyên dương nhập vào là tăng hay giảm hay không tăng k giảm

Đề bài : kiểm tra 1 số nguyên dương nhập vào là tăng hay giảm hay không tăng k giảm…
giải như sau:

#include<stdio.h>
#include<conio.h>
int main()
{
	int i, n, x, s, dem;
	printf("n= "); scanf("%d", &n);
	i=n;
	dem=s=0;
	while(i>=10){
		s++;
		x=i%10;
		i=i/10;
		if(i%10<x){
			dem++;
		}
	}
	if(dem==s){
		printf("tang");
	}
	else if(dem==0){
		printf("giam");
	}
	else{
		printf("k tang k giam");
	}
}

E không hiểu đọan Từ đọan vòng lặp while ai giải thick giùm e đk k ạ :

Dat Dang viết 20:25 ngày 30/09/2018

mỗi vòng lập while so sánh hàng đơn vị và hàng chục của số nhập vào rồi chia số đó cho 10, nếu hàng chục lớn hơn thì tăng biến dem thêm 1.
Nếu biến dem bằng số lần lập thì đó là số tăng, nếu dem = 0 thì là số giảm, còn lại là ko tăng ko giảm.
Tuy nhiên trong trường hợp số nhập vào < 10 thì bài giải in ra “tang” là sai

Bài liên quan
0