更多"【说明】 本程序从正文文件text.in中读入一篇英文短文,统计该短"的相关试题:
[简答题]【说明】本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。
程序用一棵有序二叉树存储这些单词及其出现的次数,边读入边建立,然后中序遍历该二叉树,将遍历经过的二叉树上的结点的内容输出。
#include <stdio.h>
#include <malloc.h>
#include <ctype.h>
#include <string.h>
#define INF "text.in"
#define OUTF "wotd.out"
typedef struct treenode
char *word;
int count;
struct treenode *left,*right;
BNODE
int getword (FILE *fpt,char *word)
char c;
c=fgetc (fpt);
if ( c=EOF)
return 0;
while(!(tolower(c)>=’a’ && tolower(c)<=’z’))
c=fgetc (fpt);
if ( c==EOF)
return 0;
/*跳过单词间的所有非字母字符*/
while (tolower (c)>=’a’ && tolower (c)<=’z’)
*word++=c;
c=fgetc (fpt);
*word=’/0’;
return 1;
void binary_tree(BNODE **t,char *word)
BNODE *ptr,*p;int compres;
P=NULL; (1) ;
while (ptr) /*寻找插入位置*/
compres=strcmp (word, (2) <
[简答题]【说明】
以下【C程序】的功能是从文件text_01.ini中读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到文件word_xml.out中。
该C程序采用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立。然后中序遍历该二叉树,将遍历经过的二叉树上节点的内容输出。
程序中的外部函数
int getword(FILE *fpt,char *word)
从与fpt所对应的文件中读取单词置入word,并返回1;若已无单词可读,即到文件尾部时,则函数返回0。
【C程序】
#include <stdio.h>
#include <malloc.h>
#include <ctype.h>
#include <string.h>
#define INF "TEXT_01.INI"
#define OUTF "WORD_XML.OUT"
typedef struct treenode
char *word;
int count;
struct treenode *left, *right;
BNODE;
int getword(FILE *fpt,char *word);void binary tree(BNODE **t,char *word)
BNODE *ptr, *p;
int cmpres;
p = NULL;
(1) ;
while (ptr) /*寻找插入位置*/
cmpres = strcmp(word, (2) ); /* 保存当前比较结果*/
if (!cmpres)
(3)
return;
else
(4) ;
ptr = cmpres > 0 ptr->right : ptr->left;
ptr = (BNODE *)malloc(sizeo
[简答题]【说明】
以字符流形式读入一个文件,从文件中检索出6种C语言的关键字,并统计、输出每种关键字在文件中出现的次数。本程序中规定:单词是一个以空格或’/t’、’/n’结束的字符串。其中6种关键字在程序中已经给出。
【程序】
#include <stdio.h>
#include <stdlib.h>
FILE *cp;
char fname[20], buf[100];
int NUM;
struct key
char word[10];
int count;
keyword[]= "if", 0, "char", 0, "int", 0,
"else", 0, "while", 0, "return", 0;
char *getword (FILE *fp)
int i=0;
char c;
while((c=getc(fp))!= EOF && (1) );
if(c==EOF)
return (NULL);
else
buf[i++]=c;
while((c=fgetc(fp))!=EOF && c!="&& c!=’/t’ && c!=’/n’ )
buf[i++]=c;
buf[i]=’/0’;
return(buf);
void lookup(char *p)
int i;
char *q, *s;
for(i=0; i<NUM; i++)
q= (2) ;
s=p;
while(*s && (*s==*q))
(3) )
if( (4) )
keyword[i].count++;
break;
[单项选择]INFILE语句用于从外部文件读入数据,必须出现在( )语句之前
A. OUTPUT
B. INPUT
C. INTO
D. END
E. IFTHEN
[简答题]【说明】
以字符流形式读入一个文件,从文件中检索出6种C语言的关键字,并统计、输出每种关键字在文件中出现的次数。本程序中规定:单词是一个以空格或’/t’、’/n’结束的字符串。其中6种关键字在程序中已经给出。
【程序】
#include <stdio.h>
#include <stdlib.h>
FILE *cp;
char fname[20], buf[100];
int NUM;
struct key
{ char word[10];
int count;
}keyword[]={ "if", 0, "char", 0, "int", 0,
"else", 0, "while", 0, "return", 0};
char *getword (FILE *fp)
{ int i=0;
char c;
while((c=getc(fp))!= EOF && (1) );
if(c==EOF)
return (NULL);
else
buf[i++]=c;
while((c=fgetc(fp))!=EOF && c!="&& c!=’/t’ && c!=’/n’ )
buf[i++]=c;
buf[i]=’/0’;
return(buf);
}
void lookup(char *p)
{ int i;
char *q, *s;
for(i=0; i<NUM; i++)
{ q= (2) ;
s=p;
while(*s && (*s==*q))
{ (3) )
if( (4) )
{ keyword[i].count++;
break;
}
}
return;
}
void main( )
{ int i;
char *word;
printf("lnput file name:");
scanf("%s
[简答题][说明]
以下[C程序]完成从指定数据文件中读入职工的工号和他完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,最后按表5-22所示的格式输出职工完成产品数量的名次(ORDER)。该名次是按每位职工完成的产品数量(QUANTITY)排序,之后同一名次的职工人数(COUNT)和他们的职工号(NUMBER,同一名次的职工号以从小到大的顺序输出)。
表5-22 职工完成产品数量名次输出格式表
ORDER |
QUANTITY |
COUNT |
NUMBER |
1 |
398 |
3 |
10 |
20 |
21
[简答题] 在考生文件夹中有一个工程文件sjt5.vbp。该程序的功能是从in5.txt文件中读入40个数据,统计这些数据中素数的个数,并找出所有素数中最小的素数(判断素数的函数已给出)。最后将查找和统计的结果分别显示在标签Label4和Label3中(窗体外观如图所示)。程序不完整,请在指定的位置把程序补充完整。 注意:不得修改原有程序和控件的属性。程序结束运行之前,必须至少正确运行一次程序,将统计的结果显示存标签中,否则本题无成绩。最后把修改后的文件按原文件名存盘。
[填空题][说明] 本程序实现对指定文件内的单词进行计数。其中使用二叉树结构来保存已经读入的不同单词,并对相同单词出现的次数进行计数。此二叉树的左孩子结点的字符串值小于父结点的字符串值,右孩子结点的字符串值大于父结点的字符串值。函数getword(char *filename,char*word)是从指定的文件中得到单词。char* strdup(char* s)是复制s所指向的字符串,并返回复制字符串的地址。 [函数] #include <stdio. h> #include<ctype. h> #include <string.h> #define MAXWORD 100 struct node char *word; int count; struct node *left; struct node *right; struct node *addtree(struct node *p,char *w) int cond; if (p==NULL) /*向树中插入结点*/ p=(struct node*) malloc(sizeof(struct node)); p->word=strdup (w); p->count=1; (1) ; else if((cond=strcmp (w,p->word))==0) (2) ; else if (cond<0) p->left= (3) ; else p->right= (4) ; return p; main( ) struct node *root; char word [MAXWORD]; root=NULL; filename="example .dat"; while getword(filename,word)! =EOF root= (5) ;
[填空题][说明] 下面Application程序用while循环从键盘读入字符,记录输入的字符数并输出读入的字符,当输入字符“0”时结束while循环,同时结束程序。 [Java程序] import java.io.*; public class ContinuateInput public (1) void main(String[] args) (2) IOException int ch; int counter=0; System.out .println("请输入字符(输入0结束)"); while ((char) (ch=System.in. (3) ) != ’0’) counter++; System.out .println (( (4) )ch) ; System.out .println ( ) ; System.out.println ("counted "+counter+" total bytes. ") ; System.out . (5) ;
[单项选择]在程序读入字符文件时,能够以该文件作为直接参数的类是( )。 A. FileReader B. BufferedReader C. FilelnputStream D. ObjectlnputStream
[简答题]请完成下列Java程序。程序的功能是复制文件并显示文件,将每个字符读入,并写入另一个文件,同时显示出来。(注意:在本题中,是将D盘的JDK目录下的README.txt文件打印在屏幕上,并写入另一个文件temp.txt中) 注童:请勿改动main( )主方法和其他已有的语句内容,仅在下划线处填入适当的语句。 import java.io.*; public class FileCopyBy public static void main(String args[]) try FileReader input=new FileReader("FileCopyBy.java"); FileWriter output=new FileWriter("temp.txt"); int c=input.read( ); while(__________) _______________ System.out.print((charc); c=input.read( ); input.close( ); output,close( ); catch(IOException e) System.out.println(e);
购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
请选择支付方式
-
微信支付
-
支付宝支付
立即支付
系统将自动为您注册账号
请使用微信扫码支付
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码
| |