|
发表于 2020-12-20 15:59:39
|
显示全部楼层
- for(j=0;j<n;j++)//这里
- for(i=0;i<n-j;i++)
- {
- if(p[i]>p[i+1])
- {
- temp=p[i];
- p[i]=p[i+1];
- p[i+1]=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[i]);
- }
- for(i=0;i<n;i++)
- {
- printf("%d ",p[i]);
- }
- printf("\n");
- for(j=1;j<n;j++)
- for(i=0;i<n-j;i++)
- {
- if(p[i]>=p[i+1])
- {
- temp=p[i];
- p[i]=p[i+1];
- p[i+1]=temp;
- }
- }
- for(i=0;i<n;i++)
- printf("%d ",p[i]);
- return 0;
- }
复制代码 |
|