| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1364 人关注过本帖
标题:[求助]数组问题②
只看楼主 加入收藏
大水牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:233
专家分:0
注 册:2005-11-21
收藏
得分:0 
说说而以
以下是引用feng1256在2005-11-29 0:29:00的发言:
运行不了,电脑没装编译器~ 哈哈
a[10][10]={0}可以吧,书上有很多这么初始化的, 没赋值的元素系统补的是0

呵呵,我真的很佩服你的思维啊,你都说了没赋值的元素系统补的是0,你干脆就不用赋值了,因为你唯一的赋值不是0吗?呵呵


虽然现在的我什么都不明白,但总有一天,我将包容一切,让优秀变成一种习惯。。。。。。。。。。。。
2005-11-29 18:20
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

谢谢提醒了

[此贴子已经被作者于2005-11-29 22:56:17编辑过]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-29 22:13
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
我也没想赋值,书上许多都这么写的,我也就跟着搞了

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-29 22:15
算死草
Rank: 1
等 级:新手上路
威 望:1
帖 子:107
专家分:0
注 册:2005-11-20
收藏
得分:0 
这个我也不会哦,斑主有时间的话可以把答案贴一下么?
尤其是knocker!

++++++++++++奉旨灌水++++++++++++ ++++++++++++欢迎光临++++++++++++ ++++++++++++多谢惠顾++++++++++++
2005-11-29 23:46
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 

也算是变相赋值吧.有点傻瓜式,供参考:

#include<stdio.h>
void main()
{
int s[5][5];
int i,j,k=0,m=14,n=17,w=18,a=5,b=16,c=23,f=24;
for(i=0;i<5;i++)
{
k++;
s[i][0]=k;
m--;
s[i][4]=m;
}
for(i=1;i<4;i++)
{
n--;
s[0][i]=n;
w++;
s[3][i]=w;
a++;
s[4][i]=a;
}
for(i=1;i<3;i++)
{
b++;
s[i][1]=b;
c++;
s[i][2]=c;
f--;
s[i][3]=f;
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%3d ",s[i][j]);
}
printf("\n\n");
}
}


好累
2005-11-29 23:50
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 

下午搞了一下午的SQL,还是没搞好,郁闷死了....晚上就琢磨了一下这道题,如果谁有更好的方法请贴出供大家参考参考,谢谢!


好累
2005-11-29 23:53
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

我的思路是当第一个元素被赋值之后
①.看下面元素是否为0,不为0→②,为0赋值
②.看右边是否为0,不为0→③,为0赋值
③.看上边是否为0,不为0→④,为0赋值
④.看左边是否为0,不为0→⑤,为0赋值
⑤break;
当然最上面一行除第一个元素外,会出现应该给左边赋值,而给下边先赋值,所以设置
c=1,在第一次执行①时,并作为下次执行①的条件。当执行一次④后,c=0,于是一直执行④,直到
左边有元素不为0,置c为1,开始执行①,出现循环
当然①②③④需要赋值必须加上行列不能越界的条件

[此贴子已经被作者于2005-11-30 0:41:54编辑过]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-30 00:40
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

#include <stdio.h>

void main()
{
int a[5][5]={0},k,i=0,j=0,c=1;


a[i][j]=1;

for(k=2;k<=25;k++)
{
if(i+1<5&&a[i+1][j]==0&&c)
{
a[i+1][j]=k;
i++;
}
else if(j+1<5&&a[i][j+1]==0)
{
a[i][j+1]=k;
j++;
}
else if(i-1>=0&&a[i-1][j]==0)
{
a[i-1][j]=k;
i--;
}
else if(j-1>=0&&a[i][j-1]==0)
{
a[i][j-1]=k;
j--;
c=0;
if(a[i][j-1]!=0)
c=1;
}
else
break;
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("\n");
}
getch();
return;
}
这个运行成功了,楼主可以试下


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-30 01:43
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

我写的6楼那个 运行了下也成功了,开始把%d写成d%了,就说老有错误

[此贴子已经被作者于2005-11-30 3:45:47编辑过]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-30 01:43
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
不错啊!
getch();//getchar
return;
这两个不需要吧..

好累
2005-11-30 16:42
快速回复:[求助]数组问题②
数据加载中...
 
   



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

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