编写程序以使用动态内存分配查找最大数。我已经
编写了以下代码,
排序部分存在一些问题我正在按指针进行选择排序。但是排序没有正确完成.....我们可以通过指针进行选择排序我是否应用了正确的方法?
#include<stdio.h>
#include<stdlib.h>
main()
{
int i,j,n,temp;
int *data;
printf("enter total no of elements:");
scanf("%d",&n);
data=(int*)calloc(n,sizeof(int));
printf("\n");
for(i=0;i<n;i++)
{
printf("enter number %d:",i+1);
scanf("%d",data+i);
}
for(i=0;i<n;i++)
{
printf("%d\t",*(data+i));
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(*(data)>*(data+j))
{
temp=*(data);
*(data)=*(data+j);
*(data+j)=temp;
}
}
}
for(i=0;i<n;i++)
{
printf("%d\t",*(data+i));
}
printf("largest element is %d\t",*(data+n-1));
}
输出:
enter total no of elements:5
enter number 1:2
enter number 2:10
enter number 3:12
enter number 4:1
enter number 5:0
2 10 12 1 0
0 10 12 2