1. 程式人生 > >演算法C++實現(有註釋):統計數字某位數的個數,用隨機函式產生100個[0,99]範圍內的隨機整數, 統計數字的個位上的數字分別為0,1,2,3,4,5,6,7,8,9的數的個數,並打印出來。

演算法C++實現(有註釋):統計數字某位數的個數,用隨機函式產生100個[0,99]範圍內的隨機整數, 統計數字的個位上的數字分別為0,1,2,3,4,5,6,7,8,9的數的個數,並打印出來。

#include<iostream>
#include<cstdlib>// #include <stdlib.h>  void srand( unsigned seed ); 
//功能: 設定rand()隨機序列種子。對於給定的種子seed, rand()會反覆產生特定的隨機序列。     
//srand(time(NULL));    for (i = 0; i < 10; i++)      printf("Random number #%d: %d\n", i, rand());

#include<ctime>//功能:函式轉換引數time為本地時間格式:day month date hours : minutes : seconds year\n\0        
//asctime(localtime(tp));                //用到了time函式,所以要有這個標頭檔案
const int MAX = 101;
using namespace std;

void input(int num[])
{
    int i;
    srand((unsigned)time(NULL));    //srand()設定rand()隨機序列種子。對於給定的種子seed, rand()會反覆產生特定的隨機序列。     
                        //srand( time(NULL) );    for( i = 0; i < 10; i++ )      printf( "Random number #%d: %d\n", i, rand() ); 
    for (i = 1; i < MAX; i++)
        num[i] = rand() % 100;        //rand()是產生的隨機數,rand()%100是將100,101這兩個數字的個位數賦給num[i]
}
void output(int num[])
{
    int i;
    for (i = 1; i < MAX; i++)
    {
        cout << num[i]<<" ";        //輸出隨機的100個數字
        if (i % 10 == 0)
            cout << endl;
    }
    cout << endl;
}
void cal_num(int num[], int count[])
{
    int i,subs;
    for (i = 1; i < MAX; i++)
    {
        subs = num[i] % 10;   //分離數字的個位,把分理出的數字賦給subs--->陣列下標。
                              //陣列下標處對應的值就是數字的個位在100個數字中總共出現的次數
        count[subs]++;          //把下標subs對應的陣列元素加 1
    }
}
int main()
{
    int num[MAX];
    int i, count[10];

    memset(count, 0, 10 * sizeof(int));        //中間的“0”是賦給count的值,count為指標或者是陣列,10*sizeof(int)是count陣列的長度
    input(num);
    cout << "100 num:/n";
    output(num);

    cal_num(num, count);
    for (i = 0; i < 10; i++)
        cout<< i << " count= " << count[i] << endl;
    system("pause");
    return 0;
}

相關推薦

快速判斷一個數能否被123456789、10、11、12、13、17、19、23等整除的規律

快速判斷一個數能否被1、2、3、4、5、6、7、8、9、10、11、12、13、17、19、23等整除的規律總結 (1) 1與0的特性: 1是任何整數的約數,即對於任何整數a,總有1|a.        &nb

能被23456789整除的的特徵我還是小白

性質1:如果數a、b都能被c整除,那麼它們的和(a+b)或差(a-b)也能被c整除。 性質2:幾個數相乘,如果其中有一個因數能被某一個數整除,那麼它們的積也能被這個數整除。 能被2整除的數,個位上的數能被2整除(偶數都能被2整除),那麼這個數能被2整除 能被3整除的數,各個數位上的數字和

【思六方武學】思六方武學 思六方武學體系 思六方指的是1看2聽3思4動5防6攻人之規律五行相生相剋陰陽變化之原理一分化六六合化一之奧妙。 思六方融合世界不同武學易經精華技擊理念。以武學、

思六方武學 思六方武學 思六方武學體系 思六方指的是:1看2聽3思4動5防6攻,天,地,人之規律,五行相生相剋,陰陽變化之原理,一分化六,六合化一之奧妙。 思六方融合世界不同武學,易經精華,技擊理念。以武學、...

