C语言排序 从‘input.txt’文件中读出字符串,并转换成数字,用冒泡法排序,输出到结果文件‘result.txt’

1,考察点:文件读写;字符串到数字的转换;冒泡法排序;对异常数据的处理,如‘00.25’‘0,25’等,为异常数据。2,输出文件形式:共有多少个合法数据依次从小到大输出合... 1,考察点:
文件读写;
字符串到数字的转换;
冒泡法排序;
对异常数据的处理,如‘00.25’‘0,25’等,为异常数据。

2,输出文件形式:
共有多少个合法数据
依次从小到大输出合法数据,并同时输出先前序号
共有多少个不合法数据
展开
 我来答
匿名用户
2011-07-05
展开全部
这个简单,开始没看清是字符,都一个道理加个转换好了,当然这好像不是常规方法 :
int score[7];
int i=0;
int j=0;
int t=0;
char ch[][2]=;
//将字符串转化为数字
for(i=0;i<7;i++)
{
if(ch[i][1]=='\0')score[i]=ch[i][0];
else score[i]=ch[i][0]*100+ch[i][1];
}
//从小到大排

for(j=0;j<6;j++){

for(i=0;i<7-j-1;i++)
{
if(score[i]>score[i+1])
{
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
}
}
}
//将数字转化为字符串
for(i=0;i<7;i++)
{
ch[i][0]=score[i]/100;
ch[i][1]=score[i]%100;
}
//输出来看下
for(i=0;i<7;i++)
{

printf("%c%c\n",ch[i][0],ch[i][1]);
}

printf("\n");

/*
///从大到小排序
//tp=score[0];
for(j=0;j<6;j++){

for(i=0;i<7-j-1;i++)
{
if(score[i]<score[i+1])
{
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
}
}
}
for(i=0;i<7;i++)
{
ch[i][0]=score[i]/100;
ch[i][1]=score[i]%100;
}
//输出来看下
for(i=0;i<7;i++)printf("%s ",ch[i]);
printf("\n");
*/
只要会数字的,换成其他类型也不就一样嘛,没什么难度!
另外,站长团上有产品团购,便宜有保证
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式