如何在切换大小写功能中使用数组?

时间:2019-03-30 03:35:13

标签: c

我要求用户为数组A1提供10个整数值,然后将这些值打印到控制台屏幕上。我对另一个数组B1做/做相同的事情。然后,我打印选项列表,例如选项1:“按升序排列A1值”。由于这是学校的作业,因此我必须使用switch-case语句,但是在再次访问具有相同值的数组时遇到了麻烦,并且程序没有为我提供甚至按1的选项。

我试图在线理解一些代码,但是没有成功,这就是我到目前为止所获得的。

  int option;

        scanf("%d", &option);

        switch (option)
        {
            case '1':

                for( int i= 0; i<10; i++)
                {
                    for(int x = i +1; x<10; x++)
                    {
                        if (a[x]<a[i])
                        {
                            int temp = a[i];
                            a[i]= a[x];
                            a[x] = temp;
                        }
                    }
                {
                    printf("\n\n Ascending Order For A1: ");
                    for (int i = 0; i < 10; i++)
                    {
                        printf(" %d ", a[i]);

                    }
  
    

这与我的输出有多远<<< / p>   

请为A1输入10个值:2 3 4 5 9 8 7 6 4 8

为A1选择的10个值: 2 3 4 5 9 8 7 6 4 8

请为B2输入10个值:4 3 7 2 6 8 9 5 8 12

为B2选择的10个值: 4 3 7 2 6 8 9 5 8 12


  • 请选择以下选项之一:*

  • 1:按升序对A1值进行排序*

  • 2:将B1值按降序排序*
  • 3:计算A1和B1元素的总和*
  • 4:从A1的元素中减去B1的元素*
  • 5:终止程序(退出)*

1 <<<<<<<<<<<假定执行选项1,并且A1的输出值在升序中。

程序以退出代码0结束

1 个答案:

答案 0 :(得分:0)

您将输入存储在int值中,但是在您的情况下,您使用的是char,因此1(int)不等于1(char)就是原因case '1':未执行。 试试

case 1:

关于为什么不要求输入将输入1进行排序的原因,它可能在先前输入的缓冲区中有某些内容,如果没有其余代码,很难为您提供帮助部分。