[说明]
函数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所示。
[简答题]阅读以下说明,回答问题。 【说明】 多媒体应用系统是由专家或开发人员利用计算机语言或多媒体创作工具制作的最终产品。目前,多媒体应用系统所涉及的应用领域主要有文化教育(教学软件)、电子出版、音像制作、影视制作、影视特技、开发系统、通信和信息咨询服务等。 (1)开发系统:是用来开发应用的工具性或支持类软件系统,如创作工具、数据库系统、著作语言、多媒体编辑器等。 (2)Title是一类多媒体应用的总称,主要指具有一定主题的应用型光盘产品,如大百科全书、词典、教科书、某一专题的介绍(如风光、古迹、邮票)等。 (3)演示系统:为某一单位或某一应用专门设计的演示系统,更加强调演示上的创意或应用上所要求的特殊效果,例如单位的介绍、产品的演示、某个科研项目表演等。 (4)教育培训:复杂的信息组织格式和交互是此类系统十分重要的特点。因为在教学过程中,不仅仅要求表演信息,而且还要不断地穿插测验、回答、习题等内容。 (5)娱乐:多媒体游戏、影视节目等均属于这一类,更强调交互性和实时性,并不一定要求很大的信息量和准确性。 (6)专门应用系统:此类系统为特定目的而设计,如多媒体会议系统、医学诊断系统等,本身具有鲜明的专业特色。 【问题】 综述多媒体应用设计的基本原则。
[填空题]
阅读以下说明和C语言程序,填补空缺。
[说明]
某电信公司记录了每个用户的详细通话情况(每次通话数据记录在一行),现将某用户某月的通话数据存入一个文本文件“dial.txt”中,其数据格式如下:
拨入或拨出标记通话开始时间通话结束时间对方号码
注1:数据字段以一个空格作为分隔符。
注2:拨入和拨出标记均为小写字母。拨入标记为“i”,表示其他用户呼叫本机,本机用户不需付费;拨出标记为“o”,表示本机呼叫其他用户,此时本机用户需要付费。
注3:通话开始和结束时间的格式均为:HH:MM:SS。其中HH表示小时,取值00~23;MM表示分钟,取值00~59;SS表示秒,取值00~59。从通话开始到结束这段时间称为通话时间,假定每次通话时间以秒为单位,最短为1秒,最长不超过24小时。
注4:跨月的通话记录计入下个月的通话数据文件。
例如“o 23:01:12
00:12:15…”表示本次通话是本机呼叫其他用户,时间从23时01分12秒至次日的0时12分15秒,通话时间为71分03秒。
下面程序的功能是计算并输出该用户本月电话费(单位:元)。
通话计费规则为:
(1)月通话费按每次通话费累加;
(2)每次的通话费按通话时间每分钟0.08元计算,不足1分钟时按1分钟计费。
对于每次的拨出通话,程序中先分别计算出通话开始和结束时间相对于当日0点0分0秒的时间长度(以秒为单位),然后算出本次通话时间和通话费。
例如,若输入文件dial.txt的数据如下所示,则输出fee=7.44。
o 14:05:23 14:11:25
82346789
i 15:10:00 16:01:15 13890000000
o
10:53:12 11:07:05 63000123
o 23:01:12 00:12:15
13356789001
[C语句程序代码]
#include<stdio.h>
FILE *fin;
int main(
)
{
char str[80];
int h1, h2, m1, m2,
[填空题]
阅读以下说明和C语言函数,回答问题。
[说明]
下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“14251382”,则输出的整数为“4532”。下面给出的C程序代码中有5个错误,请指出所有的错误。
[C程序代码]
01 #include <stdio.h>
02
03 int main( )
04
{
05 long n, num;
06 int
i;
07
08 do {
09 printf("清输入一个正整数: ");
10 scanf("%id", n);
11 }while(n<=0);
12 k=1;
13 for(i=1; n>=0; i++) {
14
if(i io 2=1) {
15 Rum=num+(n%10)*k;
16 k=k * 10;
17 }
18
n=n/10;
19 }
20
printf("新数据为: %d/n", num);
21 return 0;
22 }
购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
请选择支付方式
-
微信支付
-
支付宝支付
立即支付
系统将自动为您注册账号
请使用微信扫码支付
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码