#include<stdlib.h>
#include<stdio.h>
int main(void)
{
int n,i;
int *p;
printf("请输入序列个数:");
scanf("%d",&n);
p = (int*) malloc(sizeof(int)*n);//开辟动态内存区,将地址转换成int *型,然后在放在p1中。
printf("请输入序列数值:");
for(i=0;i<n;i++)
{
scanf("%d",p+i);
}
printf("输入原序列数为:");
for(i=0;i<n;i++)
{
printf("%d ",*(p+i));
}
printf("\n");
free(p);
system("pause");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
void BubbleSortSmallToBig(int *array, int len);
void CheckArrSum(int *array,int len);
int main(void)
{
int n,i;
int *p;
printf("请输入序列个数:");
scanf("%d",&n);
p = (int*) malloc(sizeof(int)*n);//开辟动态内存区,将地址转换成int *型,然后在放在p1中。
printf("请输入序列数值:");
for(i=0;i<n;i++)
{
scanf("%d",p+i);
}
printf("输入原序列数为:");
for(i=0;i<n;i++)
{
printf("%d ",p[i]);// *(p+i)
}
printf("\n");
BubbleSortSmallToBig(p, n);
printf("从小到大排列为:");
for(i=0;i<n;i++)
{
printf("%d ",*(p+i));// *(p+i)
}
printf("\n");
CheckArrSum(p,n);
free(p); //释放内存(free),否则会造成内存泄露.
printf("释放内存%d\n",*p);
system("pause");
return 0;
}
void BubbleSortSmallToBig(int *array, int len)
{
int j,t,temp;
for(j=0;j<len;j++)
{
for(t=len-1;t>j;t--)
{
if(array[t]<array[t-1])
{
temp=array[t];
array[t]=array[t-1];
array[t-1]=temp;
}
}
}
}
void CheckArrSum(int *array,int len)
{
int j=0,temp=0,sum=0;
while(j!=len)
{
temp = array[j];
while(temp==array[j])
{
sum++;
j++;
}
printf("序列中数值%d出现%d次\n",temp,sum);
sum = 0;
}
}