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 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... 你好!你的 就沒有輸出部分呀 輸出部分新增了,你看看吧 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... 步驟如下 1.選擇單元格,並輸入 rand 2.就可以看到單元格出現隨機數了。3.按f9可重新生產隨機數。隨機數字。1 生成隨機數比較簡單,rand 即可生成0 rand max之間的隨機數 define rand max 0x7fffu 2 如果要是整數,就用 int rand 10 表示0至9的...用vb編寫利用隨機函式產生10 99之間(包括10和
c語言使用隨機函式rand產生1099的互不相
excel隨機函式rand怎麼用