| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 734 人关注过本帖
标题:[求助]大虾们帮我!
只看楼主 加入收藏
stgzwza
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-11-12
收藏
 问题点数:0 回复次数:10 
[求助]大虾们帮我!

输入15个数从大到小组成的数组,再输入1个数,在其中要说明在第几个位置,不在的话说明不在。
最后说明的地方我做出来会说明15次,快晕死了,谁能帮我啊?给个源代码~先谢过各位了~!
main()
{int a[15];
int x,y,z,m;
printf("\nPlease input 15 numbers=\n");
for (x=0;x<15;x++)
scanf(" %d",&a[x]);
printf("\n");
for(y=0;y<=14;y++)
for (x=0;x<=15-y;x++)
if(a[x]<a[x+1]) {z=a[x];a[x]=a[x+1];a[x+1]=z;}
printf(" the order is:\n");
for (x=0;x<15;x++)
printf(" %d ",a[x]);
printf("\nplease input No.16 number\n");
scanf("%d",&m);
for(x=0;x<16;x++)
if(m==a[x] )
printf("It is the %dth a[x]",x+1);
else printf("No one is the same");

}

搜索更多相关主题的帖子: 源代码 
2005-11-26 13:07
stgzwza
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-11-12
收藏
得分:0 
没人回答~自己顶~
2005-11-26 16:02
cranky
Rank: 1
等 级:新手上路
威 望:1
帖 子:89
专家分:0
注 册:2005-11-21
收藏
得分:0 

for(x=0;x<16;x++)
if(m==a[x] )
printf("It is the %dth a[x]",x+1); //------------这里他循环15次
//
else printf("No one is the same");


z=0;y=0;
for(x=0;x<15;x++)
if(m==a[x])
{z=1;
y=x;}
if(z==1)printf("It is the %dth a[y]",y+1);
else printf("No one is the same");


没编译

[此贴子已经被作者于2005-11-26 23:08:24编辑过]


一个不知道天高地厚,想问什么时候才是满壶水的鬼 --------------半壶水响叮当
2005-11-26 16:34
stgzwza
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-11-12
收藏
得分:0 

谢谢帮忙,我试试~

2005-11-26 16:39
stgzwza
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-11-12
收藏
得分:0 

三楼的兄弟,你的代码还是不行~for(x=0;x<15;x++)应该是for(x=0;x<16;x++);
而且最后的结果是永远No one is the same~郁闷啊~

2005-11-26 16:59
算死草
Rank: 1
等 级:新手上路
威 望:1
帖 子:107
专家分:0
注 册:2005-11-20
收藏
得分:0 

这样可不?
if(m==a[x])
j=x;
printf("It is the .......,j+1)

没运行过,不知道行不?

++++++++++++奉旨灌水++++++++++++ ++++++++++++欢迎光临++++++++++++ ++++++++++++多谢惠顾++++++++++++
2005-11-26 17:39
stgzwza
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-11-12
收藏
得分:0 

楼上的方法更加不行了~哎。。。。不过还是谢谢帮忙

2005-11-26 18:06
kempire
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-5-12
收藏
得分:0 
楼主,我想你的排续语句
for(y=0;y<=14;y++)
for (x=0;x<=15-y;x++)
if(a[x]<a[x+1]) {z=a[x];a[x]=a[x+1];a[x+1]=z;}
可能有问题
试试下面的
for(x=0;x<=14;x++)
for(y=x+1;y<=14,y++)
if(a[x]<a[y]){z=a[x];a[x]=a[y];a[y]=z}
还有
for(x=0;x<16;x++) //这里你循环了16次,多了一次
if(m==a[x] )
printf("It is the %dth a[x]",x+1);
2005-11-26 19:05
九月天下冰
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2005-11-26
收藏
得分:0 
楼上说的对
2005-11-26 20:23
cranky
Rank: 1
等 级:新手上路
威 望:1
帖 子:89
专家分:0
注 册:2005-11-21
收藏
得分:0 

哥们这下你这东西完全没问题了!!!已编译,测试

main()
{int a[15];
int x,y,z,m;
printf("\nPlease input 15 numbers=\n");
for (x=0;x<15;x++)
scanf(" %d",&a[x]);
printf("\n");
for(x=0;x<=14;x++)
{
for(y=x+1;y<=14;y++)
if(a[x]<a[y]){z=a[x];a[x]=a[y];a[y]=z;}
}
printf(" the order is:\n");
for (x=0;x<15;x++)
printf(" %d ",a[x]);
printf("\nplease input No.16 number\n");
scanf("%d",&m);
z=0;y=0;
for(x=0;x<15;x++)
if(m==a[x])
{z=1;
y=x;}

if(z==1)printf("It is the %dth a[y]",y+1);
else printf("No one is the same");

}

[此贴子已经被作者于2005-11-26 23:07:20编辑过]


一个不知道天高地厚,想问什么时候才是满壶水的鬼 --------------半壶水响叮当
2005-11-26 22:38
快速回复:[求助]大虾们帮我!
数据加载中...
 
   



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

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