首页 > 电脑

求解这串代码可以运行,输入10个整数,但为什么运行结果却不是对的,谢谢

更新时间2020-12-24 15:59:30

#include <stdio.h>
int main()
{   
    int a,b,c,d,e,f,g,h,i,j,x,m,n,q;
    int arr[10]={a,b,c,d,e,f,g,h,i,j};
    printf("请输入数字:");
    scanf("%d %d %d %d %d %d %d %d %d %d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);   
    for (m=0;m<10;m++)
    {
        for(n=0;n<10-1-i;n++)
        {      if (arr[n]>arr[n+1])
               {                x=arr[n];
                                arr[n]=arr[n+1];
                                arr[n+1]=x;
                }
        }   
      }
    for (q=0;q<10;q++)
    {       
         printf("%d ",arr[q]);
     }
     return 0;
}

程序有多个错,关键的是你对C数组及变量的理解有大问题

你的变量定义

   int arr[10]={a,b,c,d,e,f,g,h,i,j};

定义完成后,无论a,b,c...有任何变化,不会改变a[0]...a[9]值 的

所以你的输入

  scanf("%d %d %d %d %d %d %d %d %d %d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);  

不会对a[]有任何影响,结果当然不对了

另外你的

     for(n=0;n<10-1-i;n++)

循环变量也错了(应该是m)

以下是改好的及测试结果

求解   这串代码可以运行,输入10个整数,但为什么运行结果却不是对的,谢谢


相关标签:谢谢

上一篇:AT89C51能同时使用两个定时计数器吗

下一篇:群友SaaS系统可以满足哪些行业的使用?