| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 441 人关注过本帖
标题:帮忙看看是哪里错了?
取消只看楼主 加入收藏
cigar_21
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-26
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:1 
帮忙看看是哪里错了?
在线求助各位大虾,我的程序看了很久,实在找不到错在哪里了,希望大家帮帮忙!
S打印极值点下标
Time Limit:1000MS  Memory Limit:65536K
Total Submit:167 Accepted:77
Description
在一个整数数组中,对于下标为i的整数,如果它大于所有它相邻的整数,或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i。
Input
有2×n+1行输入:第一行是要处理的数组的个数n;对其余2×n行,第一行是此数组的元素个数k(4≤k≤80),第二行是k个整数,每两个整数之间用空格分隔。
Output
输出为n行:每行对应于相应数组的所有极值点下标值,下标值之间用空格分隔。
Sample Input
3
10
10 12 12 11 11 12 23 24 12 12
15
12 12 122 112 222 211 222 221 76 36 31 234 256 76 76
15
12 14 122 112 222 222 222 221 76 36 31 234 256 76 73
Sample Output
0 7
2 3 4 5 6 10 12
0 2 3 10 12 14
Sample Result:
图片附件: 游客没有浏览图片的权限,请 登录注册

大家再看看我的程序:
#include<stdio.h>
void main()
{int n,i,length;
int array(int x,int y);
scanf("%d",&n);
for(i=1;i<=n;i++)
    {scanf("%d",&length);
    array(length,n);}
}
int array(int x,int y)
{int a[x],t;
for(t=0;t<y;t++)
    scanf("%d",&a[t]);
if(a[0]!=a[1]) printf("0 ");
for(t=1;t<=x-2;t++)
if((a[t]>a[t+1])&&(a[t]>a[t-1])||(a[t]<a[t-1])&&(a[t]<a[t+1]))
    printf("%d ",t);
if(a[x-1]!=a[x-2]) printf("%d\n",x-1);
}
   



 
搜索更多相关主题的帖子: 在线求助 元素 
2011-03-28 13:08
cigar_21
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-26
收藏
得分:0 
真是郁闷,等了一天还是没人帮忙!
我自己换了个想法做出来了,如果有人对这道题有兴趣,可以看看我的做法。
如果你又更好的方法,可以发出来看看喔!
#include<stdio.h>
void main()
{int n,length,a[20],t,i,j;
scanf("%d",&n);
for(t=0;t<=n-1;t++)
    {scanf("%d",&length);
    for(i=0;i<length;i++)
    scanf("%d",&a[i]);
    if(a[0]!=a[1]) printf("0 ");
    for(j=1;j<=length-2;j++)
    if(((a[j]>a[j+1])&&(a[j]>a[j-1]))||((a[j]<a[j-1])&&(a[j]<a[j+1])))
    printf("%d ",j);
    if(a[length-1]!=a[length-2]) printf("%d\n",length-1);
        else printf("\n");
    }
    }
2011-03-29 17:20
快速回复:帮忙看看是哪里错了?
数据加载中...
 
   



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

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