| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 280 人关注过本帖
标题:我有个程序不通过 可以帮忙解决吗
只看楼主 加入收藏
kidangel666
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:139
注 册:2010-9-15
结帖率:78.95%
收藏
已结贴  问题点数:10 回复次数:1 
我有个程序不通过 可以帮忙解决吗
#include<stdio.h>
#define Max 50
//在数组的指定位置插入1个数并输出
int main()
{
    void DeleteList();
    void InsetList (int*H,int L );
    int List[Max] = {1,2,5,4,8,7,6,7,5,4,2,5};
    int i, Num, F=1 ,Len;
    int *Head,*End;
    Head=End=List;
    if (*End )
        for(i=1; i<Max; i++)
        {
            if(*(List+i))
            {
                End = List+i;
                Len = i+1;
            }
            else
                break;
        }
    else Len=0;
    printf( "输出线性表:\n" );
       for ( i=0; i<Len; i++ )
        printf("%d ",List[i]);
    printf("\n");
       printf("   1 插入1个数 \n");
    printf("   2 删除1个数 \n");
    while(F)
    {
        if (scanf("%d",&Num)==1)
        {
            if (Num ==1 || Num==2)
            {
                switch (Num)
                {
                case 1: InsetList(Head,Len);break;
                case 2:  printf("YES");break;//DeleteList();break;
                }
                F=0;
            }
            else
                printf ("重新输入:\n"); F=1;   fflush(stdin);
        }
        else
        {
            printf ("重新输入:\n"); F=1;   fflush(stdin);
        }
    }
    getchar();
    getchar();
    return 0;
}





void InsetList ( int *H, int L )
{
    int i;
    int Num;
    int Place;
    printf("%d\n",H);
    if (L == Max)
        printf("顺序表已满!");
    else
    {
        for ( i=0; i<L; i++ )
            printf("%d ",*(H+i));
        printf("\n");
        printf ("输入要插入的数:\n");
        scanf ("%d",&Num);
        printf ("输入要插入的位置:\n");
        scanf ("%d",&Place);
        if (Place>L)
            printf ("错误!");
        else
        {
            for(i=L;i>=Place;i--)
            {
                *(H+i)=*(H+i-1);
            }
            *(H+Place-1)=Num;
            printf("%d\n",H);
            for(i=0;i<L+i;i++)
            {
                printf("%d,",*(H+i));
            }
        }
            

    }
}


搜索更多相关主题的帖子: void include 
2010-10-13 21:18
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:10 
程序代码:
#include<stdio.h>
#define Max 50
//在数组的指定位置插入1个数并输出
int main()
{
    void DeleteList();
    void InsetList (int*H,int L );
    int List[Max] = {1,2,5,4,8,7,6,7,5,4,2,5};
    int i, Num, F=1 ,Len;
    int *Head,*End;
    Head=End=List;
    if (*End )
        for(i=1; i<Max; i++)
        {
            if(*(List+i))
            {
                End = List+i;
                Len = i+1;
            }
            else
                break;
        }
    else Len=0;
    printf( "输出线性表:\n" );
       for ( i=0; i<Len; i++ )
        printf("%d ",List[i]);
    printf("\n");
       printf("   1 插入1个数 \n");
    printf("   2 删除1个数 \n");
    while(F)
    {
        if (scanf("%d",&Num)==1)
        {
            if (Num ==1 || Num==2)
            {
                switch (Num)
                {
                case 1: InsetList(Head,Len);break;
                case 2:  printf("YES");break;//DeleteList();break;
                }
                F=0;
            }
            else
                printf ("重新输入:\n"); F=1;   fflush(stdin);
        }
        else
        {
            printf ("重新输入:\n"); F=1;   fflush(stdin);
        }
    }
    getchar();
    getchar();
    return 0;
}





void InsetList ( int *H, int L )
{
    int i;
    int Num;
    int Place;
    printf("%d\n",H);
    if (L == Max)
        printf("顺序表已满!");
    else
    {
        for ( i=0; i<L; i++ )
            printf("%d ",*(H+i));
        printf("\n");
        printf ("输入要插入的数:\n");
        scanf ("%d",&Num);
        printf ("输入要插入的位置:\n");
        scanf ("%d",&Place);
        if (Place>L)
            printf ("错误!");
        else
        {
            for(i=L;i>=Place;i--)
            {
                *(H+i)=*(H+i-1);
            }
            *(H+Place-1)=Num;
            printf("%d\n",H);
            for(i=0;i<L+1;i++)     // 是不是打错了啊!把i变为1就ok 了啊!!!
            {
                printf("%d,",*(H+i));
            }
        }
            

    }
}

If You Want Something, Go Get It, Period.
2010-10-13 21:36
快速回复:我有个程序不通过 可以帮忙解决吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059896 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved