| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 424 人关注过本帖
标题:这种类型的题大家又做过没???
只看楼主 加入收藏
vicstephen
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-7-13
收藏
 问题点数:0 回复次数:3 
这种类型的题大家又做过没???
题目(老师口头说的):输入一数组,将其中的0用0后的第一个非0数代替,若0出现在两个非0数之间则用他们的平均数取代0,若0位于最后则将0前面的第一个非0数代替
例如:输入0 8 0 0 0 0 6 0 0 4 0
输出结果:8 8 7 7 7 7 6 5 5 4 4

后天就要交了,我实在写不出来……急死了~
搜索更多相关主题的帖子: 类型 
2007-07-13 22:34
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
有一个简单而有麻烦的算法:
#include<stdio.h>

#include <stdio.h>

int main()
{
int a[10]={0,0,8,0,0,2,0,6,0,12},len=10,i,j;
int s=0,e=0,c=0;
int s1=0,e1,t1,t2;

for(i=0;i<len;i++)
{
if(a[i]!=0)
{
if(s!=0)
e=i;
else
{
s=i;
if(s1==0)
{
t1=a[i];
s1=s;
}
}
}
printf("%d--%d\n",s,e);
if(s!=0 && e!=0)
{
c=(a[s]+a[e])/2;
for(j=s+1;j<e;j++)
{
a[j]=c;
}

s=e;
e=0;
}
}

e1=s;
t2=a[s];

for(i=0;i<s1;i++)
a[i]=t1;

for(j=e1+1;j<10;j++)
a[j]=t2;


for(i=0;i<len;i++)
printf("%d\t",a[i]);

printf("\n");
}



编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-14 03:13
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
收藏
得分:0 
这个貌似要改一下,改成可以自由输入的.....
2007-07-14 13:29
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
LS有兴趣的话可以完善下

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-14 17:13
快速回复:这种类型的题大家又做过没???
数据加载中...
 
   



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

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