C#:为什么老是提示上下文有不存在名称.我明明声明的

程序如下:这是一个冒泡排序usingSystem;classAvg{staticvoidMain(){int[]c=newint[]{68,65,56,79,218,11... 程序如下:这是一个冒泡排序
using System;
class Avg
{
static void Main()
{
int[] c=new int[]{68,65,56,79,218,112,5,16,86};
int i,t,k;
for(int a=0;a<9;a++)
{
for (int o=0,i = a; i < 9; i++)
o=c[i] ;
if (c[i] > o) { t = o; o = c[i]; c[i] = t; }

}
for (k = 0; k < c.Length; k++)
Console.Write("{0}", c[k]);
}
}
老说不存在o.我也搞不懂什么意思了.请高手指点.不胜感谢
展开
 我来答
匿名用户
2014-02-28
展开全部
....
for (int o=0,i = a; i < 9; i++)
o=c[i] ;
if (c[i] > o) { t = o; o = c[i]; c[i] = t; }
....
如上所示,你在for 循环体内声明了o,一但出了循环体,o就不存在了,所在要在循环体外声明o。解决方法如下
....
int o
for (o=0,i = a; i < 9; i++)
o=c[i] ;
if (c[i] > o) { t = o; o = c[i]; c[i] = t; }
....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-28
展开全部
你for循环后面有两句语句所以你必须加上大括号!
using System;
class Avg
{
static void Main()
{
int[] c=new int[]{68,65,56,79,218,112,5,16,86};
int t,k;
for(int a=0;a<9;a++)
{
for (int o = 0,i=a; i < 9; i++)
{
o = c[i];
if (c[i] > o)
{
t = o; o = c[i]; c[i] = t;
}
}
}
for (k = 0; k < c.Length; k++)
{
Console.Write("{0}", c[k]+"");
}

}
}
但是你的算法有问题!先改一下把用个中间变量来存储交换!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-28
展开全部
太晚了,看你那个眼花了,我这有个,你拿去对一下看看:
int [] array = new int [*] ;
int temp = 0 ;
for (int i = 0 ; i < array.Length - 1 ; i++)
{
for (int j = i + 1 ; j < array.Length ; j++)
{
if (array[j] < array[i])
{
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式