看板 C_and_CPP 關於我們 聯絡資訊
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 希望得到的正確結果: 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) 有問題的code: (請善用置底文標色功能) // 判斷是否為質數.cpp : 定義主控台應用程式的進入點。 // #include "stdafx.h" #include "stdlib.h" int _tmain(int argc, _TCHAR* argv[]) { int finish; int test = 2; int number; printf("請輸入一個大於一的正整數~\n"); scanf_s("%d", &number); if(number % 1 !=0||number <= 1) printf("你輸的數字與條件不符\n"); else { while(number % test != 0&&number != 2&&number >= test) test = test + 1; if(test < number) printf("此數不是質數喔~~\n"); else printf("此數是質數喔!!\n"); } system("pause"); return 0; } 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.40.80
loveme00835:你所謂太大的數是多大? 03/02 22:17
VictorTom:小弟比較不懂, 要抓<=0直接寫就好了, 寫%1!=0的用意是?? 03/02 22:19
VictorTom:在32 bit int的環境, 輸入大於 2147483647 自然會錯誤:) 03/02 22:20
loveme00835:回樓上, 測試是否為奇數 03/02 22:21
loveme00835:看錯拍謝~"~ 03/02 22:22
loveme00835:不過我覺得用unsigned 自然可以解決很多問題 03/02 22:22
dendrobium:大家人都滿好的...這種只貼code的文... 03/02 22:24
VictorTom:他的問題寫在title啦XD 雖然嚴格來說也不完全符合規定XD 03/02 22:26
VictorTom:又只要>1正整數, 所以明明判斷<=1就夠了, 才覺得不懂@_@ 03/02 22:27
fireslayer:嗯我知道了用unsigned解決問題,下次會更注意格式謝謝 03/03 20:06