题目内容 (请给出正确答案)
[主观题]

阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】 该程序的功能是从文件IN.DAT中读

阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。

【说明】

该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。

例如:原文:You He Me

I am a student.

结果:Me He You

student a am I

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

【函数】

include<string.h>

include<conio.h>

include<ctype.h>

include<stdio.h>

char xx[50] [80];

int maxline=0; /*文章的总行数*/

int ReaaDat(void);

void WriteDat(void);

void StrOL(void)

{

char * p1, * p2,t[80];

int i;

for(i=0;i<maxline;i++)

{ p1=xx[i];t[0]=0;

while(*p1)p1++;

while(p1>=xx[i])

{ while(!isalpha(*p1) &&p1!=xx[i])p1--;

p2=p1;

while((1))p1--;

if(p1==xx[i])

if(isalpha(*p1))p1--;

else if(!isalpha(*(p1+1)))break;

p2++;

(2);

strcat(t, p1+1);

strcat(t," ");

}

strcpy(xx[i],t);

}

}

void main()

{

if((3)) {

printf("数据文件in.dat不能打开!\n\007" );

return;

}

StroL();

writeDat();

getch();

} int ReadDat(void)

{

FILE * fp;

int i =0;

char * p;

if((fp=fopen("e:\a\in.dat"," r" ))==NULL)return 1;

while(fgets(xx[i],80,fp)!=NULL) {

p=strchr(xx[i],'\n')

if(p)*p=0;

i++;

}

maxline=(4)

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE * fp;

int i;

fp=fopen("e:\\a\\out6,dat","w");

for(i=0;i<(5);i++){

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i])

}

fclose(fp)

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。【…”相关的问题

第1题

阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明2.1】 L为一个带头结点的循环链

阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。

【说明2.1】

L为一个带头结点的循环链表。函数deletenode(LinkList L, int c)的功能是删除L中数据域data的值大于c的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。

【函数2.1】

LinkList deletenode(LinkList L, int c)

{

LinkList Lc,p,pre;

pre=L;

p=(1);

Lc=(LinkList)malloc(sizeof(ListNode) );

Lc->next=Lc

while(p!=L)

if(p->data>c)

{

(2);

(3);

Lc->next=p;

p=pre->next;

}

else

{

pre=p;

p=pre->next;

}

return Lc;

}

【说明2.2】

递归函数dec_to_k_2(int n, int k)的功能是将十进制正整数n转换成k<2≤k≤9)进制数,并打印。

【函数2.2】

dec_to_k_2(int n, int k)

{ /*将十进制正整数n转换成k(2≤k≤9)进制数*/

if(n!=0)

{

dec_to_k_2((4),k);

printf("%d",(5));

}

}

点击查看答案

第2题

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 [函数2.1说明] 下面程序的功能是:将

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

[函数2.1说明]

下面程序的功能是:将由键盘输入的某个十进制数转换成对应的R进制数并输出。这里R是 2到16的整数,由键盘输入。例如,输入n=128,base=13后的输出为9B。

[函数2.1]

include <stdio.h>

main()

