【原始碼】將一個整數的每位數分解並按逆序放入一個數組中(用遞迴演算法)(C語言實現)
幫朋友做的,好像是一個面試題。如果僅僅是考察遞迴的話,應該是夠了,程式的健壯性和通用性都很一般的說……
#include <stdio.h> #include <stdlib.h> int count = 0; void myRevert(int n, int a[]) { if(n < 10) { a[count++] = n; } else { a[count++] = n % 10; myRevert(n / 10, a); } } int main() { int n; int a[1000]; scanf("%d", &n); myRevert(n, a); for(int j = 0; j < count; j++) { printf("%d\n", a[j]); } system("pause"); return 0; }
相關推薦
【原始碼】將一個整數的每位數分解並按逆序放入一個數組中(用遞迴演算法)(C語言實現)
幫朋友做的,好像是一個面試題。如果僅僅是考察遞迴的話,應該是夠了,程式的健壯性和通用性都很一般的說…… #include <stdio.h> #include <stdlib.h&g
【演算法】二叉樹的遞迴遍歷C語言實現
二叉樹是一種極其重要的資料結構,以下是二叉樹的結構定義 建立 和遞迴先序 中序 後序 遍歷的程式碼. #include<stdio.h> #include<stdlib.h> typedef char ElemType; /*二叉樹節點資料
【Linux】將一個命令的輸出傳送給另外一個命令
一個命令的輸出可以作為下一個命令的輸入,下一個命令的輸出又會傳遞給下一個命令 我們通常使用管道和子shell的方法來組合多個命令的輸出 格式 $ cmd1 |cmd2 | cmd3 這裡的3個組合命令,cmd1的輸出傳遞給cmd2,cmd2的輸出傳遞給cmd3,最終出現在顯示器或者檔案中 示例 1.組合命令
PTA 陣列迴圈左移 (20 分) 本題要求實現一個對陣列進行迴圈左移的簡單函式:一個數組a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移m(≥0)個位置,即將a中的
陣列迴圈左移 (20 分) 本題要求實現一個對陣列進行迴圈左移的簡單函式:一個數組a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移m(≥0)個位置,即將a中的資料由(a0a1⋯an−1)變換為(am⋯an−
c#如何將一個整數轉換二進位制,並進行位運算
進行位運算,是不需要轉化成二進位制的。 CPU在運算的時候,內部把所有資料都看成二進位制。Convert 看類名就知道,是提供一個轉換函式的。 位運算只能在 byte, char, short, us
給一個正整數n,求出位數。並按正序輸出,逆序輸出
求出位數通過讓給定的正整數n整除10,且每整除一次讓統計位數的變數count自增一,返回count得到位數。#include<stdio.h> int GetFigure(int n) { int count=0; do { count ++;
88. Merge Sorted Array【leetcode】演算法,java將兩個有序數組合併到一個數組中
88. Merge Sorted Array Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may as
定義一個含有30個整型元素的數組,按順序分別賦予從2開始的偶數;然後按順序每五個數求出一個平均值,放在另一個數組中並輸出
utf-8 http 效果圖 har ++ [] utf 下標 javascrip <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title><
S="S1 S2...Sn"是一個長度為N的字串,存放在一個數組中,程式設計將S改造之後輸出:
S="S1 S2…Sn"是一個長度為N的字串,存放在一個數組中,程式設計將S改造之後輸出: 將S的所有第偶數個字元按照其原來的下標從大到小的次序放在S的後半部分; 將S的所有第奇數個字元按照其原來的下標從小到大的次序放在S的前半部分; 例如:S=‘ABCDEFGHIJKL’
【演算法】刪除一個數組中為0的元素
題目描述: 給定一個一維陣列,將其中為0的元素刪除掉,非零元素的相對位置保持不變,最終目標陣列保留在原陣列中,並且目標陣列長度之外的元素全部置為0。 解題思路: (1)陣列非零元素往前移動,時
S="S1 S2...Sn"是一個長度為N的字串,存放在一個數組中,程式設計將S改造之後輸出:
S="S1 S2…Sn"是一個長度為N的字串,存放在一個數組中,程式設計將S改造之後輸出: 將S的所有第偶數個字元按照其原來的下標從大到小的次序放在S的後半部分; 將S的所有第奇數個字元按照其原來的下標從小到大的次序放在S的前半部分; 例如:S=‘ABCDEF
【資料結構】二叉樹的構建及遍歷(遞迴演算法)
題目描述: 編一個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立一個二叉樹(以指標方式儲存)。 例如如下的先序遍歷字串: ABC##DE#G##F### 其中“#”表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。 具體程式
【C語言】一個數組中只有兩個數字是出現一次,其他所有數字都出現了兩次。 找出這兩個數字,程式設計實現。
一看到這道題,我想到了之前學習過的異或。我們知道兩個相同的數字異或的結果是 0,因為在計算機中,異或運算是按照二進位制位來運算的,相同為 0 ,相異為 1。任何數與 0 異或都等於它自己。既然我們要找出來一組數中不同的兩個數字,也可以採用這種方法。 但是這次不是直接異或,
把一個數字的每一位儲存到一個數組中
int change2array(int64_t m, int num[]) { int length = 0, temp, k; while(m != 0) { num[length] = m%10; m /= 10; length++; } fo
【C語言】一個數組中只有兩個數字是出現一次,其他所有數字都出現了兩次。 找出這兩個數字。
要求:一個數組中只有兩個數字是出現一次,其他所有數字都出現了兩次。 找出這兩個數字,程式設計實現。程式設計實現。 程式碼如下 int find(int arr[],int len) { int i,j,count; for(i = 0;i
【C語言】簡單思路找一個數組中重複次數最多的數
#include <stdio.h> int main() { int a[1024]; int b[1024] = {0}; //初始化每個數出現一次 int i = 0;
【Python】求一個數組中的奇數的立方的和
問題 給出一個數字的陣列,找出其中的奇數,將他們各自的立方和相加,返回結果 思路 陣列 迴圈 判斷 求和 解決方法 sum求和,內部迭代判斷奇偶 def cube_odd(arr):
Linux-C基礎知識學習:C語言作業-將5個學生成績儲存在一個數組中,單獨實現一個計算平均成績的average函式, 在main函式中獲取該函式返回的平均值,並列印。
Linux基礎知識學習 C語言作業:將5個學生成績儲存在一個數組中,單獨實現一個計算平均成績的average函式, 在main函式中獲取該函式返回的平均值,並列印。 #include <s
【小紅書2017年筆試】求一個數組中平均數最大的子陣列
題目: * 給一個數組,裡邊有N個整數,找長度為K(0<K<N)且平均值最大的子陣列,並把這個最大值輸出來 輸入描述:* 6 (N的值)* 1 12 -5 -6 50 3 (含有N個整數的陣列)* 4 (K的值) 輸出描述: * 12.75 題目很簡單,時
將一個數組中的重複元素保留一個其他的清零(Java)
本題目比較簡單,但有小錯誤可能會犯,流程圖及程式碼如下: Created with Raphaël 2.1.0開始int[]a={}int i=0i<a.lengthint j=0j&l