給定一個正整數,求其位數以及正序逆序輸出
給定一個正整數,求其位數以及正序逆序輸出
#include<stdio.h>
int Count(int n)//求正整數的位數
{
int tmp=0;
do
{
n=n/10;
tmp++;
}while(n!=0);
return tmp;
}
void PrintReverse(int n)//逆序輸出每個數字
{
do
{
printf("%d",n%10);
n=n/10;
}while(n!=0);
printf("\n");
}
void PrintOrder(int n)//正序輸出每個數字
{
int c= Count( n);
int power=1;
for(int i=0;i<c-1;i++)
{
power*=10;
}
do
{
printf("%d",n/power);
n=n%power;
power=power/10;
}while(n!=0);
printf("\n");
}
int main()
{
int x;
scanf("%d",&x);
printf("%d\n",Count(x));
PrintReverse( x);
PrintOrder(x);
return 0;
}
相關推薦
給定一個正整數,求其位數以及正序逆序輸出
給定一個正整數,求其位數以及正序逆序輸出 #include<stdio.h> int Count(int n)//求正整數的位數 { int tmp=0; do { n=n/10; tmp++; }while(n!=0); return tmp; } void PrintReve
給定任意正整數數字,求其位數並順序、逆序輸出各位數字
{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
【面試題】給多個無序正整數,求中位數
題目:給你很多很多正整數,但它們是無序的,找出它們的中位數。 最開始就想說使用快排,先將這些整數進行排序,然後找到中位數,但又想到可能不是面試官想要的答案,於是又採用了其他方法,最終也沒完全解決出來。 【經驗總結:當面試官問了一個演算法題後,如果想不到優化一點的方法,就先
SDUT 3503 有兩個正整數,求N!的K進制的位數
pos class 進制 amp code cpp ref clu lan 有兩個正整數,求N!的K進制的位數 題目鏈接:action=showproblem&problemid=3503">http://sdutacm.org/sdutoj/prob
給出不多於5位的正整數,求出它是幾位數,分別輸出每一位按逆序輸出每一位數字。
給出不多於5位的正整數,要求: 1,求出它是幾位數 2,分別輸出每一位數 3,按逆序輸出每一位數字,例如原數為321,應輸出123. 第一種方法: (1)求一個數是幾位數,有一種方法是: if (x > 9999) { place = 5; printf("這是一個五位數\n");
Java 輸入一個正整數,將其用中文打印出來
輸入一個正整數,將其用中文打印出來。使用java 實現 import java.util.Scanner; public static void main(String[] arge){
第三十九講專案4——輸入一個正整數,判斷其是否為一個迴文數
程式程式碼 #include <stdio.h> #include <stdlib.h> /* *csdn學院--2016級 *目的:讓程式碼見證成長(作為一個初學的菜鳥,如
輸入一個100以內的正整數,將其分解質因數後輸出
思路: 將一百以內的素數建成一個列表 輸入數後向陣列中查詢 如果不在陣列中,就從列表中最小的素數開始,找到能被該數整除得數 將得到的數進行步驟23,知道滿足條件一 import math prime=[] factor=[] def is_Prime(n): fo
大一上C語言期末複習:輸入一個正整數,將其分解為質因數,如90=2*3*3*5
//輸入一個正整數,將其分解為質因數,如90=2*3*3*5 #include <stdio.h> int main() { int n,i; while(scanf("%d",&n)) { if(n==1) { printf("n=
輸入幾個正整數,求怎麼組合這幾個正整數的值最大(快排+比較器)
//2 //12 123 //4 //7 13 4 246 //12312//7424613 import java.util.Scanner; public class Main {public static void main(String[] args) {Scan
給定一個數組,求其某個子區間,該區間和最大
#include<iostream> #include<vector> #include<iterator> #include<type_traits> #include<ctime> #include<ran
給定一個數字列表,返回其所有可能的排列。 注意事項 你可以假設沒有重複數字。
Lintcode 15 全排列給定一個數字列表,返回其所有可能的排列。 注意事項你可以假設沒有重複數字。思路:思路:n個數字額全排列等於將最後一個數字k插入前n-1個數的全排列中,這就是遞迴思想int型別的nums陣列作為輸入1.當只有一個數時輸出這個數的排列2.否則將這個n
要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。
題目描述: 本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。 輸入描述: 輸入在1行中依次給出A和B,中間以1空格分隔。 輸出描述: 在1行中依次輸出Q和R,中間以1空格分隔。 輸入例
輸入任意一整數,求所有位上的數字和並輸出。比如123,和為6,用for完成。
public static void main(String[] args) { System.out.println("請輸入一個正整數"); Scanner input = new Scanner(System.in); int sum = 0;
給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。
public class test{ public static void main(String[] args){ //最大為99999 fun(87666); } private static void fun(int n){ if(
給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字
//第一種方法: 對數取餘數 /* int a = 0, i = 0; printf("請輸入一個不多於5位的正整數:\n"); scanf("%d", &a); printf("逆序為:\n"); while (a
給定一個十進位制正整數N,求出從1開始,到N的所有整數,數字1出現的次數(java實現)
【程式設計之美】給定一個十進位制正整數N,求出從1開始,到N的所有整數,數字1出現的次數。 例如,N=2,則兩個數為1,2 。數字1出現的個數是1. 又如n = 20.則20個數中1出現的為:1,10,11,12,13,14,。。。19 共有12個。 設計一個演算法
題目:給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。
// Created by www.runoob.com on 15/11/9.// Copyright © 2015年 菜鳥教程. All rights reserved.//#include<stdio.h>int main(){long a,b,c,d,e,x; printf(
習題 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
1、 給出一個不多於5位的正整數,要求: (1) 求出它是幾位數; (2) 分別打印出每一位數字; (3) 按逆序打印出各位數字,例如原數為321,應輸出123. #include <stdio.h> int main()