我要求用户为数组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值进行排序*
1 <<<<<<<<<<<假定执行选项1,并且A1的输出值在升序中。
程序以退出代码0结束
答案 0 :(得分:0)
您将输入存储在int
值中,但是在您的情况下,您使用的是char
,因此1(int)
不等于1(char)
就是原因case '1':
未执行。
试试
case 1:
关于为什么不要求输入将输入1
进行排序的原因,它可能在先前输入的缓冲区中有某些内容,如果没有其余代码,很难为您提供帮助部分。