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

阅读以下说明和C语言函数,填补空缺。[说明] 已知1900年1月1日是星期一,下面的函数count_5_13(int

阅读以下说明和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)) ________ ;

}

date=((days%7)+1)%7;

/*算出给定年份year的1月13日是星期几+/

c=(________ )?1:0;

for(m=1; ________ ; 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;

if(________ )days=29;

break;

}/*end of switch*/

date=((days%7)+ ________ )%7;

if (date==5) c++;

} /*end of for*/

return c;

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读以下说明和C语言函数,填补空缺。[说明] 已知1900年…”相关的问题

第1题

阅读以下说明和C++代码,将填入(n)处的字句在应栏内。[说明] 现需要统计某企业员工的月平均:[资,

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

[说明]

现需要统计某企业员工的月平均:[资,即该企业本月发给员工的工资总和除以员工数。假设企业本月发给员工的工资总和为sumSalary,该企业的员工总数为employeeNumber,下面的程序代码计算该企业员工本月的平均工资,其中需要处理employNumber为0的情况。

[C++代码]

include

using namespace std;

class Department {

protected:

float average(float x, int y){

if(Y==O) throw (1)______ ;

return x/y;

}

public:

void caculate(void){

float sumSalary;

int employeeNumber;

try{

cout <<"请输入当月工资总和与员工数:"<<endl;

cin >> sumSalary >> employeeNumber:

float k=average(sumSalary,employeeNumber);

cout <<"平均工资:"<<k<<endl;

}

(2)______ (int e){

if(e==0){

cout <<"请重新输入当月工资总和与员工数:"<<endl;

cin>>sumSalary>>employeeNumber;

float k=average(sumSalary,employeeNumber);

cout<<"平均工资:"<<k<<endl;

}

}

}

};

VOid msin(){

try {

(3)______ ;

d.caculate();

}

(4)______ (int e){

if(e==0)

cout<<"程序未正确计算平均工资!"<<endl;

}

}

[问题1]

程序运行时,若输入的员工工资总和为6000,员工数为5,则屏幕输出为:

请输入当月工资总和与员工数:

6000 5

(5)______

[问题2]

若程序运行时,第一次输入的员工工资总和为6000,员工数为0,第二次输入的员工工资总和为0,员工数为0,则屏幕输出为:

请输入当月工资总和与员工数:

6000 0

(6)______

0 0

(7)______

点击查看答案

第2题

阅读以下说明和C函数,将应填入(n)处对应栏内。 [说明] 基于管理的需要,每本正式出版的图书都有一

阅读以下说明和C函数,将应填入(n)处对应栏内。

[说明]

基于管理的需要,每本正式出版的图书都有一个ISBN号。例如,某图书的ISBN号为“978-7-5606-2348-1”。

ISBN号由13位数字组成:前三位数字代表该出版物是图书(前缀号),中间的9个数字分为三组,分别表示组号、出版者号和书名号,最后一个数字是校验码。其中,前缀号由国际EAN提供,已经采用的前缀号为978和979;组号用以区别出版者国家、地区或者语言区,其长度可为1~5位;出版者号为各出版者的代码,其长度与出版者的计划出书量直接相关;书名号代表该出版者该出版物的特定版次;校验码采用模10加权的算法计算得出。

校验码的计算方法如下:

第一步:前12位数字中的奇数位数字用l相乘,偶数位数字用3相乘(位编号从左到右依次为13到2)。

第二步:将各乘积相加,求出总和S。

第三步:将总和S除以10,得出余数R。

第四步:将10减去余数R后即为校验码V。若相减后的数值为10,则校验码为0。

例如,对于ISBN号“978-7-5606-2348-1”,其校验码为1,计算过程为:

S=9×1+7×3+8×1+7×3+5×1+6×3+0×1+6×3+2×1+3×3+4×1+8×3=139

R=139mod 10=9

V=10-9=1

函数check(char code[])用来检查保存在code中的一个ISBN号的校验码是否正确,

若正确则返回true,否则返回false。例如,ISBN号“978-7-5606-2348-1”在code中的

存储布局如表3-1所示(书号的各组成部分之间用“-”分隔):

表3-1 数组code的内容示例

在函数check(char code[])中,先将13位ISBN号放在整型数组元素tarr[0]~tarr[12]中(如表3-2所示,对应ISBN号的位13~位1),由tarr[0]~tarr[11]计算出校验码放入变量V,再进行判断。

表3-2 数组tarr的内容示例

[C函数]

boo1 cheCk(char code[])

{

int i,k=0;

intS=0,temp=0;

int V;

int tarr[13]={0};

if (Strlen(code) <17} return falSe;

for(i=0; i<17; i++) /*将13位ISBN号存入tarr*/

if(code[i]!='-')

tarr (1)____ =code[i]-'0';

for(i=0; (2)_____ ; i++ ); {

if (i%2)

S+= (3)______ ;

else

S+= (4)______ ;

}

v=( (5)______ ==C)?0:10-s%10;

if(tart[12]==v)

return true ;

return false;

}

点击查看答案

第3题

对以上【Java源程序】进行运行测试,请将以下(9)、(10)空缺处的测试命令填写完整。 在本机运行WebServ

对以上【Java源程序】进行运行测试,请将以下(9)、(10)空缺处的测试命令填写完整。

在本机运行WebServer程序,然后打开IE浏览器。

1)在IE地址栏中,输入请求“/index.html”页面的命令:(9)。

2)在IE地址栏中,输入关闭Web服务器的命令:(10)。

