C语言排序 从‘input.txt’文件中读出字符串,并转换成数字,用冒泡法排序,输出到结果文件‘result.txt’
1,考察点:文件读写;字符串到数字的转换;冒泡法排序;对异常数据的处理,如‘00.25’‘0,25’等,为异常数据。2,输出文件形式:共有多少个合法数据依次从小到大输出合...
1,考察点:
文件读写;
字符串到数字的转换;
冒泡法排序;
对异常数据的处理,如‘00.25’‘0,25’等,为异常数据。
2,输出文件形式:
共有多少个合法数据
依次从小到大输出合法数据,并同时输出先前序号
共有多少个不合法数据 展开
文件读写;
字符串到数字的转换;
冒泡法排序;
对异常数据的处理,如‘00.25’‘0,25’等,为异常数据。
2,输出文件形式:
共有多少个合法数据
依次从小到大输出合法数据,并同时输出先前序号
共有多少个不合法数据 展开
1个回答
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");
*/
只要会数字的,换成其他类型也不就一样嘛,没什么难度!
另外,站长团上有产品团购,便宜有保证
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");
*/
只要会数字的,换成其他类型也不就一样嘛,没什么难度!
另外,站长团上有产品团购,便宜有保证
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询