當輸入 1001 或大于它的值時,輸出為 0。
當數字不豐富時它應該給0,如果輸入的數字大于限制應該退出,已經嘗試使用goto退出。
#include <stdio.h>
void main()
{
int n;
printf("Enter the number\n");
scanf("%d", &n);
int i, sum = 0;
if (1 <= n <= 1000)
{
for (i = 2; i < n; i )
{
if (n % i == 0)
sum = sum i;
}
(sum > n) ? printf("1") : printf("0");
}
else
return;
}
uj5u.com熱心網友回復:
此 if 陳述句中的條件
if (1 <= n <= 1000)
相當于
if ( ( 1 <= n ) <= 1000)
子運算式的結果1 <= n 是0or 1。所以這個值在任何情況下都小于1000。
來自 C 標準(6.5.8 關系運算子)
6 如果指定的關系為真,則每個運算子 <(小于)、>(大于)、<=(小于或等于)和 >=(大于或等于)應產生 1,如果它是假的。結果的型別為 int。
你需要寫
if (1 <= n && n <= 1000)
使用邏輯 AND 運算子。
請注意,根據 C 標準,main沒有引數的函式應宣告為
int main( void )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/420760.html
標籤:
