用隨機函式產生互不相同的兩位整數,存放到一維陣列中 並輸出其中的素數

時間 2021-07-01 02:02:51

1樓:wonder想知道

有一點瑕疵,生成兩位數的地方有點錯誤,判斷有無重複數的地方也有點錯誤,而且可以進行簡化。修改了的地方我做了注釋。(貼上過來時出錯了,我重新貼上了下)

#include

#include

#include

#include

using namespace std;

void main()

cout<

} 執行結果:

所產生的10個互不相同的二位隨機整數為:

40 54 89 65 56 22 63 94 17 59其中的素數為: 89 17 59

請按任意鍵繼續. . .

2樓:匿名使用者

#include

#include

#include

#include

//大致沒有問題了 不過檢查有無相同數字的演算法有問題,這樣不能就消除重複數字,知識說機率減少很多

void main() }

for(n=0;n<10;n++) }

} cout<<"所產生的10個互不相同的二位隨機整數為: "<(int)sqrt(a[n]))

cout<

} cout<

c++用隨機函式產生10個互不相同的兩位整數存放到一維陣列中,並輸出其中的素數。

3樓:

j的起始值應該從2開始

#include

#include

#include

using namespace std;

void prime(int a[10]);

void main()

if(t==0)

break;

}cout<}

cout<<"]\n"<<"其中的素數有:";

prime(a);

}void prime(int a[10])if(t==0)

}cout<}

4樓:

prime函式中t變理的置0位置不合理,如果第乙個數不是素數,之後的都不會輸出,第乙個是素數時也只輸出了第乙個,之後的由於t不再是1而無法輸出,調整一下位置:

void prime(int a[10])if(t==1)

cout<

}cout<

}//至於一維陣列沒完全輸出就停止的情況不明白了,從程式邏輯上沒看到什麼明顯的問題

5樓:匿名使用者

每次在for(i=……)迴圈後,應該重新設定t,否則只要第乙個不是素數,你的素數計算就都沒有輸出了

6樓:匿名使用者

程式很簡答,但是lz的**風格實在是。。。

用c語言程式設計,從鍵盤上輸入10個整數存放到一維陣列中,輸出其中最大的數及其對應的陣列下標值

7樓:陳開武

解題思路:先鍵盤輸入10個整數,假設陣列的第1個是最大數max,同時設定最大值下標為0,接著for迴圈依次判斷其是否大於最大數,如果大於替換掉最大值,並更新最大值下標,最後輸出最大數和陣列下標。

參考**:

#include

int main()

//假設陣列的第1個是最大數max,同時設定最大值下標為0

max=a[0];

maxi=0;

//for迴圈依次判斷其是否大於最大數,如果大於替換掉最大值,並更新最大值下標

for(i=1;i<10;i++)

}//輸出最大數和陣列下標

printf("最大數為:%d,陣列下標為:%d",max,maxi);

return 0;

}程式執行結果如下:

參考資料:

for迴圈遍歷求陣列中的最大值是最常用的方法,但還有一種方法就是迴圈鍊表的遍歷;

首先需要建立資料域和指標域,回到mian函式中,建立三個節點,然後用頭節點申請空間,再輸入資料到頭節點,最後用while語句,進行遍歷鍊表。如下是迴圈鍊表遍歷的例項:

void show(list *p) //遍歷,迴圈鍊表的遍歷最好用do while語句 ,因為頭節點就有值

while(temp!=p);

printf("\n");}

8樓:非常可愛

#include"stdio.h"

//從鍵盤輸入10個數存入一維陣列,求這10個數中的最大值和最小值並輸出

intmain()

max=min=num[0];

for(i=1;i<10;i++)

printf("最大為:%f\n最小為:%f\n",max,min);

return0;

}擴充套件資料從鍵盤向一維陣列輸入10個實數,並且計算最大值,最小值和平均值#include

#include

intmain()

for(i=0;i<10;i++)

for(i=0;i<10;i++)

max=min=array[0];

for(i=0;i<10;i++)

if(array[i]

}printf(「最大值為=%f\n」,max);

printf(「最小值為=%f\n」,min);

}system(「pause」);

return0;}

9樓:匿名使用者

思路:先鍵盤輸入乙個數賦值給陣列的第乙個數,並且賦值給最大數max,同時設定最大值下標為0,接著for迴圈依次賦值給陣列相應位置並判斷其是否大於最大數,如果大於替換掉最大值,並更新最大值下標,最後輸出最大數和最大數下標。

參考**:

#include "stdio.h"

int main()

} printf("最大數為:%d,最大數下標為:%d",max,maxi);

return 0;}/*

執行結果:(例如求5的階乘)

1 2 5 3 4 6 7 9 8 0

最大數為:9,最大數下標為:7*/

10樓:匿名使用者

#include

int main()

;for(i=0;i<10;i++)

}printf("輸入的最大的數是:%d,對應下標是:%d\n",max,index);

return 0;}

11樓:爭議什麼

#include

void main()

}printf("最大的數為:%d,所在的下標為:%d\n",max,k);}

vb試題用隨機函式產生 10個兩位數的整數放在陣列a中並輸出,用隨機函式產生10個一位數的整數放入數

12樓:匿名使用者

新建一bai工程,在窗體上拖入一ducommand控制項。然後進zhi入**區

dao,刪除所有**後,粘內貼以下**即容可。

option explicit

private sub command1_click()dim a(9) as integer, b(9) as integer, c(9) as integer

dim i as integer

randomize

clsprint "陣列a", "陣列b", "陣列c"

for i = 0 to 9

a(i) = rnd() * 9 + 10 '產生隨機兩位整數b(i) = rnd() * 9      '產生隨機一位整數c(i) = a(i) + b(i)    '將對應的隨機數相加print a(i), b(i), c(i) '結果輸出到窗體上next i

end sub

執行效果如下圖所示:

vb利用隨機函式產生10個兩位數素數,存到陣列a中,要求陣列元素互不相同,最後按公升序排序輸出

13樓:匿名使用者

dim a(10), x as integerdim str as string = ""

dim di as boolean = truedim n as integer

for i = 1 to 10

dodo

n = int(rnd() * 1000 + 10)loop until issushu(n)if i > 1 then

for x = 1 to i - 1

if a(x) = n then

msgbox(str & " 最新 " & n)di = false

end if

next

end if

loop until di = true

a(i) = n

str = str & a(i) & " "

randomize(10)

next

for i = 1 to 10

for j = 1 to 10 - i

if a(j) > a(j + 1) thenx = a(j + 1)

a(j + 1) = a(j)

a(j) = x

end if

next j

next i

for i = 1 to 10

str = str & a(i) & " "

next

textbox6.text = str

用vb編寫利用隨機函式產生10 99之間(包括10和

dim n m,a 19 max max 0 for n 0 to 19 a n int rnd 90 10 生成20個10 99的隨機數 next n for n 0 to 18 for m n 1 to 19 if a n a m then swap a n a m 排序從小到大end if n...

c語言使用隨機函式rand產生1099的互不相

你好!你的 就沒有輸出部分呀 輸出部分新增了,你看看吧 include stdlib.h include stdio.h include time.h void main int n a 50 i,j,t srand time null for i 0 i 50 i a i rand 90 10 f...

excel隨機函式rand怎麼用

步驟如下 1.選擇單元格,並輸入 rand 2.就可以看到單元格出現隨機數了。3.按f9可重新生產隨機數。隨機數字。1 生成隨機數比較簡單,rand 即可生成0 rand max之間的隨機數 define rand max 0x7fffu 2 如果要是整數,就用 int rand 10 表示0至9的...