2017-10-13 7 views
0

私はうまく動作するプログラムを持っていますが、固定された整数を取り、代わりに固定の整数に戻って整数に戻すプログラムに変換する助けが必要ですscanfを介して入力され、そうする。ここでwhileユーザからの整数入力からのループカウントダウン

コード

#include <stdio.h> 
int main() 
{ 

int count = 10; 
while (count >= 1) 
{ 
    printf("%d \n", count); 
    count--; 
} 

printf("*****\n"); 


while (count <= 10) 
{ 
    printf("%d \n", count); 
    count++; 
} 
getchar(); 
return 0; 
} 
+0

のように見えるかもしれませんか? – haccks

+0

この状況でscanfを使用する方法、入力を保持する変数を置く場所などを調べるのに問題がありました。私は非常に経験がありません、ごめんなさい。 @ haccks –

答えて

1

単純変数と10の2つの回出交換し、ユーザー入力からその変数を移入です。

+0

私は確かに自分自身を台無しにしていたと思った。ありがとう! –

0

次の解決策を提案できます。プログラムは垂直方向ではなく水平方向に数値を出力します。

#include <stdio.h> 

int main(void) 
{ 
    while (1) 
    { 
     printf("Enter a number (0 - exit): "); 

     int n; 

     if (scanf("%d", &n) != 1 || (n == 0)) break; 

     int i = n; 

     do 
     { 
      printf("%d ", i); 
     } while (n < 0 ? i++ : i--); 

     i = 0; 

     while ((n < 0 ? i-- : i++) != n) printf("%d ", i); 

     putchar('\n'); 
    } 

    return 0; 
} 

その出力だから `scanf`を使用する際の問題は何

Enter a number (0 - exit): 10 
10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 
Enter a number (0 - exit): -10 
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 
Enter a number (0 - exit): 0 
関連する問題