根据用户输入创建函数

时间:2017-01-25 12:55:26

标签: c function

我的程序允许用户在文本文件中输入最多10个整数/字符。我正在使用:

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

将输入的char / int从ASCII转换为整数。

示例:

输入: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. 我是否需要将所有整数存储在数组中并使用指针指向数组中的值?
  3. 有关如何进行的任何想法?

1 个答案:

答案 0 :(得分:-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时,如果传递给它的数字小于设定的最小值,则该函数为更新最小数字的值,这样就可以获得用户输入的最小数量。

注意:这不是一个有效的程序,您必须将其嵌入代码中并根据需要进行更改。我无法做到,因为我不知道你是如何接受投入的。