一世轻尘 发表于 2020-12-20 15:41:39

找错

#include<stdio.h>
#include<stdlib.h>
int main()
{
        int n,i,j,temp;
        int*p;
        printf("请输入一个整数n:\n");
        scanf("%d",&n);
        p=(int*)malloc(n*sizeof(int));
        printf("请输入n个整数:\n");
        for(i=0;i<n;i++)
        {
                scanf("%d",&p);
        }
        for(i=0;i<n;i++)
        {
                printf("%d ",p);
        }
        printf("\n");
    for(j=0;j<n;j++)
            for(i=0;i<n-j;i++)
            {
                    if(p>p)
                    {
                            temp=p;
                            p=p;
                            p=temp;
                        }
                }
        for(i=0;i<n;i++)
                printf("%d ",p);
                return 0;
}

jitianmoshen 发表于 2020-12-20 15:54:01

本帖最后由 jitianmoshen 于 2020-12-20 16:02 编辑

dsadas

倒戈卸甲 发表于 2020-12-20 15:57:48

jitianmoshen 发表于 2020-12-20 15:54


怎么会是n-1,每次循环都要比较n-1次?比较n-1-j次才对

倒戈卸甲 发表于 2020-12-20 15:59:26

外层循环是j<n-1,n个数只要循环n-1次

小甲鱼的铁粉 发表于 2020-12-20 15:59:39

for(j=0;j<n;j++)//这里
            for(i=0;i<n-j;i++)
            {
                  if(p>p)
                  {
                            temp=p;
                            p=p;
                            p=temp;
                        }
                }
这里错了,应该是从1开始的
修改后为
#include<stdio.h>
#include<stdlib.h>
int main()
{
      int n,i,j,temp;
      int*p;
      printf("请输入一个整数n:\n");
      scanf("%d",&n);
      p=(int*)malloc(n*sizeof(int));
      printf("请输入n个整数:\n");
      for(i=0;i<n;i++)
      {
                scanf("%d",&p);
      }
      for(i=0;i<n;i++)
      {
                printf("%d ",p);
      }
      printf("\n");
    for(j=1;j<n;j++)
            for(i=0;i<n-j;i++)
            {
                  if(p>=p)
                  {
                            temp=p;
                            p=p;
                            p=temp;
                        }
                }
      for(i=0;i<n;i++)
                printf("%d ",p);
                return 0;
}
页: [1]
查看完整版本: 找错