点击查看答案

第4题

阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。【说明】 1.HTTP ◆ HTTP请

阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。

【说明】

1.HTTP

◆ HTTP请求消息示例

GET/index,htmlHTTP/1.1

Accept:image/gif,image/jpeg,*/*

Accept-Language:zh-ch

Accept-encoding:gzip,deflate

User-Agent:Mozilla/4.0(compatible: MSIE6.0;Windows 2003)

Host:localhost:8080

Connection:Keep-Alive

◆ HTTP响应消息示例

HTTP/1.1 200 OK

Servert:Microsoft-IIS/6.0

Date:Mon,3 Jan 2008 13:13:33 GMT

Content-Type:text/html

Last-Modified:Mon,11 Jan 2008 13:23:42 GMT

Contelit-Length:112

<html>

...

</html>

2.相关类及主要成员函数

◆ ServerSocket类

服务器端套接字,它监听固定端口,以接收来自客户端的连接请求,一旦建立连接就返回一个Socket类型的对象,类中的主要成员函数如表6-16所示。

◆Socket类 基于连接的套接字,类中的主要成员函数如表6-17所示。

【Java源程序:一个简单的Web服务器】

/* WebScrvc.java */

packageobjclass;

import java.net.*;

import java.io.*;

public class WebServer{

public static final int PORT=8080; //Web服务器侦听的端口号

public static final String WEB_ROOT= SyStem.getProperty("user.dir")+

File.separator+"webroot";

//WEB_ROOT变量存放Web服务器工作目录,HTML, GIF图片等静态文件资源

private static final String SHUTDOWN_COMMAND="/shutdown";

//SHUTDOWN_COMM_AND变量保存关闭服务器的命令

private Boolean shutdown=false; //是否收到关闭服务器命令的标志

public static void main(Sting[] args) {

WebServer server=new WebServer();

Server.await ()

}

public void await() {

ServerSocket serverSocket = null;

try {

serverSocket = new (1);

//创建侦听端口号为PORT的ServerSocket类型的对象

System.out.println ("WebServerStarted!");

}

catch(IOException e) {

e.printStackTrace ();

SyStem. exit (1);

}

while(!shutdown) { //循环等待客房端连接

Socket socket = null;

InputStream input = null;

OutputStream utput = null;

try{

Socket =(2); //创建来自客房端的连接套接字

Input = socket.(3); //创建输入流

utput = socket.(4); //创建输出流

Request reque

点击查看答案

第5题

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 下面的Java程序演示了如何使

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

【说明】

下面的Java程序演示了如何使用Applet在网页上显示图形用户界面CUI(graphical user interface),该实例显示一个时钟。每当浏览器显现Applet的内容时都调用start()函数,让applet得以开始工作(尤其时那些被stop()函数所关闭的工作)。每当浏览器不再显现Applet的内容时都调用stop()函数,让applet得以关闭某些甚耗资源的工作调用destroy()函数之后也会调用此函数。每当浏览器将Applet从网页移除时都调用destroy()函数,已执行"applet不再被使用时"应该做的最后释放资源等动作。每当调用repaint()函数时,或网页窗口须重新刷新时调用paint()函数。

【Java程序】

import java.applet.*;

import java.awt.*;

public class ClockApplet extends (1) implements Runnable

{ //运行函数,每隔一秒刷新一次时间

public void run(){

while (true){

try{

Thread.sleep(1000);

}

catch (InterruptedException e){}

(2); //刷新当前时间

}

}

public void start(){ //调用此函数,并根据条件启动时钟线程或重起线程

if( clockThread= =null){

clockThread = new Thread(this);

clockThread. start();//启动新创建的线程

}

else

clockThread.(3);//恢复挂起的线程

}

public void stop(){ //挂起时钟线程

if (clockThread ! = null)

clockThread. (4);

}

public void destroy(){//停止时钟线程

if (5) {

clockThread.stop();

clockThread = null;

}

}

public void paint(Graphics g){//在网页上重新显示时间

g. drawString( new java.util. Date().toString(), 10,30);

}

private Thread clockThread;

}

点击查看答案

第6题

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 下面的Java程序演示了如何在

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

【说明】

下面的Java程序演示了如何在用户等待载入主程序时显示logo图片的例子。logo图片mylogo.gif存放在文件夹image下面。显示logo图片的是一个线程类logo。

【Java程序】

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.ImageIcon.*;

import java.lang.Runnable;

public class mainFrame. extends JFrame

{

public static void main(String[] args)

{

Logo lg=new Logo("image/mylogo.gif");

lg. (1);

mainFrame. main_framE. = new mainFrame();

main_frame.setTitle("使用logo图片示例程序”);

Thread.sleep(1);//程序暂时挂起

main_frame.setVisible(true);

lg. (2);//使logo图片不可见

}

}

class Logo extends JWindow implements (3)

{

String filename;//Logo图像文件的文件名

public Logo(Stringname){

filename = name;

}

public void run()

{

ImageIcon ig = new ImageIcon(filename);

JButton btn = new JButton(ig); //将图片给JButton显示

getContentPane(). (4); //将按钮加到JPanel里

Toolkit kit = Toolkit.getDefauhToolkit();

Dimension screenSize = kit.getScreenSize(); //获得屏幕的大小

setLocation(screenSize.width/4,screenSize.height/4);

//将Logo窗口显示在屏幕宽的1/4,高的1/4处

setSize(ig. getIconWidth(),ig. getIconHeight()); //将Logo窗口大小设成图像的大小

toFront(); //将Logo窗口显示为最前面的窗口

setVisible(true) (5); //显示该窗口

}

public void setNOtVisible()

{

setVisible(false);

}

}

点击查看答案

第7题

阅读下列算法说明和算法流程,将应填入(n)处的字句写在对应栏内。 【算法说明】 程序实现了常见的猜

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

【算法说明】

程序实现了常见的猜数字游戏。游戏开始时由程序自动产生一个1到100的随机数,接收用户输入,并给出提示信息,直至用户猜对。用户猜对后,显示猜测次数,并提供“重新开始”和“退出”功能。

算法采用两层循环实现。外层循环采用do-while循环,由循环条件控制是否重新开始。内层采用for循环,用于判断用户的每次输入。m是随机产生的整数,键盘输入是字符串类型变量,n是整型变量。

【问题1】内循环还需要一个变量,其作用为(1)。

【问题2】请将流程图5.2补充完整。

点击查看答案

第8题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【C++程序】include < stdio. h >include

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

【C++程序】

include < stdio. h >

include < string. h >

define Max 1000

class Bank

{

int index;

char date [Max] [10]; // 记录交易日

iht amount[Max]; // 记录每次交易金额,以符号区分存钱和取钱

int rest[ Max]; // 记录每次交易后余额

static iht sum; // 账户累计余额

public:

Bank( ) {index =0;}

void deposit( char d[ ] , int m) //存入交易

{

strcpy ( date [ index ], d);

amount[ index] = m;

(1);

rest[ index] = sum;

index++;

}

void withdraw (char d[ ], int m) //取出交易

{

strcpy( date[ index] ,d);

(2);

(3);

rest[ index] = sum;

index++;

}

void display( );

};

int Bank:: sum = 0;

void Bank:: display ( ) //输出流水

{

int i;

printf("日期 存入 取出 余额\n");

for (4)

{

printf(" %8s" ,date[i] );

if (5)

printf(" %6d" , -amount[i] );

else

printf( "%6d ",amount[i] );

printf( "% 6d\n" ,rest[i] );

} }

void main( )

{

Bank object;

object. deposit ( "2006.2.5", 1 00 );

object. deposit( "2006.3.2" , 200);

object. withdraw( "2006.4.1", 50);

object. withdraw( "2006.4.5", 80);

object. display ( );

}

本程序的执行结果如下:

日期 存入 取出 余额 2006.2.5 100 100

2006.3.2 200 300

2006.4.1 50 250

2006.4.5 80 170

点击查看答案

第9题

阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。 【说明】 并行计算中需要将N个作业分配给N

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

【说明】

并行计算中需要将N个作业分配给N个处理器同时去完成,每个处理器都能承担这N个作业,但耗时不同。下面的程序用回溯法计算总耗时最小的一种作业分配方案,在该方案中为每个处理器分配1个不同的作业。

程序中,N个作业从0开始依次编号,N个处理器也从0开始依次编号,主要的变量说明如下:

c[i][j]:将作业i分配给处理器j的耗时;

job[i]:值为0表示作业i未分配,值为j表示作业i分配给处理器j;

processor[k]:值为0表示处理器k未分配作业,值为1表示处理器k已分配作业;

mincost:最小总耗时。

【C程序】

include<stdio.h>

define N 8/*N表示作业数和处理器数*/

int c[N][N];

unsigned int mincost=65535/*设置min的初始值,大于可能的总耗时*/

int job[N],temp[N],processor[N];

void Assign(int k,unsigned int cost)

{

int i;

if (1)&& cost<mincost){

mincost = cost

for(i=0;i<N;i++)temp[i]=job[i];

}

else {

for(i=0;i<N;i++)/*分配作业k*/

if (2)&& cost+c[k][i]<mincost){

processor[i]=1;job[k]=(3);

Assign (4),cost+c[k][i]);

(5);job[k]=0;

}/ * if * /

}

}/ *Assign * /

void main()

{

int i,j;

for(i=0;i<N;i++){/*设置每个作业由不同处理器承担时耗时及全局数组的初值*/

processor[i]=0;job[i]=0;temp[i]=0;

for(j=0;j<N;j++)

scanf("%d",&c[i][j]);

}

Assign(0,0);/*从作业0开始分配*/

printf("\n最小耗时=%d\n",mincost);

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

printf("Job%d is assigned to Processor%d\n",i,temp[i]);

}/*main*/

点击查看答案

第10题

阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。 【说明】 程序利用选择排序算

阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。

【说明】

程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。

【程序】

define N 10

main()

{

void (1);

int i,a[N];

for(i=0;i<10,i++) /*输入*/

scanf(“%d”,&a[i]);

(2);

for(i=0;i<N,i++) /*输出*/

printf(“%3d”,a[i]);

}

void selectSon(int x[],int n)

{

int i,j,k,t;

for(int i=0; (3);i++)

{

k=i;

for(j=i+1;j<n;j++)

if (4) k=j;

if (5)

{t=x[i];x[i]=x[k];x[k] =t;}

}

}

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

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

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

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

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