1. 程式人生 > >輸出整數的位數、順序輸出整數各位數字、逆序輸出整數各位數字

輸出整數的位數、順序輸出整數各位數字、逆序輸出整數各位數字

一、輸出整數的位數  運用“去尾法”獲取整數n的位數。“去尾法”是將整數n/10後重新賦值給n,可將整數n的最後一位數去掉。每次去掉一位,計數器+1,直到整數n被賦值為0時,計數器停止計數,此時計數器的數字為整數n的位數。考慮當整數n取0時,運用do-while迴圈語句可以進入迴圈。原始碼:
int GetFigures(int n)
{
	int count=0;      //計數器
	do
	{
		n=n/10;   //“去尾法”,對n進行賦值
		count++;  //去掉一位,計數器+1
	}
	while(n!=0);      //當n被賦值為0時停止迴圈
	return count;
}
二、逆序輸出整數各位數字
  用do-while迴圈語句,將整數n%10依次列印結果,再運用“去尾法”將n賦值為n/10,直到n被賦值為0時,迴圈結束。可以得到n的每一位數字。原始碼:
void PrintReverse(int n)
{
	if(n<0)
	{
		printf("-");
	   n=-n;
	}		              //當整數n小於0時,輸出一個“-”號
	do
	{
		printf("%d  ",n%10);  //輸出整數的各位
		n=n/10;		      //去尾法”,對n進行賦值
	}while(n!=0);                 //當n被賦值為0時停止迴圈
	printf("\n");
}
三、順序輸出整數各位數字

   順序輸出整數的每一位。  例如5234 輸出 5  2   3  4,當5234/1000=5,5234%1000=234;                                               234/100=2,     234%100=34;

                                                    ...                       ...

  由這個例子可以找出規律,整數n/(10的n的位數減一次方)的結果是n的最高位,再利用n%(10的n的位數減一次方)去掉n的最高位,進行迴圈,直到n被賦值為0時停止迴圈。

原始碼:
void PrintOrder(int n)
{
	int tmp;
	tmp = GetFigures(n);         //呼叫GetFigures函式
	int power=1;                
	if(n<0)
	{
		printf("-");
		n=-n;
	}			     //當整數n為負數時,輸出一個“-”號
	for(int i=0;i<tmp-1;i++)
	{
		power *= 10;
	}                            //10的n的位數減一次方
	do
	{
        printf("%d  ",n/power);      //列印最高位數
		n = n%power;         //去掉最高位
		power /= 10;         //一次迴圈結束,power/10
	}
	while(n!=0);                 //當n被賦值為0時停止迴圈              
 	printf("\n");
}

相關推薦

【c語言】給一個不多於五位的正整數: 1.求出它是幾位數 2.分別輸出每一位數字 3.輸出各位數字

#include<stdio.h> #include<math.h> //求出它是幾位數 int Count(int n) { int tmp = 0; while (n != 0) { tmp++; n /= 10;

轉: 求出它是幾位數 分別輸出每一位數字輸出各位數字

#include <stdio.h> int main(int argc, const char * argv[]) { /*給你一個不多於5位的正整數,要去: 求出它是幾位數; 分別輸出每一位數字; 按逆序輸出各位數字,例如原數為:321,應

判斷輸入的數字是幾位數,並輸出數字輸出

//給一個數的正整數,要求; //(1)求出他是幾位數? #include <stdio.h> int Count(int n) { int sum=0; while(n!=0) { n/=10; sum++; } return sum; }

