這樣運行成功,輸入錯誤,錯在哪里?
#include <stdio.h>
int main()
{
? ? int m, n;
? ? for(m=2; m<=50; m++)
? ? {
for(n=2; n<m; n++)
? ? ? ?
{
? ? ? ? if(m%n==0 ,m == n)? ?//n循環(huán)結(jié)束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d? ", m);
}
}
return 0;? ??
}
#include <stdio.h>
int main()
{
? ? int m, n;
? ? for(m=2; m<=50; m++)
? ? {
for(n=2; n<m; n++)
? ? ? ?
{
? ? ? ? if(m%n==0 ,m == n)? ?//n循環(huán)結(jié)束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d? ", m);
}
}
return 0;? ??
}
2019-08-19
舉報
2019-08-22
這個我我試過了,匝一想是可行的,后來我看了下發(fā)現(xiàn)問題? if里的等式是不成立的?m==n?是不可能的,因為在上面for? 你已經(jīng)定了?n<m? 所以是不可能出現(xiàn)?n==m的情況的。所以你運行成功輸出錯誤。??
那么把上面的?n<m? 換成n<=m?可行嗎?? ?會輸出東西,但是不是我們想要的素數(shù)。? 你會發(fā)現(xiàn)? 輸出的結(jié)果是? 2 3 4 5 6 7 。。。。? ?? if(m%n==0 ,m == n)??因為每一個都可以被自身整除m%n==0? ??并且都可以成立 n=m 。
所以這樣寫還是行不通的。
2019-08-19
直接在下面加一個if(m=n)判斷就可以了
2019-08-19
先不提正確結(jié)果怎么出來,但是if(m%n==0 ,m == n)這是什么東西?