| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:简单的字符串,为什么“要k不要j”?
只看楼主 加入收藏
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
结帖率:86.21%
收藏
已结贴  问题点数:10 回复次数:4 
简单的字符串,为什么“要k不要j”?
程序代码:
#include<iostream>
using namespace std;
void main()
{
  void print(char *name[],int n);
  void sort(char *name[],int n);
  char *name[]={"C++","BASIC","A","Pascal"};
  int n=4;
  sort(name,n);
  print(name,n);
}
void sort(char *name[],int n)
{
  int i,j,k;
  char *temp;
  for(i=0;i<n-1;i++)
  {k=i;
  for(j=i+1;j<n;j++)
      if(strcmp(name[i],name[j])>0)k=j;
      if(k!=i)
      {temp=name[i];name[i]=name[k];name[k]=temp;}//这里我用K就可以了,用J为什么不行啊,我觉得是不行,但我说不出道理!前面K=J,K不就是J吗?
  }
}
void print(char *name[],int n)
{
    int i;
    for(i=0;i<n;i++)
        cout<<name[i]<<endl;
}
搜索更多相关主题的帖子: 字符串 
2011-03-20 15:00
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
void sort(char *name[],int n)
{
  int i,j;
  char *temp;
  for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
  {
      if(strcmp(name[i],name[j])>0)      
      {
        temp=name[i];
         name[i]=name[j];
         name[j]=temp;
       }
   }
}//选择排序不是你那样写的吧


[ 本帖最后由 qq1023569223 于 2011-3-20 15:12 编辑 ]

   唯实惟新 至诚致志
2011-03-20 15:11
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
收藏
得分:0 
回复 2楼 qq1023569223
有区别吗?而且你还漏了!
2011-03-20 16:35
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:10 
void sort(char *name[],int n)
{
  int i,j,k;
  char *temp;
  for(i=0;i<n-1;i++)
  {k=i;
  for(j=i+1;j<n;j++) //j在这里每次循环都会+1,所以这个循环执行完j都是3
      if(strcmp(name[i],name[j])>0)k=j;    //k只有在name[i]>name[j]的情况下才等于j,但这步做完循环并不会停止,继续执行,直到j等于3 也就是 j<n 为否的时候才停止
      if(k!=i)
      {temp=name[i];name[i]=name[k];name[k]=temp;}    //到了这里,无论k是多少,j都是3
  }
}
2011-03-20 19:42
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
你那是多余!

   唯实惟新 至诚致志
2011-03-20 20:27
快速回复:简单的字符串,为什么“要k不要j”?
数据加载中...
 
   



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

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