注册 登录
编程论坛 Delphi论坛

我编了一个程序可是运行时,输入之后没有输出,求教

吃饭了cfl 发布于 2012-11-30 10:55, 532 次点击
#include<stdio.h>
#define n 100
int main()
{
    int a[n];
    int i,j,x,m,M=1,t,y=0;
    scanf("%d",&m);
    for(i=0;i<m;i++)
        scanf("%d ",&a[i]);
    for(i=0;i<m-1;i++)
    for(j=0;j<m-1-i;j++)
    {
        if(a[j]>=a[j+1])
        {
            t=a[j];
            a[j]=a[j+1];
            a[j+1]=t;

        }
    for(i=0;i<m-1;i++)
    {
        if(a[i]==a[i+1])
        {
            for(x=i+1;x<m-y-1;x++)
            {
                a[x]=a[x+1];
            }
            y=y+1;
        }
        if(a[i]!=a[i+1])
        {
            M=M+1;
        }
    }
    printf("%d\n",M);
    for(j=0;j<M;j++)
        printf("%d ",a[j]);
    }
    return 0;
}
4 回复
#2
wp2319572012-11-30 11:01
晕  c代码  咋跑DELPHI里了
#3
余姚威尔2012-11-30 11:27
这是在C++环境下运行的吧  你的程序是不是没有报错 但是输入后没有结果出来是这样的问题吗
#4
qunxingw2012-11-30 11:42
比较交换前双循环看似有问题,功能需明确。稍微有注释才方便。
1