| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 406 人关注过本帖
标题:又一顺序表....找不到错在哪?大家帮找找...
只看楼主 加入收藏
human84
Rank: 3Rank: 3
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
注 册:2009-11-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
又一顺序表....找不到错在哪?大家帮找找...
#include"stdio.h"
#include"stdlib.h"
typedef struct sqlist
{
    int date[1000];
    int lengh;
}sqlist;
int main()
{
    int y;
    struct sqlist sq;
    sqlist list_build();
    int list_locate(sqlist L);
    sq=list_build();
    y=list_locate(sq);
    if(y!=0)
        printf("该数在%d位置上!!!",y);
    getch();
        exit(0);
}
sqlist list_build()
{
    int i;
    struct sqlist L;
    printf("输入顺序表长度:");
        scanf_s("%d",&L.lengh);
    for(i=0;i<L.lengh;i++)
    {
        L.date[i]=rand()%100;
        printf("%3d",L.date[i]);
    }
    return L;
}
int list_locate(sqlist L)
{
    int e,j,a=0;
    printf("请输入要查找的数:");
          scanf_s("%d",&e);
    for(j=0;j<L.lengh;j++)
        if(L.date[j]==e);
    {
        return j+1;
        a=1;
    }
        if(a)
        {
            printf("不存在!!!");
            return(0);
        }
}
这个程序要输出L.date[j]的值也不对....

[ 本帖最后由 human84 于 2010-3-26 11:41 编辑 ]
搜索更多相关主题的帖子: include 
2010-03-26 11:31
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:10 
int list_locate(sqlist L)
{
    int e,j,a=0;
    printf("请输入要查找的数:");
    scanf_s("%d",&e);
    for(j=0;j<L.lengh;j++)
    {    if(L.date[j]==e)
    {
        return j+1;
        
    }else a=1;}
    if(a)
    {
        printf("不存在!!!");
        return(0);
    }
}
好了 !原因
for(j=0;j<L.lengh;j++)
        if(L.date[j]==e);//多了分号
    {
        return j+1;
        a=1;//如果输入查找没有的数字 a无法被赋值
    }
        if(a)
        {
            printf("不存在!!!");
            return(0);
        }
2010-03-26 11:45
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:10 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

typedef struct sqlist
{
    int date[1000];
    int lengh;
}sqlist;

int main()
{
    int y;
    struct sqlist sq;

    sqlist list_build();
    int list_locate(sqlist L);

    sq=list_build();
    y=list_locate(sq);
    if( y != 0 )
        printf("该数在%d位置上!!!",y);

    getch();
    exit(0);
}

//生成链表
sqlist list_build( )
{
    int i;
    sqlist L;

    printf("输入顺序表长度:");
    scanf("%d",&L.lengh);

    for(i=0;i<L.lengh;i++)
    {
        L.date[i] = rand()%100;
        printf("%3d", L.date[i]);
    }

    printf("\n");
    return L;
}

int list_locate(sqlist L)
{
    int e,j,a=0;

    printf("请输入要查找的数:");
          scanf("%d",&e);
    for(j=0; j<L.lengh; j++)
        if(L.date[j] == e)
        {
            return j+1;
            a=1;
        }
    if( a == 0 )
    {
         printf("不存在!!!\n");
         return(0);
    }
}
2010-03-26 11:53
human84
Rank: 3Rank: 3
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
注 册:2009-11-1
收藏
得分:0 
多谢,多谢....又犯这种低级错误....
2010-03-26 12:14
快速回复:又一顺序表....找不到错在哪?大家帮找找...
数据加载中...
 
   



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

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