2017-01-25 44 views
0

私のプログラムでは、ユーザーがに最大10個の整数/文字を入力することができます。。私は、使用しています:ユーザーの入力に応じて関数を作成する

  number = atoi(word); 
      printf("\nstring is \t %s\n", word); 
      printf("integer is \t %d\n", number); 

をASCIIから整数に入力された文字/ int型に変換します。

例:

入力:e出力:String is e, integer is 0

入力:10出力:String is 10, integer is 10

私は、ユーザの入力のすべてから最小の整数を表示する機能をしたいです。私は私に最小の整数を与えるために以下のコードをテストしましたが、これは関数内に含まれていませんです。毎回異なるユーザー入力数を考慮に入れた関数を作成することはできません。

次のコードは、私の最小の整数を返すために、正常に実行:

int minIndex = 0; 
    int minNumber = INT_MAX; 

    if (number <= minNumber) 
    { 
     minNumber = number; 
     minIndedx = i; 
    } 
if (minIndex > 0) 

    printf("min number is %d at position %d\n", minNumber, minIndex); 
else 
    printf("no numbers read in; hence: no minimum calculated.");` 
  1. はどのようにして、関数から上記のコードを呼び出すことができますか?
  2. すべての整数を配列に格納し、ポインタを使用して配列内の値をポイントする必要がありますか?

今後の進め方について教えてください。

答えて

-1

あなたがしなければならないことは、コードを関数に置き、その関数を呼び出すことだけです。

int minIndex = 0;   //Making Them Global Variables 
int minNumber = INT_MAX; //Making Them Global Variables 
int i = 0;     //Declaring And Initializing The Global 
          //Variable i to keep count of the position. 


number = atoi(word); 
printf("\nstring is \t %s\n", word); 
printf("integer is \t %d\n", number); 
min(number); //Calling function min and passing it value of number 


void min(int number){ 

    if (number <= minNumber){ 

     minNumber = number; 
     minIndedx = i; 
     } 

    if (minIndex > 0) 
    printf("min number is %d at position %d\n", minNumber, minIndex); 

    else 
    printf("no numbers read in; hence: no minimum calculated."); 

    i++; //Every time Incrementing i to update position. 
} 

実行ループでプログラムし、次にあなたが変数numberに保存されている別のユーザーの入力を持つ関数minを呼び出すたびに、関数は、渡された番号が、それは、設定された最小値よりも小さい場合最小数の値を更新します。これは、ユーザーの入力の最小数を取得する方法です。

注:これは有効なプログラムではなく、コードに埋め込んで必要に応じて変更する必要があります。どのように入力しているのかわからないので、私はそれを作ることができません。

+0

このコードを正しくフォーマットしてください。また、あなたのコードで 'i'の値はどこから来ますか? –

+0

@ squeamishossifrageはこれでいいですか? –

+0

@Olaf私はちょうどOPにそれをする方法を伝えるために作ったことを知っていますか? –

関連する問題