题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2024-07-29 03:05:38

[填空题]阅读以下说明和C函数,填补C函数中的空缺。
[说明]
函数numberOfwords(char message[])的功能是计算存储在message字符数组中的一段英文语句中的单词数目,输出每个单词(单词长度超过20时仅输出其前20个字母),并计算每个英文字母出现的次数(即频数),字母计数时不区分大小写。
假设英文语句中的单词合乎规范(此处不考虑单词的正确性),单词不缩写或省略,即不会出现类似don’t形式的词,单词之后都为空格或标点符号。
函数中判定单词的规则是:
(1)一个英文字母串是单词;
(2)一个数字串是单词;
(3)表示名词所有格的撇号(’)与对应的单词看作是一个单词。
除上述规则外,其他情况概不考虑。
例如,句子“The 1990’s witnessed many changes in people’s concepts of conservation”中有10个单词,输出如下:
The
1990’s
witnessed
many
changes
in
people’s
concepts
of
conservation
函数numberOfwords中用到的部分标淮库函数如下所述。
函数原型 说明
int islower(int ch); 若ch表示一个小写英文字母,则返回一个非0整数,否则返回0
int isupper(int ch): 若ch表示一个大写英文字母,则返回一个非0整数,否则返回0
int isalnum(int ch); 若ch表示一个英文字母或数字字符,则返回一个非0整数,否则返回0
int isabha(int ch); 若ch表示一个英文字母,则返回

更多"阅读以下说明和C函数,填补C函数中的空缺。 [说明] 函数numb"的相关试题:

[填空题]阅读以下说明和C函数,填补C函数中的空缺。
[说明]
函数numberOfwords(char message[])的功能是计算存储在message字符数组中的一段英文语句中的单词数目,输出每个单词(单词长度超过20时仅输出其前20个字母),并计算每个英文字母出现的次数(即频数),字母计数时不区分大小写。
假设英文语句中的单词合乎规范(此处不考虑单词的正确性),单词不缩写或省略,即不会出现类似don’t形式的词,单词之后都为空格或标点符号。
函数中判定单词的规则是:
(1)一个英文字母串是单词;
(2)一个数字串是单词;
(3)表示名词所有格的撇号(’)与对应的单词看作是一个单词。
除上述规则外,其他情况概不考虑。
例如,句子“The 1990’s witnessed many changes in people’s concepts of conservation”中有10个单词,输出如下:
The
1990’s
witnessed
many
changes
in
people’s
concepts
of
conservation
函数numberOfwords中用到的部分标淮库函数如下所述。
函数原型 说明
int islower(int ch); 若ch表示一个小写英文字母,则返回一个非0整数,否则返回0
int isupper(int ch): 若ch表示一个大写英文字母,则返回一个非0整数,否则返回0
int isalnum(int ch); 若ch表示一个英文字母或数字字符,则返回一个非0整数,否则返回0
int isabha(int ch); 若ch表示一个英文字母,则返回
[填空题]
阅读以下说明和C语言函数,填补空缺。
[说明]
函数count months(DATE start, DATE end)的功能是:计算两个给定日期之间所包含的完整月份数。
该函数先算出起止日期中所含的完整年数,再计算余下的完整月份数。
规定两个相邻年份的同月同日之间的问隔为1年。例如,2007.5.30—2008.5.30的间隔为1年。若相邻两年中前一年是闰年,并且日期是2月29日,则到下一年的2月28日为1年,即2008.2.29—2009.2.28的间隔为1年。
规定两个相邻月份的相同日之间的间隔为1个月,但需要特别考虑月末的特殊情况。例如,2007.1.29—2007.2.28的间隔为1个月,同理,2007.1.30—2007.2.28、2007.1.31—2007.2.28的间隔都是1个月。
计算起止日期间隔不足一年的完整月份数时,分两种情况:
(1)起止日期不跨年度。先用终止日期的月号减去起始日期的月号得到月份数,然后再根据情况进行修正。例如,起止日期为2008.3.31—2008.9.20,通过月号算出月份数为6。修正时,通过调用函数makevalid将2008.9.31改为2008.9.30,与终止日期2008.9.20比较后,将月份数修正为5。
(2)起止日期跨年度。计算方法如下例所示:对于起止日期2008.7.25—2009.3.31,先计算2008.7.25—2008.12.25的月份数为5,再算出2008.12.25—2009.3.25的月份数为3,因此2008.7.25—2009.3.31之间的完整月份数为8。
日期数据类型定义如下:
typedef struct {
int year; int month; int day; /*日期的年号(4位)、月和日号*/
}DATE;
程序中使用的函数cmp_date( )、isLeapYear( )和makevalid( )说明如表11-8所示。
[填空题]
阅读以下说明和C语言函数,填补空缺。
[说明]
已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。
函数count_5_13(int year)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。
程序中使用了函数isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为1(或0)分别表示year是(或不是)闰年。
[C语言函数]
int Count_5_13(int year)
{
int date; /*date为0表示星期日,为1~6分别表示星期一至星期六*/
long days=0; /*days记录天数*/
int m, y, c=0; /*c用于表示黑色星期五的个数*/
if(year<1900) return-1;
/*计算从1900年1月1日起,至给定年份year的1月13日间隔的天数*/
days=12;
for(y=1900; y<year; y++) {
days +=365;
if (iSLeapYear(Y)) (1) ;
}
date=((days%7)+1)%7;
/*算出给定年份year的1月13日是星期几+/
c=( (2) )1:0;
for(m=1; (3) ; m++) {
switch(m) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days=31; break;
case 4: case 6: case 9: case 11:
days=30; break;
case 2: days=28;
[填空题]
阅读以下说明和Java代码,填补空缺。
[说明]
java.util库中提供了Vector模板类,可作为动态数组使用,并可容纳任意数据类型。
该类的部分方法说明如下所示:
方法名 含义
add(k) 向vector对象的尾部添加一个元素k
removeElementAt(i) 删除序号为i的元素(vector元素序号从0开始)
isEmpty( ) 判断vector对象是否含有元素
size( ) 返回vector对象中所包含的元素个数
[Java代码]
Import (1) ;
public class JavaMain {
static private final int (2) =6;
public static void main(String[]args) {
Vector theVector=new Vector< (3) >( );
//初始化theVector,将theVector的元素设置为0至5
for(int cEachItem=0; cEachItem<ARRAY_SIZE; cEachItem++)
theVector. add( (4) );
showVector(theVector); //依次输出theVector巾的元素
theVector. removeElementAt(3);
showVector(theVector);
}
public static void showVector(Vector theVector){
if(theVector. isEmpty( )){
System.out.printin("theVector is empty.");
return;
}
for(int loop=0; loop<theVector.size( ); loop++) {
System.out.print(t

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
  • 支付完成
  • 取消支付
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码