陣列其它常用函式1.range()2.array_unique()3.array_fill()4.array_rand()5. shuffle()6.array_merge($arr1, $arr2

//1.range() //生成指定範圍與步長的陣列 $arr = range(1,20,2); echo '<pre>'.var_export($arr,true).'<br>'; $arr1 = range('a','s',2); echo '<pre>'

Atitit 支出分類表 會計科目(1)資產(2)負債(3)資本(4)收益(5)費用(成本) 資產分類表 attilax總結

bar font 參加 總結 ear 創始人 cti 工商管理 金融 Atitit 支出分類表 會計科目(1)資產(2)負債(3)資本(4)收益(5)費用(成本) 資產分類表 attilax總結 會計科目對一般不懂會計的管理人員,常會有莫測高深的感覺,因此不僅不

1004: 12345...

out des pro != 目的 scrip true int 學生 1004: 1、2、3、4、5... Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 1801 Solved: 503[Submit][Status]

Google面試題線程1234同步寫入據……C++11實現

blog image more http auto 最終 進行 .get fall 最近在學習多線程,題目源自 MoreWindows先生的 《秒殺多線程第一篇》(http://blog.csdn.net/morewindows/article/details/739274

AVL樹插入刪除演算法詳解 -- C++語言實現

一:AVL樹介紹 AVL樹本質上還是一棵二叉搜尋樹,它的特點是: 1.本身首先是一棵二叉搜尋樹。 2.帶有平衡條件:每個結點的左右子樹的高度之差的絕對值(平衡因子)最多為1。在本文中用分別用-1,0,1定義左邊樹高,等高,右邊樹高。平衡因子用m_bf表示。 也就是說,AV

C語言——例項001 1234數字能組成多少互不相同且無重複數字的三位數?都是多少?

/* Name: Copyright: Author: Date: 27/07/17 08:43 Description: 【程式1】題目:有1、2、3、4個數字,能組成多少個互

執行緒1234執行緒1的功能就是輸出1執行緒2的功能就是輸出2以此類推......... 現在檔案A B C D,初始都現要讓四檔案呈如下格式A1 2 3 4 1 2..

具體題目如下: 有四個執行緒1、2、3、4, 執行緒1的功能就是輸出1,執行緒2的功能就是輸出2, 以此類推.........  現在有四個檔案A B C D, 初始都為空。現要讓四個檔案呈如下格式: A:1 2 3 4 1 2.... B:2 3 4 1 2 3....

c語言1234數字能組成多少互不相同且無重複數字的三位數出來

有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?打印出來?解:程式:#include<stdio.h>int main(){int i, j, k;int count = 

基礎演算法1—— 題目1234數字能組成多少互不相同且無重複數字的四位數

題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的四位數? 分析題目,要求將1,2,3,4四個數字成各個位數不相同且無重複的四位數,可以寫四個for迴圈,每一個迴圈代表一個位數上的數字,即1——4,再定義一個int型的變數count,初始值為

任意輸入一串字符串求該字符串中字符的出現次數出來如輸入“bcaba”輸出b 2 c 1 a 2

str ner ray view 方法 打印 contain 返回 play 前言:其實我還是有點不懂,有點郁悶了,算了直接把代碼放上去把。 方法一: Scanner input=new Scanner(System.in); System.out.pr

1234數字能組成多少互不相同且無重復數字的三位數?都是多少?

無重復 個數 nbsp 宋體 spa 個數字 bsp != 重復數 .程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去掉不滿足條件的排列。 2.程序源代碼: ‘‘‘ for i in range(1,5): for j in range

java經典題丨1234數字能組成多少互不相同且無重複數字的三位數?都是多少?

組合成三個互不重複的數字,不難理解,其他的好辦,但是互不重複,就有點難度了,這個是解決本題思路的重點,程式碼如下: public static void main(String[] args) { int x=0,y=0,z=0,count=0; for(x=1;x<=4;

122345這六數字列印演算法

1、2、2、3、4、5這六個數字,用java寫一個main函式,打印出所有不同的排列, 如:512234、412345等.  要求:”4”不能在第三位,”3”與”5”不能相連。       private static boolean isVali

題目1234數字能組成多少互不相同且無重複數字的四位數?都是多少?

#include<stdio.h> int main() { int i,j,k,t=0,l; for(i=1;i<5;i++) for(j=1;j<5;j++) for(k=1;k<5;k++) for(l=1;l<5;l+

題目1234數字能組成多少互不相同且無重複數字的三位數?都是多少?

for迴圈的巢狀輸出即可,不要想太多。 public class Test11 { public static void main(String[] args) { int i,j,k,sum = 0; System.out.print("符合條件的數有:"

Python——1234數字能組成多少互不相同且無重複數字的三位數?都是多少?

用python做一個簡單的數字題,希望多初學者帶來一點點幫助 第一種方式: 1 for x in range(1,5): 2 for y in range(1,5): 3 for z in range(1,5): 4 if (x!=y) and (y