C语言:输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;

/*输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;*/

#include 
#include 

int num_count(int num);
void showdata(int num,int count);
void showdata_inverse(int num);

//要求1:求出它是几位数 
int num_count(int num){
	int count=0;
	for(;num;num/=10)
		count++;
	return count;
}

//要求2: 分别打印出每一位数
void showdata(int num,int count){
	int i;
	printf("每一位数字是:\n");
	for(i=count-1;i>=0;i--){
		printf("%2d",num/(int)pow(10,i)%10);
	} 
} 

//要求3: 按逆序打印出各位数字  
void showdata_inverse(int num){
	printf("\n逆序打印出各位数字为:\n");
	do{
		printf("%d",num%10);
		num/=10;
	}while(num);
}

int main(){
	int num,cnt;
	printf("请输入一个不多于5位数的整数:\n");
	scanf("%d",&num);
	cnt=num_count(num); //要求1:求出它是几位数 
	printf("该数是%d位数。\n",cnt);
	showdata(num,cnt);  //要求2: 分别打印出每一位数 
	showdata_inverse(num);  //要求3: 按逆序打印出各位数字 
}


你可能感兴趣的:(【C语言】)