C语言编程题 求解!! 下面图片中是题目 求冒泡排序或选择排序的代码!!!我自己编了很多次都不行! 5

已经给出的程序代码有#include<stdio.h>#include<ctype.h>#include<string.h>voidfun(char*s,intnum){... 已经给出的程序代码有

#include <stdio.h>
#include <ctype.h>
#include <string.h>
void fun(char *s,int num)
{
int i,j,k;
char ch;
for(i=1;i<num-1;i++)
{
ch=s[i];
k=i;
for(j=i+1;j<num-1;j++)
{
if(s[j]>ch)
{
ch=s[j];
k=j;
}
}
if(k!=i)
{
s[k]=s[i];
s[i]=ch;
}
}
}
main()
{
void NONO( );
char s[10];
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s",s);
NONO();
}
void NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
char s[10] ;
FILE *rf, *wf ;
int i = 0 ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
while(i < 10) {
fgets(s,10,rf) ;
s[7] = 0 ;
fun(s,7);
fprintf(wf, "%s\n", s) ;
i++ ;
}
fclose(rf) ;
fclose(wf) ;
}
········不好意思·······上面我把整个程序都贴出来了 fun函数本来应该是没有代码的·······
答案的解法感觉是个不规则的选择排序 但是用一般的冒泡和选择 为什么不行呢?
展开
 我来答
snje1987
2012-09-19 · TA获得超过160个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:109万
展开全部
不好意思,之前看错了。
不知道你自己写的冒泡或选择是真么编写的,不过使用冒泡和选择完成这个问题是绝对可以的,只要在排序的时候忽略掉第一个和最后一个字符,只针对中间的5个字符排序就可以。
追问
我也是这么想的  所以应该是自己什么地方写错了  大神您有时间就帮我写个代码吧  求代码啊
追答
你可以把你写的代码发上来,我看看,也许能找到问题发生的原因。
Mc_Flyed
2012-09-19 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:119万
展开全部
see see
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式