我試圖為每種類型的數字打印它自己的行,但是當我運行代碼時它不起作用,我已經單獨檢查了每個函數並且每個函數都運行良好。
我從用戶那裡得到兩個數字,我的目標是打印出兩個數字之間的每個數字,包括它們。
void main(void){
int a, b;
printf("\n Hello, how are you? Please enter the two numbers: \n");
scanf("%d %d", &a,&b);
printf("\n isPrime numbers: \n");
for(a; a<=b; a++){
if(isPrime(a) == 1){
printf("%d, ", a);
}
}
printf("\n isStrong numbers: \n");
for(a; a<=b; a++){
if(isStrong(a) == 1){
printf("%d, ", a);
}
}
printf("\n isPalindrome numbers: \n");
for(a; a<=b; a++){
if(isPalindrome(a) == 1){
printf("%d, ", a);
}
}
printf("\n isArmostrong numbers: \n");
for(a; a<=b; a++){
if(isArmstrong(a) == 1){
printf("%d, ", a);
}
}
}
此代碼僅打印出素數的第一個 for 循環。
Hello, how are you? Please enter the two numbers:
1 100
isPrime numbers:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97,
isStrong numbers:
isPalindrome numbers:
isArmostrong numbers:
在第一個 for 循環之後
for(a; a<=b; a++){
由於在循環中增加變量 a,變量 a 變得大於變量 b。因此,以下 for 循環中的條件評估為 false。
例如,您可以在 for 循環中引入局部變量
for( int i = a; i <= b; i++){
if(isPrime(i) == 1){
printf("%d, ", i);
}
}
請注意,根據 C 標準,沒有參數的函數 main 應聲明為
int main( void )
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句