Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言程序设计;";命令行参数,并查找所有参数的最小值_C - Fatal编程技术网

C语言程序设计;";命令行参数,并查找所有参数的最小值

C语言程序设计;";命令行参数,并查找所有参数的最小值,c,C,我有一个项目,我正在为我的班级工作,我的老师没有很好地解释这些。我真的需要帮助,因为我真的不知道该怎么做 赋值说明程序需要“从键盘读取n个整数,其中n应作为命令行参数给出。” 应该是这样的 ./a.out 3 20 30 10 The smallest one is 10. 其中3为n,20、30和10均由用户输入,然后程序将找到输入值的最小值 另外,我的程序需要“检查命令行参数的数量和n的值是否正确。如果不正确,您应该提供错误信息,如下例所示” 他还给了我们这个“提示:您可以使用intato

我有一个项目,我正在为我的班级工作,我的老师没有很好地解释这些。我真的需要帮助,因为我真的不知道该怎么做

赋值说明程序需要“从键盘读取n个整数,其中n应作为命令行参数给出。”

应该是这样的

./a.out 3
20 30 10
The smallest one is 10.
其中3为n,20、30和10均由用户输入,然后程序将找到输入值的最小值

另外,我的程序需要“检查命令行参数的数量和n的值是否正确。如果不正确,您应该提供错误信息,如下例所示”

他还给了我们这个“提示:您可以使用
intatoi(char*)
函数将字符串值转换为整数 价值观。”

下面是我到目前为止得到的结果,但我不知道如何将命令行参数与n关联,反之亦然。我很困惑,真的需要一些帮助

#include <stdio.h>

int main(int argc, char *argv[])
{
    int num1, num2, min, max;

    if (argc == 2) {
        scanf("%d %d", &num1, &num2);
        if(num1>num2)
            max=num1, min=num2;
        if(num2>num1)
            max=num2, min=num1;

        printf("The smaller one is %d \n", min);
    }
}
#包括
int main(int argc,char*argv[])
{
整数num1,num2,最小值,最大值;
如果(argc==2){
scanf(“%d%d”、&num1、&num2);
如果(num1>num2)
最大值=num1,最小值=num2;
如果(num2>num1)
最大值=num2,最小值=num1;
printf(“较小的是%d\n”,最小值);
}
}
在此
argv[0]
中表示程序名和
argv[1]
将包含
3
。但是
argv[1]
是一个字符串,因此使用
atoi
将其转换为
整数
,并将其存储在
n

那是你老师给你的暗示

现在,当您获得
n
时,您可以在代码中使用它来获取
n
输入的数量

在此
argv[0]
中表示程序名和
argv[1]
将包含
3
。但是
argv[1]
是一个字符串,因此使用
atoi
将其转换为
整数
,并将其存储在
n

那是你老师给你的暗示


现在,当您获得
n
时,现在您可以在代码中使用它来获取
n
输入数。

根据您的要求,这里有一个代码

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{

int minimum;
if(argc != 2 )
{
    printf("Please input the number of integers as ./a.out number\n");
    return 1;
}
printf("enter the %d number", atoi(argv[1]));
int arr[atoi(argv[1])];
for(int i = 0; i< atoi(argv[1]); i++)
{
    scanf("%d",&arr[i]);
}

 minimum = arr[0];

    for ( int c = 1 ; c < atoi(argv[1]) ; c++ )
    {
        if ( arr[c] < minimum )
        {
           minimum = arr[c];

        }
    }
 printf("Minimum element is = %d\n",minimum);
}
#包括
#包括
int main(int argc,char*argv[])
{
最小整数;
如果(argc!=2)
{
printf(“请将整数的数量输入为。/a.out number\n”);
返回1;
}
printf(“输入%d个数字”,atoi(argv[1]);
int arr[atoi(argv[1]);
对于(inti=0;i
  • 希望这对你有帮助

    • 根据您的要求,这里有一个代码

      #include <stdio.h>
      #include <stdlib.h>
      
      int main(int argc, char *argv[])
      {
      
      int minimum;
      if(argc != 2 )
      {
          printf("Please input the number of integers as ./a.out number\n");
          return 1;
      }
      printf("enter the %d number", atoi(argv[1]));
      int arr[atoi(argv[1])];
      for(int i = 0; i< atoi(argv[1]); i++)
      {
          scanf("%d",&arr[i]);
      }
      
       minimum = arr[0];
      
          for ( int c = 1 ; c < atoi(argv[1]) ; c++ )
          {
              if ( arr[c] < minimum )
              {
                 minimum = arr[c];
      
              }
          }
       printf("Minimum element is = %d\n",minimum);
      }
      
      #包括
      #包括
      int main(int argc,char*argv[])
      {
      最小整数;
      如果(argc!=2)
      {
      printf(“请将整数的数量输入为。/a.out number\n”);
      返回1;
      }
      printf(“输入%d个数字”,atoi(argv[1]);
      int arr[atoi(argv[1]);
      对于(inti=0;i
      • 希望这对你有帮助

      您应该知道argc和argvPlease格式您的代码max=num1,min=num2;//你对这句话和下面的那句话有把握吗。此外,int main中缺少return。您应该知道argc和argvPlease格式的代码max=num1,min=num2;//你对这句话和下面的那句话有把握吗。在int main中也缺少return
      #include <stdio.h>
      #include <stdlib.h>
      
      int main(int argc, char *argv[])
      {
      
      int minimum;
      if(argc != 2 )
      {
          printf("Please input the number of integers as ./a.out number\n");
          return 1;
      }
      printf("enter the %d number", atoi(argv[1]));
      int arr[atoi(argv[1])];
      for(int i = 0; i< atoi(argv[1]); i++)
      {
          scanf("%d",&arr[i]);
      }
      
       minimum = arr[0];
      
          for ( int c = 1 ; c < atoi(argv[1]) ; c++ )
          {
              if ( arr[c] < minimum )
              {
                 minimum = arr[c];
      
              }
          }
       printf("Minimum element is = %d\n",minimum);
      }