{ char b[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

int c[64],n,i=0,base;

printf("Enter a number:");scaaf("%d",&n);

printf("Enter new base:");scanf("%d",&base);

do{c[i]=(1);

i++;

n=n/base;

}while((2));

printf("Transmit new base:");

for(- -i;i>=0;- -i)printf("%c",(3));

}

[函数2.2说明]

所谓回文字符中是指正序和逆序拼写相同的字符串,例如astrtsa,adgdtdgda等。下面函数int fun(char *str)的功能是判断字符串str是否是回文,当字符串是回文时,函数返回1,否则返回0。

[函数2.2]

int fun(char *str)

{ int i,j,l;

for(i=0;str[i]! ='\0';i++);

l=i/2;

for(j=0,i- -;j<=1;(4))

if((5)) return 0;

return 1;

}

点击查看答案

第3题

阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。 【流程图说明】 下图所示的流程图5.

阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。

【流程图说明】

下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。

【算法说明】

将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。

【算法】

void sort(int Array[],int L,int H){

if (L<H) {

k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/

sort((4));/*小于基准数的元素排序*/

sort((5));/*大于基准数的元素排序*/

}

}

点击查看答案

第4题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】 编写程序,利用带参数的主

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

编写程序,利用带参数的主函数main(),实现二进制文件的复制。比如,若该程序已生成可执行文件filebin.exe,在DOS操作系统命令状态下键入如下命令行:

filebin f0.fil f1.fil

则实现将已存在的二进制文件f1.fil依原样复制给名为f0.fil的二进制文件。

【函数】

include<stdio.h>

void fcopy(FILE *fout, FILE *fin)

{

char k;

do{

k=fgetc((1));

if(feof(fin))

break;

fputc((2));

}while(1);

}

void main(int argc,char *argv[])

{

FILE *fin,*fout;

if(argc!=(3))

return;

if((fin=fopen(argv[2],"rb"))==NULL)

return;

fout=(4);

fcopy((5));

fclose(fin);

fclose(fout);

}

点击查看答案

第5题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【函数1说明】 函数palindrome(cha

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【函数1说明】

函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符串是回文字符串。例如,“LEVEL”是回文字符串,而“LEVAL”不是。

【函数1】

int palindrome(char s[]{

char *pi, *pj;

pi=s; pj=s+strlen(s)-1;

while(pi<pj&&(1)){

pi++; pj--;

}

if((2))return-1;

else return 0;

}

【函数2说明】

函数f(char *str, char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。

【函数2】

void f(char *str, char del){

int i,j, len;

len=strlen(str);

i=0;

while(i<len){

While((3)) i++; /*忽略连续的标志字符*/

/*寻找从str[i]开始直到标志字符出现的一个子字符串*/

j=i+1;

while(str[j]!=del && str[j]!='\0')j++;

(4)='\0'; /*给找到的字符序列置字符串结束标志*/

printf("%s\t",&str[i]);

(5);

}

}

点击查看答案

第6题

阅读以下说明和C++程序,将应填入(N)处的字句写在对应栏内。[函数8.1说明] 现考虑编写一个扑克游戏

阅读以下说明和C++程序,将应填入(N)处的字句写在对应栏内。

[函数8.1说明]

现考虑编写一个扑克游戏:只用一副无大小王的扑克,扑克的花色(suit)分为Spade、Heart、Diamond和Club,每门花色的牌共13张,面值(rank)分别为2、3、4、5、6、7、8、9、10、Jack、Queen、King和Ace,每张扑克牌应包含如下信息:惟一的ID号(1~52)、花色、面值、背面图案的编号等。每张扑克牌的操作有:判断两张扑克牌是相同花色吗?相同面值吗,判断一张扑克牌是给定的花色吗?是给定的面值吗?请补充扑克牌类Card类的声明和实现代码,要求选取适当形式的数据成员描述每张扑克牌的信息,同时以成员函数的形式实现指定的操作。

[C++程序]

const enum SUIT {SPADE=0,HEART,DIAMOND,CLUB};

const enum RANK{TWO=0 THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING,ACE};

class Card。

{

public:

(1) (int id):mID (id),mSuit((id 1)/13),mRank((id-1)%13) {}

bool IsSameSuit (const Card& rhs)

{retum ((this ==&rhs)? (2)));}

bool IsSankRank (const Card& rhs)

{return ((this==&rhs)?false: mRank==rhs. mRank);}

bool IsSuit (int suit)

{return (3);}

bool IsRank(int rank)

{return mRank==rank;}

private:

static int nBackImg;//背面图案

const int mID;

const int mSuit;

const int mRank;

};

[函数8.2说明]

输入一字符串,将其中所有的小写字母转换为大写字母,大写字母转换为小写字母,然后显示输出转换后的字符串。

[C++程序]

include<iostream. h>

class vector

{

int a;

int b;

public:

vector (int x=0,int y=0):a(x),b(y){}

double operator*((4))

{

double c;

(5);

return c;

}

void input (int x, int y)

{a=x;

b=y;

}

void output ()

{cout<<'('<<a<<',' <<b<<") "<<end1;

}

};

void main()

{

vector x(10,20),y; //定义x, y, z三个矢量类对象,并将x置初值(10,20)

doubled;//定义实数d以存放点乘结果

y. input (2,3); //给y赋值为(2,5)

d=x*y;//两矢量点乘

x. output (); //输出矢量x

y. output (); //输出矢量y

cout<<d<<end1; //输出点乘结果

}

点击查看答案

第7题

采用IE浏览器访问清华大学校园网主页时,正确的地址格式为()。A.Smtp://www.tsinghua.edu.cnB.http

采用IE浏览器访问清华大学校园网主页时,正确的地址格式为()。

A.Smtp://www.tsinghua.edu.cn

B.http://www.tsinghua.edu.cn

C.Smtp:\\www.tsinghua.edu.cn

D.http\\www.tsinghua.edu.cn

点击查看答案

第8题

在计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA等。其中,采用()方式时,

不需要CPU控制数据的传输过程。

A.中断

B.程序查询

C.DMA

D.无条件传送

点击查看答案

第9题

在Excel中,设单元格F1的值为38,若在单元格F2中输入公式“=IF(AND(38)A.输入正确B.输入错误C.TRUED

在Excel中,设单元格F1的值为38,若在单元格F2中输入公式“=IF(AND(38)

A.输入正确

B.输入错误

C.TRUE

D.FALSE

点击查看答案

第10题

阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。【说明】对于大于1的正整数

阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。

【说明】对于大于1的正整数n,(x+1)n可展开为下面流程图的作用是计算(x+1)n展开后的各项系数(i=0,1,....,n)并依次存放在数组A[0...n]中。方法是依次计算k=2,3,..,n时(x+1)k的展开系数并存入数组A,在此过程中,对任一确定的k,利用关系式,按照i递减的顺序逐步计算并将结果存储在数组A中。其中,和都为1,因此可直接设置A[0]、A[k]的值为1。 例如,计算(x+1)3的过程如下:先计算(x+1)2(即k=2)的各项系数,然后计算(x+1)3(即k=3)的各项系数。K=2时,需要计算,和,并存入A[0],A[1]和A[2],其中A[0]和A[1]的值已有,因此将(即A[1])和即(A[0])相加得到的值并存入A[1]。k=3时,需要计算,和和,先计算出(由)得到并存入A[2],再计算(由得到)并存入A[1]。

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信