c++-为什么这段代码执行不了,我实在找不出错误,求各位大神搭救

问题描述

为什么这段代码执行不了,我实在找不出错误,求各位大神搭救

#include

using namespace std;
int main()
{
void bubble_sort(char *name[ ],int n);//函数声明,下同
void print(char *name[ ],int n);
char *dept[11]={"管理系","国际经贸系","计算机系","电子系","数码媒体系","外语系","软件工程系","网络技术系","游戏系","基础部","思政部"};
bubble_sort(dept,11);//调用冒泡排序函数
print(dept,11);//调用输出多个字符串函数
return 0;

}

void bubble_sort(char *name[ ],int n)//冒泡排序函数
{
char k;
for(int i=n-1;i>=0;i--)
{
for(int j=0;j
{
if(strcmp(name[j],name[j+1])>0)
{
k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
}

    }
}
//程序代码段1

}

void print(char *name[ ],int n)//输出多个字符串函数
{
for(int i=0;i<n;i++)
cout<<*name[i]<<endl;
//程序代码段2
}

解决方案

k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
这块代码是什么意思?是想将两个字符串进行交换吗?最上面一句只是得到一个字符啊。
char *k = NULL;
f(strcmp(name[j],name[j+1])>0)
{
k = name[j];
name[j]=name[j+1];
name[j+1]=k;
}
这样才对吧。

解决方案二:

k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
这块代码是什么意思?是想将两个字符串进行交换吗?最上面一句只是得到一个字符啊。
char *k = NULL;
f(strcmp(name[j],name[j+1])>0)
{
k = name[j];
name[j]=name[j+1];
name[j+1]=k;
}
这样才对吧。

解决方案三:

k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
这块代码是什么意思?是想将两个字符串进行交换吗?最上面一句只是得到一个字符啊。
char *k = NULL;
f(strcmp(name[j],name[j+1])>0)
{
k = name[j];
name[j]=name[j+1];
name[j+1]=k;
}
这样才对吧。

解决方案四:

k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
这块代码是什么意思?是想将两个字符串进行交换吗?最上面一句只是得到一个字符啊。
char *k = NULL;
f(strcmp(name[j],name[j+1])>0)
{
k = name[j];
name[j]=name[j+1];
name[j+1]=k;
}
这样才对吧。

解决方案五:

k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
这块代码是什么意思?是想将两个字符串进行交换吗?最上面一句只是得到一个字符啊。
char *k = NULL;
f(strcmp(name[j],name[j+1])>0)
{
k = name[j];
name[j]=name[j+1];
name[j+1]=k;
}
这样才对吧。

解决方案六:

k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
这块代码是什么意思?是想将两个字符串进行交换吗?最上面一句只是得到一个字符啊。
char *k = NULL;
f(strcmp(name[j],name[j+1])>0)
{
k = name[j];
name[j]=name[j+1];
name[j+1]=k;
}
这样才对吧。

解决方案七:

char k;
for(int i=n-1;i>=0;i--)
{
for(int j=0;j {
if(strcmp(name[j],name[j+1])>0)
{
k=*name[j];
*name[j]=*name[j+1];
*name[j+1]=k;
}

你的这一段 用一个char 接收一个char* 的问题

解决方案八:

你要交换的是字符串而不是字符,所以k是char * 表示才好。

解决方案九:

其他人说的也许是算法的问题,也许对哈。
如果你是编译不过的话或许你可以看看for(int j=0;j { 。我看你这个for循环是不是写错了,或许是我这边显示的不全吧。
若是编译错了不妨把错误结果贴出来

时间: 2024-09-20 18:26:26

c++-为什么这段代码执行不了,我实在找不出错误,求各位大神搭救的相关文章

链表-请教:(C语言学生信息管理)程序函数里好像直接跳过了某一段代码执行

问题描述 请教:(C语言学生信息管理)程序函数里好像直接跳过了某一段代码执行 void Student_Searchself(STUDENT *head) //此函数是为了显示学生的各科成绩和各科排名 //(head)存储学生成绩的链表头指针{STUDENT *p*m*e*y*l;STUDENT *p1*p2*p3*p4;char s[6];system(""cls"");printf(""请输入本人学号来查找n"");sca

jdbc-JAVA数据库连接程序跳过某段代码执行了

问题描述 JAVA数据库连接程序跳过某段代码执行了 检查密码是否正确的Checkpasswd类 [code=java]package com.qdgxy.sql; import java.sql.SQLException; public class Checkpasswd extends SQL_connection{ private static int i =0; //select count(*) from consumer where consumer_password='1234567

java-这段代码执行为什么结果会是null

问题描述 这段代码执行为什么结果会是null 代码: public class Dervied extends Base { private String name = "dervied"; public Dervied() { tellName(); printName(); } public void tellName() { System.out.println("Dervied tell name: " + name); } public void prin

javascript-菜鸟求js大神帮忙!!为什么我这段js代码只有第一个元素绑定了事件

问题描述 菜鸟求js大神帮忙!!为什么我这段js代码只有第一个元素绑定了事件 <script> window.onload=function(){ var oParent=document.getElementById("aa"); var boxs=oParent.getElementsByClassName("box"); for(var i=0;i<boxs.length;i++){ var imgs=boxs[i].getElementsB

javascript-请问我这段代码规范吗,有什么语法错误

问题描述 请问我这段代码规范吗,有什么语法错误 效果达到了 但是BOSS说我代码不规范 解决方案 你的定时器放在了chgCol方法内, 方法在外部调用时,会先执行chgCol方法 然后再创建一个定时器,然后在chgCol被调用时再一次创建一个定时器,每个定时器都是新一个定时器,并且在第一次执行时 调用了一次方法 应该将定时器放到外围,如果你要用无限循环 请用setInterval()定时器. 解决方案二: pos初始值为3,那if里面就没必要判断pos<0了,你的方法运用递归调用来实现循环,没有

线程-下面是一段Java代码,里面有几处看不懂,望大神指教,不胜感激。

问题描述 下面是一段Java代码,里面有几处看不懂,望大神指教,不胜感激. package 线程; import java.awt.*;import java.awt.event.*; import javax.swing.*; public class TestThread extends JFrame { /** * */ //private static final long serialVersionUID = 1L; JPanel jPanel1 = new JPanel(); JBu

指针-这段代码中的插入函数编译没有错误,运行就崩溃?其它函数都经过编译了没有错误?不知道是什么问题?

问题描述 这段代码中的插入函数编译没有错误,运行就崩溃?其它函数都经过编译了没有错误?不知道是什么问题? #include #include #include typedef struct POINT { int row; int col; struct POINT *next; }POINT; void initPointLink(POINT **pointLinkHeadPointer); void showPoints(POINT *pointLinkHead); void showOne

这段代码为什么无法实现写入和读取,求解答,谢谢!

问题描述 这段代码为什么无法实现写入和读取,求解答,谢谢! import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; public class Filetest4 extends JFrame{ public static JTextArea getjt(){ JTextArea jt=new JTextArea(); return jt; } public static void ma

求一段qt代码,用qcustomPlot读txt文件描点绘数据,求各位大神!

问题描述 求一段qt代码,用qcustomPlot读txt文件描点绘数据,求各位大神! 就下面的一段.txt的数据,第一列是时间做横坐标,分别用第二列第三列的数据画曲线,求各位大神施舍代码呀! m:ss:mmm 2 3 0:00.000 -0.145 -0.065 0:00.003 -0.145 -0.065 0:00.006 -0.145 -0.065 0:00.008 -0.145 -0.065 0:00.011 -0.145 -0.065 0:00.014 -0.145 -0.065 0: