int prime(int x)你的函式執行後,如果是素數,返回 1,否則返回 0;if(b==0) 這個語句寫反了,b=0就不是素數啦;你的int prime(int x)函數里也是錯的,if語句不能跳出迴圈,所以返回的 t就是就是最後一次迴圈的值。#include<iostream>using namespace std;int prime(int x){ int n; for(n=2;n<x/2;n++) { if(x%n==0) return 0; //只要有一個因子就不是素數,沒必要迴圈下去,直接退出 } return 1; } int main(){ int a,b; cout<<"please input 1 number:"; cin>>a; if(a<=1) cout<<"輸入有誤"; else { b=prime(a); { if(b==1) //這裡的值要與函式的返回值匹配 cout<<a<<"是素數"<<endl; else cout<<a<<"bu是素數"<<endl; } } return 0;}
int prime(int x)你的函式執行後,如果是素數,返回 1,否則返回 0;if(b==0) 這個語句寫反了,b=0就不是素數啦;你的int prime(int x)函數里也是錯的,if語句不能跳出迴圈,所以返回的 t就是就是最後一次迴圈的值。#include<iostream>using namespace std;int prime(int x){ int n; for(n=2;n<x/2;n++) { if(x%n==0) return 0; //只要有一個因子就不是素數,沒必要迴圈下去,直接退出 } return 1; } int main(){ int a,b; cout<<"please input 1 number:"; cin>>a; if(a<=1) cout<<"輸入有誤"; else { b=prime(a); { if(b==1) //這裡的值要與函式的返回值匹配 cout<<a<<"是素數"<<endl; else cout<<a<<"bu是素數"<<endl; } } return 0;}