python實現將字串轉化為數字輸出

    給定一個字串,可能包含空格、字母等轉化為數字,或者逆序輸出數字     下面是具體實現: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:將字串轉化為數字 ''' def trans_s

給定任意正整數數字,求其位數順序輸出各位數字

{int i;if (n<=0){printf("NULL");}else if (n>0) {for ( i=1;(n/10)!=0;i++){n=n/10;           }return i;}}int main(){printf("%d\n",Several_digits(0));pr

輸出整數位數順序輸出整數各位數字輸出整數各位數字

一、輸出整數的位數  運用“去尾法”獲取整數n的位數。“去尾法”是將整數n/10後重新賦值給n,可將整數n的最後一位數去掉。每次去掉一位,計數器+1,直到整數n被賦值為0時,計數器停止計數,此時計數器的數字為整數n的位數。考慮當整數n取0時,運用do-while迴圈語句可以進

給出一個不多於5位的整數,要求 1求出它是幾位數 2分別輸出每一位數字 3輸出各位數字,例如原數為321,應輸出123。

撰寫人——軟工二班——陳喜平 題目描述 給出一個不多於5位的整數,要求 1、求出它是幾位數 2、分別輸出每一位數字 3、按逆序輸出各位數字,例如原數為321,應輸出123。 將下面的程式填寫完整。 #include <stdio.h> int main() { i

AMNO.6題目描述 給出一個不多於5位的整數,要求 1求出它是幾位數 2分別輸出每一位數字 3輸出各位數字,例如原數為321,應輸出123 輸入 一個不大於5位的數字 輸出

題目描述 給出一個不多於5位的整數,要求 1、求出它是幾位數 2、分別輸出每一位數字 3、按逆序輸出各位數字,例如原數為321,應輸出123 輸入 一個不大於5位的數字 輸出 三行 第一行 位數 第二行 用空格分開的每個數字,注意最後一個數字後沒有空格 第三行 按逆

輸入一個不多於5位的正整數。1求出它是幾位數;2分別輸出每一位數字;3輸出各位數字

#include <stdio.h> #include <stdlib.h> int main() { int a[5],n,i=0; int num=0; printf("請輸入一個數:"); scanf("%d",&n);

給出一個不多於5位的整數,要求 1求出它是幾位數 2分別輸出每一位數字 3輸出各位數字,例如原數為321,應輸出123

#include <stdio.h> int main() { int n,i,a;   int number;      scanf("%d",&n);     number=n;      if (n<10) {                     //用if語句判斷這個整數

【c語言】給一個不多於5位的正整數,要求: 1求出它是幾位數 2分別輸出每一位數字 3輸出各位數字

// 給一個不多於5位的正整數,要求: // 1、求出它是幾位數 // 2、分別輸出每一位數字 // 3、按逆序輸出各位數字 #include <stdio.h> #include <math.h> int main() { int a,b,c

判斷一個正整數位數輸出按正輸出

 #if 0 //判斷一個數字有幾位數#include <stdio.h>int GetFigure(int n){ int flg=0; do{  n /= 10;  flg++; }while

(C語言)順序輸出整數的每一位並列印整數位數

問題描述:輸入一個整數,順序逆序輸出輸出整數的每一位,並輸出整數的位數。 實現:本程式碼用的都是最基本的C語言知識,適合初學者 #include<stdio.h> int main() { int count = 0; int a,i; int temp; print

習題 4.9 給一個不多於5位的正整數,要求:1. 求出它是幾位數;2. 分別輸出每一位數字;3. 按輸出各位數字,例如原數為321,應輸出123。

C程式設計 (第四版) 譚浩強 習題4.9 個人設計 習題 4.9 給一個不多於5位的正整數,要求: 1. 求出它是幾位數; 2. 分別輸出每一位數字; 3. 按逆序輸出各位數字,例如原數為321,應輸出123。 程式碼塊:

給一個不多於5位的正整數,要求: (1)求出它是幾位數 (2)分別輸出每一位數字 (3)按輸出各位數字,例如原數為321,應輸出123

4.9給一個不多於5位的正整數,要求: (1)求出它是幾位數 (2)分別輸出每一位數字 (3)按逆序輸出各位數字,例如原數為321,應輸出123 程式碼: #include “stdio.h” #include “math.h” int count(int n)

輸入一個不多於5位的正整數,判斷它是幾位數,並輸出各位數字

挺簡單的一個東西,對於剛開始學習的我 還是要好好學一下 import java.util.Scanner; class Test42  {public static void main(String[] args) {int sum = 0;Scanner input =

給定一個正整數,求其位數以及正輸出

給定一個正整數,求其位數以及正序逆序輸出 #include<stdio.h> int Count(int n)//求正整數的位數 { int tmp=0; do { n=n/10; tmp++; }while(n!=0); return tmp; } void PrintReve

給出不多於5位的正整數,求出它是幾位數,分別輸出每一位按輸出每一位數字

給出不多於5位的正整數,要求: 1,求出它是幾位數 2,分別輸出每一位數 3,按逆序輸出每一位數字,例如原數為321,應輸出123. 第一種方法: (1)求一個數是幾位數,有一種方法是: if (x > 9999) { place = 5; printf("這是一個五位數\n");