| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 641 人关注过本帖
标题:哪里错了,求大神指点
只看楼主 加入收藏
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
结帖率:80%
收藏
 问题点数:0 回复次数:10 
哪里错了,求大神指点
#include "stdio.h"
int main()

{
    int search(int x,int a[]);
    int a[10],i,x;
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    scanf("%d",&x);
    search(x,a[]);
    return 0;
}
int search(int x,int a[])          /*查找数字在数组中的位置*/
{
    int m;
    for(m=0;m<10;m++)
        if(a[m]==x)
            printf("%d",m);
        else
            printf("error");
    return 0;
}
搜索更多相关主题的帖子: include search 
2015-05-05 00:24
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:0 
函数调用数组那里不用【】,

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-05-05 01:11
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
函数算法错误,修改如下:
int search(int x,int a[])          /*查找数字在数组中的位置*/
{
    int m;
    for(m=0;m<10;m++)
        if(a[m]==x)break;
    if(m==10)
        printf("Error\n");
    else
        printf("数据%d在数组中的位置为:%d\n",x,m);
     return 0;
}

能编个毛线衣吗?
2015-05-05 06:43
陆思雨
Rank: 2
等 级:论坛游民
威 望:1
帖 子:36
专家分:42
注 册:2014-9-17
收藏
得分:0 
你的目的是什么?
2015-05-05 18:32
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:0 
回复 3楼 wmf2014
和你的代码对比之下,问题很明显,三克油!!

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-05-06 00:52
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:0 
回复 4楼 陆思雨
就是查找一个数字在数组中的位置的,本来很简单,但是刚学函数,不是很熟练,所以有些运行的错误

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-05-06 00:54
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
以下是引用·charles在2015-5-6 00:54:43的发言:

就是查找一个数字在数组中的位置的,本来很简单,但是刚学函数,不是很熟练,所以有些运行的错误

初学,就好好好写写代码,免得积重难返
程序代码:
#include <stdio.h>

size_t search_in_array( int array[], size_t n, int val )
{
    size_t i;
    for( i=0; i!=n && array[i]!=val; ++i );
    return i;
}

int main( void )
{
    int a[10];
    for( size_t i=0; i!=sizeof(a)/sizeof(a[0]); ++i )
        scanf( "%d", &a[i] );

    int x;
    scanf( "%d", &x );

    size_t r = search_in_array( a, sizeof(a)/sizeof(a[0]), x );
    if( r != sizeof(a)/sizeof(a[0]) )
        printf( "%zu\n", r );
    else
        printf( "%s\n", "not found." );

    return 0;
}

2015-05-06 08:41
陆思雨
Rank: 2
等 级:论坛游民
威 望:1
帖 子:36
专家分:42
注 册:2014-9-17
收藏
得分:0 
楼上正确
2015-05-06 12:18
Erlosshex
Rank: 2
等 级:论坛游民
威 望:1
帖 子:17
专家分:10
注 册:2014-5-24
收藏
得分:0 
回复 7楼 rjsp
你这代码就是脱裤子放屁多次一举,根本不需要这么复杂的啊
2015-05-06 14:55
Erlosshex
Rank: 2
等 级:论坛游民
威 望:1
帖 子:17
专家分:10
注 册:2014-5-24
收藏
得分:0 
回复 3楼 wmf2014
他原来的代码可以找出此元素在数组中所有的位置,并输出,你现在改的就只能输出此元素在数组中第一次出现的位置了
2015-05-06 14:57
快速回复:哪里错了,求大神指点
数据加载中...
 
   



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

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