广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 2488 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
hughalice
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++][求助] 请高高手帮ㄍ忙修一下注解(详解)以注解有错麻烦指教^^Y
#include <iostream.h>

#include <iostream.h>

int main()
{
const int max = 12; // 宣告整数常数符号共12组
int counti, countj, buffer = 0; // 宣告整数变数并以0为该阵列得初始值
int number = {141,491,94,19,1078,20,767,9,40,812,538,1024};// 宣告一维阵列变数共12组
cout << "排序前:"; ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



献花 x0 回到顶端 [楼 主] From:台湾 | Posted:2008-04-14 23:07 |
DihKuh 手机
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

#include <iostream.h>

int main()
{
  const int max = 12;                 // 宣告整数常数符号共12组
  int counti, countj, buffer = 0;             // 宣告整数变数并以0为该阵列得初始值
  int number[max] = {141,491,94,19,1078,20,767,9,40,812,538,1024};// 宣告一维阵列[max]变数共12组
  cout << "排序前:";                           // 显示"排序前:"
  for (counti = 0; counti < max; counti++)           //用回圈轮流每个阵列
      cout << number[counti] << '\0'           //显示阵列的资料
  for (counti = 0; counti < max-1; counti++)     //比较变数number[counti]的回圈,第0到第10的阵列
      for (countj = counti; countj < max; countj++)   //被比较变数number[countj]的回圈,第1到第11的阵列
          if (number[counti] < number[countj]) // *若须要则对调修改此项<>可调对排序,2个资料做比较大小
          {
              buffer = number[counti];   //将number[counti]的资料放置buffer
              number[counti] = number[countj]; //将number[countj]的资料放置number[counti]
              number[countj] = buffer;   //将buffer的资料放置number[countj]
          }     //上面三行指令主要是将number[counti]与number[countj]的资料互换
  cout << "\n排序后:";     // 显示排序后资料
  for (counti = 0; counti < max; counti++) //用回圈轮流每个阵列
      cout << number[counti] << '\0' //显示阵列的资料
  cout << endl << endl; //显示换行2次
  return 0;//程式结束
}


-------------------------------------这是分割线-------------------------------------------

如果看不懂的地方在问一下
我在详细解释


献花 x0 回到顶端 [1 楼] From:台湾 | Posted:2008-04-15 08:12 |
hughalice
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

这一段阿!还是迷惘^^"可以在麻烦你一下吗?


for (counti = 0; counti < max-1; counti++)   //比较变数number[counti]的回圈,第0到第10的阵列


    for (countj = counti; countj < max; countj++)   //被比较变数number[countj]的回圈,第1到第11的阵列


献花 x0 回到顶端 [2 楼] From:台湾 | Posted:2008-04-15 19:32 |
DihKuh 手机
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

for (counti = 0; counti < max-1; counti++)   //counti=0比11(max-1=12-1)小
    for (countj = counti+1; countj < max; countj++)   //这里应该countj = counti+1比较合理
//countj =0+1=1比12(max=12)小
          if (number[counti] < number[countj])  
//因为counti=0,countj=1所以判断"number[0] < number[1]" => 判断"141<491"是否为真
//你的程式counti=0,countj=0变成判断"141<141"是否为真,这样与自己比较多做一个比较
          {       buffer = number[counti];
              number[counti] = number[countj];
              number[countj] = buffer;   }
//若为真则执行{}里的动作,结果number[0]=491,number[1]=141,回第2回圈控制运算
//number[12] = {491,141,94,19,1078,20,767,9,40,812,538,1024};
//若为假直接回第2回圈控制运算

接下来就反覆上面省略说明
作指令"countj++" =>countj=1+1=2,这时counti不变counti=0,
再来做判断比较"number[0] < number[2]" => "491<94"是否为真,若为真责执行{}里的互换动作,做完回第2回圈控制运算,若为假则直接回第2回圈控制运算
因为counti这里都不变所以我称为"比较变数"而countj一直换到下一个数字所以我称为"被比较变数"
countj=2---->number[12] = {491,141,94,19,1078,20,767,9,40,812,538,1024};
countj=3---->"491<19"------>number[12] = {491,141,94,19,1078,20,767,9,40,812,538,1024};
countj=4---->"491<1078"--->number[12] = {1078,141,94,19,491,20,767,9,40,812,538,1024};
countj=5---->"1078<20"----->number[12] = {1078,141,94,19,491,20,767,9,40,812,538,1024};
countj=11-->"1078<1024"-->number[12] = {1078,141,94,19,491,20,767,9,40,812,538,1024};
countj=12没有小于max=12回到第一个回圈作counti++,这时第1个数字就是最大的
counti=1,countj=2--->"141<94"--->number[12] = {1078,141,94,19,491,20,767,9,40,812,538,1024};
counti=1,countj=3--->"141<19"--->number[12] = {1078,141,94,19,491,20,767,9,40,812,538,1024};
counti=1,countj=4--->"141<491"--->number[12] = {1078,491,94,19,141,20,767,9,40,812,538,1024};
一直换到第2个数字是第2大的,就这样循环排列


献花 x0 回到顶端 [3 楼] From:台湾 | Posted:2008-04-15 23:41 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.048852 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言