搜索
查看: 2800|回复: 7
打印 上一主题 下一主题

C语言一天一练--21.august

[复制链接]
楼主
发表于 2013-2-27 19:10:55 | 显示全部楼层
本帖最后由 gloomyakon 于 2013-2-28 14:13 编辑

[code=Cpp width=740px]#include<stdio.h>
#include<stdlib.h>
void makeUnique(int buffer[],int* curCount)
{//找到相同的则前移覆盖
        int temp;
        int i,j,k;
        for(i=0;i<*curCount;i++){
                for(j=i+1;j<*curCount;j++){
                        if(buffer[j]==buffer){
                                k=j;
                                while(k<*curCount-1) {buffer[k]=buffer[k+1];k++;}
                                (*curCount)--;
                        }
                }
        }
}
void insertion_sort(int buffer[],int count)
{//插入排序
        int i,j,temp;
        for (i=0;i<count-1;i++){
                j=i+1;
                while(j<count && buffer[j]<buffer)
                        temp=buffer,buffer=buffer[j],buffer[j]=temp;
        }
}
int main()
{
        int buffer[100];
        int temp;
        int i=0,count=0;
        printf("请输入一共多少个数\n");
        while(scanf("%d",&count)&&count>100){
                printf("要小于100个数\n");
        };
        printf("请输入%d个数字\n",count);
        while(i<count){
                scanf("%d",&temp);
                if(temp<=1000){
                        buffer[i++]=temp;
                }
        }
        makeUnique(buffer,&count);
        insertion_sort(buffer,count);
        printf("一共有%d个\n",count);
        for (i=0;i<count;i++)
        {
                printf("%d\t",buffer);
        }
        printf("\n");
        system("pause");
        return 0;
}[/code]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表