| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 280 人关注过本帖
标题:[求助]为什么是死循环啊???????????
只看楼主 加入收藏
fang8705
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-10-19
收藏
 问题点数:0 回复次数:4 
[求助]为什么是死循环啊???????????
#include<stdio.h>
main()
{
unsigned m=1,n,c=0,i,j;
long a[100][100];
printf("\nPlease input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
a[i][j]=m++;
for(i+=1;i<n;i++)
a[i][j]=m++;
for(j=n-2-c;j>c-1;j--)(这步为什么是死循环啊?)
a[i][j]=m++;
for(i=n-2-c;i>c-1;i--)
a[i][j]=m++;
c++;
while(a[i][j]=n*n)
break;
}
for(i=0;i<n;i++)
printf("%d",a[i][j]);
}
搜索更多相关主题的帖子: long include 
2007-10-21 09:19
zacom
Rank: 2
等 级:论坛游民
威 望:2
帖 子:381
专家分:15
注 册:2007-9-15
收藏
得分:0 

可能因为你定义的是unsigned类型,即不能保存数值中的负号的原因把


没有最好只有更好
2007-10-21 10:25
C语言的深度
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:卡特的怀抱
等 级:版主
威 望:1
帖 子:9577
专家分:19
注 册:2007-10-22
收藏
得分:0 
unsigned  无符号型`

用代码打出楼房...用编程编出幸福...
2007-10-23 11:13
重飞
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-10-23
收藏
得分:0 
不明白你写的程序的思路是什么,只好这样该了
#include<stdio.h>
void main(){
unsigned m=1,n,c=0,i,j;
int a[100][100];
printf("\nPlease input n:");
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++)
a[i][j]=m++;
}
for(i+=1;i<n;i++)
a[i][j]=m++;
for(j=n-2-c;j>c-1;j--)//(这步为什么是死循环啊?)
a[i][j]=m++;
for(i=n-2-c;i>c-1;i--){
a[i][j]=m++;
c++;
}
/*while(a[i][j]=n*n)
break;*/
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%d",a[i][j]);
printf(" ");
}
printf("\n");
}
}
2007-10-23 11:26
linsd2001
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-11
收藏
得分:0 
回复:(重飞)不明白你写的程序的思路是什么,只好这...
你的这个程序是给一个二维数组从1到n*n进行赋值,而且是对称着进行赋值,那么这样的赋值要注意一个问题,那就是要事先知道你所赋值的数组的维数,这里死循环3楼说得不错,而你大概的想法是:控制循环不能是负数。另外,如果想做一个动态的赋值程序,你必须对维数进行一定的处理,但你这个程序处理起来好象有点困难。
2007-10-23 11:40
快速回复:[求助]为什么是死循环啊???????????
数据加载中...
 
   



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

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