首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数Rdata()实现从文件IN.dat中读取一篇英文文章存入字符串数组string中,请编写函数SortCharA(),其功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字爷串数组string中。最后调用函数Wdata(),把
函数Rdata()实现从文件IN.dat中读取一篇英文文章存入字符串数组string中,请编写函数SortCharA(),其功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字爷串数组string中。最后调用函数Wdata(),把
admin
2010-09-05
68
问题
函数Rdata()实现从文件IN.dat中读取一篇英文文章存入字符串数组string中,请编写函数SortCharA(),其功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字爷串数组string中。最后调用函数Wdata(),把结果string输出到OUT.dat文件中。
例如,原文:dAe, BfC.
CcbbAA
结果:,. ABCdef
AACbbc
原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。
注意:部分源程序已经给出。请勿改动主函数main()、读数据函数Rdata()和输出数据函数Wdata()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
char string [50] [80];
int maxline = 0; /* 文章的总行数 */
int Rdata (void);
void Wdata (void);
void SortCharA(void)
{
}
void main ()
{ if (Rdata ())
{ printf("数据文件 IN. dat 不能打开! \n\007");
return;
}
SortCharA ();
Wdata ( );
}
int Rdata (void)
{ FILE *fp;
int i = 0;
char *p;
if ((fp = fopen("IN. dat", "r")) == NULL)
return 1;
while (fgets(string
, 80, fp) != NULL)
{ p = strchr(string
, ’\n’);
if (p)
*p = 0;
i++;
}
maxline = i;
fclose (fp);
return 0;
}
void Wdata (void)
{ FILE *fp;
int i;
fp = fopen("OUT. dat", "w");
for (i=0; i<maxline; i++)
{ printf("%s\n", string
);
fprintf(fp, "%s\n", string
);
}
fclose (fp);
}
选项
答案
void SortCharA (void) { int i, j, k, str1; char ch; for (i=0; i<maxline; i++) { str1 = strlen(string[i]); for (j=0; j<str1-1; j++) for (k=j+1; k<str1; k++) if (string[i] [j] > string [i] [k]) { ch = string[i] [j]; string[i] [j] = string[i] [k]; string[i] [k] = ch; } } } [解题思路] 这里采用strlen字符函数获取字符串的长度;对文章中的每一行的字符利用双重循环进行两两比较,较小的字符往行前放,较大的字符往行后放,这样就实现了以行为单位对字符从小到大的排序。在程序中的语句是if(string[i][j]>string[i][k])成立,string[i][j]和string[i][k]就交换数据。
解析
转载请注明原文地址:https://kaotiyun.com/show/VuvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
关系代数是以集合代数为基础发展起来的,它是一种关系操纵语言,它的操作对象和操作结果都是【】。
在页面大小固定,并且不考虑程序本身的编制方法的情况下,影响缺页中断次数的因素有【】和分配给进程的物理页面数。
在一个数据库中,模式的个数
计算机系统可分为硬件系统和软件系统,其中软件系统主要由______组成。
数据库管理系统管理并且控制______资源的使用。
在数据库管理系统的层次结构中,数据存取层处理的对象是______。
PowerDesigner是SYBASE公司的产品,属于CASE工具,与PowerDesigner是SYBASE公司的产品还有【】、【】和【】。
设有两个散列函数H1(K)=Kmod13和H2(K)=Kmod11+1,散列表为了[0...12],用双重散列法(又称二次散列法)解决冲突。函数H1用来计算散列地址,当发生冲突时,H2作为计算下一个探测地址的地址增量。假定某一时刻散列表T的状态为:
单键表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?
数据库系统的三级组织结构中,DBA视图是【】。
随机试题
荀况认为“人性恶”。因此教育要从“礼”这一需要出发,须以“礼义”加以教化,这体现的教育目的价值取向是()。
霍乱的典型症状是
维生素B2的特定吸收部位是()。
“十二五”时期,国家推动能源生产和利用方式变革,构建()的现代能源产业体系。
用人单位与其他单位合并的,应当对从事接触职业病危害作业的劳动者()。
下列关于信用风险的说法中,正确的是()。
简述风险的特征。
设Sn为等比数列{an}的前n项和,8a2+a5=0,则().
生产资本的职能是
Choosethecorrectletter,A,BorC.Whathasgivenheranideaforherfinalassignment?
最新回复
(
0
)