首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
admin
2009-02-19
48
问题
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT35.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:fedCBA,
bbCCAA
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio. h>
char xx[50] [80];
int maxline=0;
int ReadDat (void);
void WriteDat (void);
void SortCharD ( )
{
void main ( )
{
clrscr ( );
if (ReadDat())
{
print f ("数据文件 IN35.DAT 不能打开!\n\007");
return;
}
SortCharD ( );
WriteDat ( );
}
int ReadDat (void)
{
FILE *fp;
int i=0;
char *p;
if ( (fD=fopen("IN35.DAT", "r" ) ) ==NULL)
return 1;
while (fgets(xx
,80,fp)!=NULL)
{
p=strchr(xx
,’\n’);
if (p) *p=0;
i++;
}
maxline=i;
fclose (fp);
return 0;
}
void WriteDat ()
FILE *fp;
int i;
clrscr ( );
fp=fopen ("OUT35.DAT", "w");
for ( i=0; i<maxline; i++)
{
print f ("%s\n" ,xx
);
fprintf(fp,"%s\n",xx
);
}
fclose (fp);
}
选项
答案
void SortCharD() { int i,j,k,str1; Char ch; for (i=0;i<maxline;i++) { str1=strlen(xx[i]); /*求各行的长度*/ for(j=0;j<str1-1;j++) /*对字符按从大到小的顺序进行排序*/ for(k=j+1;k<str1;k++) if (xx[i][j]<xx[i][k]) { ch=xx[i][j]; xx[i][i]=xx[i][k]; xx[i][k]=ch; } } }
解析
本题考查的知识点如下:
(1)循环结构的嵌套。
(2)字符的大小比较。
(3)字符排序。
本题以行为单位对文章进行处理,首先要确定每一行中字符的个数。这个操作可使用字符串处理函数strlen(char*s炷)来完成。对字符从大到小排序依据的是字符的ASCII码,在C语言中,字符量可参与任何整型运算,所以可以直接使用比较运算符进行比较。排序使用前面介绍的“选择排序法”。最后使用循环结构对文章中的每一行都进行以上的操作。
转载请注明原文地址:https://kaotiyun.com/show/nsSZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
假设某CPU的一个总线周期为50ns,时钟周期为、2ns,所访问的主存的存取速度为60ns,为了正确读出内存中的指令和数据,须在总线周期中插入的等待状态个数是()。
通常情况下,一个外中断服务程序的第一条指令是STI,其目的是______。
交换寄存器SI、DI的内容,正确的程序段是( )。
指纹考勤机通常用于在工作日的上班时间,采集员工指纹信息,以确定该员工是否正常上班。其基本功能要求有:a、能够采集指纹信息,并求取指纹特征,然后与事先预存在指纹特征库中的指纹特征比对。b、系统中需存储指纹图原始信息和指纹特征信息,这些指纹
在μC/OS-II启动过程中,BootLader执行完毕后,执行应用程序主文件中main()时,依次执行的三个主要的函数是:①OSInit();②【67】_______;③【68】_______。
在Bootloader的stagel中,以下各步骤的顺序应为()。a.跳转到stage2的C程序入口点b.为加载stage2准备RAM空间c.拷贝stage2的执行代码到RAM空间中d.基本硬件初始化
典型的嵌入式系统硬件由嵌入式最小硬件系统及相关的通道或接口组成,若一个嵌入式系统需要完成模拟量输入功能,该功能由下面列出的嵌入式系统的()实现。
嵌入式Linux操作系统由用户进程、OS服务组件和Linux内核3个部分组成,下面叙述中错误的是()。
嵌入式系统中的CPU具有一些与通用计算机所使用CPU不同的特点,下面不是其特点的是()。
随机试题
有关窦房结细胞4期自动去极化的离子基础,正确的描述是
A.溴酸钾法B.剩余溴量法C.紫外分光光度法D.非水滴定法E.钯离子比色法
以下不属于活血疗伤的药物是
基金管理人应当自收到准予注册文件之日起()个月内进行基金募集,超过期限的,原注册的事项未发生实质变化的,应当报中国证监会备案。
根据市场功能不同,可将金融市场分为()。
某公司原有资本700万元,其中债务资本200万元(每年负担利息24万元),普通股资本500万元(发行普通股10万股,每股面值50元)。由于扩大业务,需追加筹资300万元,假设没有筹资费用。其筹资方式有三种:方案一:全部按面值发行普通股:增发6万股,每股发
某企业年初未分配利润贷方余额为100万元,本年净利润为1000万元,按10%计提法定盈余公积,按5%计提任意盈余公积,宣告发放现金股利80万元,该企业期末未分配利润为()万元。
中国外交政策的基本立足点是()。
SQL语言通常称为
月饼是中国人在中秋节食用的传统食品,一般呈圆形,寓意团圆幸福,反映了人们对家人团聚的美好愿望。在古代的中秋节,月饼被用来祭拜月神(Luna),后来逐渐形成了中秋吃月饼的传统。月饼通常是烤制而成的,外皮(crust)一般是由面粉制成,里面包进某种馅(stuf
最新回复
(
0
)