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

阅读下列程序说明和C程序,已知其输出为“1 2 3 4 5 6 7 8 9 10”。将应填入(n)处的字句写在对应栏内

阅读下列程序说明和C程序,已知其输出为“1 2 3 4 5 6 7 8 9 10”。将应填入(n)处的字句写在对应栏内。

[说明]

本程序包含的函数及其功能说明如下:

(1)函数first_insert()的功能是在已知链表的首表元之前插入一个指定值的表元;

(2)函数reverse_copy()的功能是按已知链表复制出一个新链表,但新链表的表元链接顺序与

已知链表的表元链接顺序相反;

(3)函数Print_link()用来输出链表中各表元的值;

(4)函数free_link()用来释放链表全部表元空间。

[程序]

include <stdio. h >

include <malloe. h >

typodef struct node {

int val;

struct node * next;

} NODE;

void first_insert(NODE * * p,int v)

{ NODE *q = (NODE *) malloe(sizeof(NODE));

q->val = v; q->next = *p; /* 为新表元赋值*/

* p =(1); }

NODE * reverse_copy(NODE * p)

{ NODE * u;

for(u=NULL; p!=NULL; p=p->next) first_insert((2));

return u;

}

void printlink(NODE * p )

{ for(;(3)) prinff("%d\t", p->val);

printf(" \n");

}

void free_link(NODE * p)

{ NODE * u;

while(p! =NULL) { u=p->next;free(p);(4); }

void main() { NODE * link1 , * link2;

int i;

link1 = NULL;

for(i=1; i<= 10; i+ + )first_insert(&linkl, i);

link2 = reverse_copy(link1 );

(5);

free_link(linkl ) ;free_link(link2); }

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读下列程序说明和C程序,已知其输出为“1 2 3 4 5 …”相关的问题

第1题

阅读以下技术说明和Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。[说明] 类Queue表示队列,

阅读以下技术说明和Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。

[说明]

类Queue表示队列,类中的方法如表4-12所示。

类Node表示队列中的元素;类EmptyQueueException给出了队列中的异常处理操作。

[Java代码]

public class testmain { //主类

public static viod main (string args[]) {

Queue q= new Queue;

q.enqueue("first!");

q.enqueue("second!");

q.enqueue("third!");

(1) {

while(true)

system.out.println(q.dequeue());

}

catch( (2) ) { }

}

public class Queue { //队列

node m_firstnode;

public Queue(){m_firstnode=null;}

public boolean isempty() {

if (m_firstnode= =null)

return true;

else

return false;

}

public viod enqueue(object newnode) { //入队操作

node next = m_firstnode;

if (next = = null) m_firstnode=new node(newnode);

else {

while(next.getnext() !=null)

next=next.getnext();

next.setnext(new node(newnode));

}

}

public object dequeue() (3) { //出队操作

object node;

if (is empty())

(4)

else {

node =m_firstnode.getobject();

m_firstnode=m_firstnode.getnext();

return node;

}

}

}

public class node{ //队列中的元素

object m_data;

node m_next;

public node(object data) {m_data=data; m_next=null;}

public node(object data,node next) {m_data=data; m_next=next;}

public void setobject(object data) {m_data=data; }

public object getobject(object data) {return m_data; }

public void setnext(node next) {m_next=next; }

public node getnext() {return m_next; }

}

public class emptyqueueexception extends (5) { //异常处理类

public emptyqueueexception() {

system. out. println ( "队列已空!" );

}

}

点击查看答案

第2题

阅读以下应用说明、图和C++程序,将C++程序中(1)~(6)空缺处的语句填写完整。【说明】 以下【C++程序】用

阅读以下应用说明、图和C++程序,将C++程序中(1)~(6)空缺处的语句填写完整。

【说明】

以下【C++程序】用于实现两个多项式的乘积运算。多项式的每一项由类Item描述,而多项式由类List描述。类List的成员函数主要有:

createList():创建按指数降序链接的多项式链表,以表示多项式:

reverseList():将多项式链表的表元链接顺序颠倒:

multiplyList(ListL1,ListL2)计算多项式L1和多项式L2的乘积多项式。

【C++程序】

include <iostream.h>

class List;

class Item {

friend class List;

private:

double quot ;

int exp ;

Item *next;

Public:

Item(double_quot,int_exp)

{ (1) ;}

};

class List{

private:

Item *list;

Public:

List(){

list=NULL:

}

void reverseList();

void multiplyList(List L1,List L2);

void createList();

};

void List::createList()

{ Item *p,*U,*pre;

int exp;

double quot;

list = NULL;

while (1) {

cout << "输入多项式中的一项(系数、指数) :" << endl;

cin >> quot >> exp:

if ( exp<0 )

break ; //指数小于零,结束输入

if ( quot=0 )

continue;

p = list;

while ( (2) ) { //查找插入点

pre = p;

p = p->next;

}

if ( p != NULL && exp = p->exp ) {

p->quot += quot;

continue ;

}

u =(3);

if (p == list)

list = u;

else

pre->next = u;

u ->next = p;

}

}

void List::reverseList()

{ Item *p, *u;

if ( list==NULL )

return;

p = list ->next;

list -> next = NULL;

while ( p != NULL) {

u = p -> next;

p ->next = list;

list = p;

p = u;

}

}

void List::multiplyList ( List L1, List L2 )

{ Item *pL1,*pL2,*u;

int k, maxExp;

double quot;

maxExp =(4):

L2.reverseList();

list=NULL;

for ( k = maxExp;k >= 0;k-- ){

pL1 = L1.list;

while ( pL1 != NULL && pL1 -> exp > k )

pL1 = pL1 ->next;

pL2 = L2.1ist;

while (pL2 NULL &&(5))

pL2 = pL2 -> next;

quot = 0.0;

while (pL1 != NULL && pL2 != NULL){

if(pL1->exp+pL2->exp==k) {

(6)

pL1 = pL1 -> next;

pL2 = pL2 -> next;

} else if ( pL1 -> exp + pL2 -> exp > k )

pL1 = pL1 -> next;

else

pL2 = pL2 -> next;

}

if ( quot !=0.0 ) {

u = new item( quot, k );

u -> next = list;

list = u;

}

}

reverseList ();

L2. reverseList ():

}

void main()

{ List L1,L2,L;

点击查看答案

第3题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。[说明] 本程序中预设了若干个用户名和

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

[说明]

本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。

[C++程序]

include <iostream. h>

include <string. h>

class User

{ protected:

char user[10];

char pass[7];

public:

User(char[ ],char[]);

(1) {return user;}

(2) {return pass;}

};

User::User(char u[],char p[])

{ strcpy(user,u);

strcpy(pass,p); }

void main()

{ User ua[]={User("Li","123456"),User("wang","654321"),User("Song","666666")

char name[10];

while(1)

cout< < "输入用户名:";

cin> >name;

if((3)= =0) break;

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

if(strcmp(name,ua[i].getuser()) = =0){

cout< <"密码:" < < ua[i].getpass() < <endl;

(4);

if((5))cout< <"该用户不存在!" < <endl;

}

}

点击查看答案

第4题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】 对20个数进行排序,可以利

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

【说明】

对20个数进行排序,可以利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依次类推,即用第二个元素与后18个进行比较,并进行交换。

【函数】

define N 20

main()

{

int i,j,min,tem,a[N];

printf("please input twenty num:\n");

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

{

printf("a[%d]=",i);

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

}

printf("\n");

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

printf(",",a[i]);

printf("\n");

for(i=0;(1);i)

{

min=(2);

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

if((4))

min=j;

tem=a[i];

(5);

a[min]=tem;

}

printf("After sorted \n");

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

printf(",",a[i]);

}

点击查看答案

第5题

阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。1.【说明】 实现连通图G的深度优先遍历(

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

1. 【说明】

实现连通图G的深度优先遍历(从顶点v出发)的非递归过程。

【算法】

第一步:首先访问连通图G的指定起始顶点v;

第二步:从V出发,访问一个与v(1)p,再从顶点P出发,访问与p(2)顶点q,然后从q出发,重复上述过程,直到找不到存在(3)的邻接顶点为止。

第三步:回退到尚有(4)顶点,从该顶点出发,重复第二、三步,直到所有被访问过的顶点的邻接点都已被访问为止。

因此,在这个算法中应设一个栈保存被(5)的顶点,以便回溯查找被访问过顶点的未被访问过的邻接点。

点击查看答案

第6题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】 以下程序的功能是设计一个栈类s

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

【说明】

以下程序的功能是设计一个栈类stack<T>,并建立一个整数栈。

【程序】

include < iostream. h >

include < stdlib. h >

const int Max =20; //栈大小

template < class T >

class stack{ //栈元素数组

T s[Max]; //栈顶下标

int top;

public:

stack( )

{

top =-1; //栈顶初始化为-1

}

void push( const T &item); //item入栈

T pop( ); //出栈

int stackempty( ) const; //判断栈是否为

};

template < class T >

void stack <T >::push(const T &item)

{

if(top==(1))

{

cout <<"栈满溢出" <<endl;

exit(1);

}

top ++

s[top] = item;

}

template < class T >

T stack<T> ::pop()

{

T temp;

if(top==(2))

{

cout <<"栈为空,不能出栈操作" < < endl;

exit(1);

}

temp =s[top];

top --;

return temp;

}

template < class T >

int stack < T >:: stackempty( ) const

{ return top == -1;

{

void main( )

{

stack <int> st;

int a[] ={1,2,3,4,5};

cout <<"整数栈" <<endl;

cout <<"入栈序列:" <<endl;

for(int i=0;i<4;i ++)

{

cout <<a[i] <<" ";

(3);

}

cout << endl <<"出栈序列";

while((4))

tout<<(5)<<" ";

cout< < endl;

}

点击查看答案

第7题

若要在图4-16窗口内新增一个[帮助]按钮,单击该按钮就会弹出一个帮助对话框(另一名为frm002的窗体

),用户必须在其中做出响应,程序才能继续运行。请将以下该命令按钮的单击事件过程中的程序代码填写完整。

Private Sub CmdHelp_C1ick()

(10)

End Sub

点击查看答案

第8题

阅读以下说明和Java代码,将解答写入对应栏内。【说明】 下面程序的功能是显示已定义的一个3行3列的

阅读以下说明和Java代码,将解答写入对应栏内。

【说明】

下面程序的功能是显示已定义的一个3行3列的二维数组每行的元素,并求所有元素的和并输出。请在程序的每条横线处填写一个适当的语句,使程序的功能完整。

public class Arrayt

(1) static (2) main(String args[])

{

int sum=0;

int [][] = t {11,12,13}, {21,22,23},{31,32,33}};

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

{

System. out. print("b["+i+"]:");

for(int j=0;(4) j++)

System. out. print(b[i] [j] +" ");

(5)

}

System. out. println ();

}

System. out. println("sum="+sum);

}

}

点击查看答案

第9题

阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在对应栏内。 【说明】 该应用

阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在对应栏内。

【说明】

该应用程序是用来修改文本框中的字体属性,其运行窗口如图4所示。

窗口由1个标签(Labell)、1个文本框(txtPassage)和4个选择框(chkFont,chkltalic,chkSize,chkColor)组成。程序运行后,用户在文本框内输入一段文字,然后按需要单击各选择框,用以改变文本的字体、字型、颜色及大小。

文本框的Mulitine属性已经设为True。当不选择“黑体”时,文字应是“宋体”。当不选择“大小16”时,字号为9。当不选择“紫色”时,字色为黑色。当不选择“斜体”时,文字采用正常字型。

【程序代码】

Private Sub chkFont Click( )

If (1) Then

txtPassage. FontName ="黑体"

Else

txtPassage. FontName ="宋体"

End If

End Sub

Private Sub (2) ()

If chkColor. Value = 1 Then

txtPassage. ForeColor = QBColor(13)

Else

txtPassage. ForeColor = QBColor (0)

End If

End Sub

Private Sub chkltalic_Click()

If chkltalic. Value = 1 Then

txtPassage. Fontl talic =(3)

Else

txtPassage. Fontltalic=(4)

End If

End Sub

Private Sub chkSize Click( )

If (5) Then

txtPassage. Font. Size = 16

Else

txtPassage. Font. Size = 9

End If

End Sub

点击查看答案

第10题

阅读下列程序说明和C++程序,将应填入______处的语句写在答题纸的对应栏内。 [程序8说明] 程序用于

阅读下列程序说明和C++程序,将应填入______处的语句写在答题纸的对应栏内。

[程序8说明]

程序用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额。职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于。结束。

假设个人所得税法规定:个人收入所得,按月计税,以每月收入总额减除免税金额800元后的余额作为该月的月应纳税所得额。适用税率如表2-1所示。

上表表明,个人收入所得税是按照超额累计的税率来征收的。

设一个人的月应纳税所得额为K(元),用下面的公式计算其应缴纳的个人所得税额S(元):

若0<K≤500,则S=K×5%;

若500<K≤2000,则S=500×5%+(K-500)×10%;

若2000<K≤5000,则S=500×5%+1500×10%+(K-2000)×15%;

若5000<K≤20000,则S=500×5%+1500×10%+3000×15%+(K-5000)×20%,

……

例如,某人某月收入总额为4100元,减去800元后,应纳税所得额为3300元,其应缴纳的个人所得税额为500×5%+1500×10%+1300×15%=370元。

[程序8]

include<stdio.h>

define MaxNum 50

define BASE 800 / * 免税金额基数 * /

int paylevel[]={0,500,2000,5000,20000,40000,60000,80000,100000,1000001};

int taxPrate[]={5,10,15,20,25,30,35,40,45}; / * 税率表 * /

typedef struct{

int Id; / * 职工的工号 * /

long Salary; / * 职工的工资 * /

}Info;

/ * 查找工号为Id的职工在数组employee中的下标,返回值为0表示没有 * /

int find(int Id,Info employee[],iht m){

int j;

employee[O].Id=Id;

for(j=m; (1) ;j--);

return j;

}

void main(vpid)

{Info employee[MaxNUm+1);

long Wage;

double sum=0,K,S;

int i,j,N=0,Code;

scanf(“%d %Id”,&Code,&Wage); / * 读入职工号、工资或薪金 * /

while(Code>0){

i=find(Code,employee,N);

if(i>0)employee[i].Salary+=Wage;

else {(2)

employee[N].Id=Code;employee[N].Salary=Wage;

}

scanf(“%d %”,&Code,&Wage);

}

for(i=1;i<=N;i++){

K=(3); / * 计算月应纳税所得额 * /

S=0; / * 月应纳税额赋初值 * /

if(K>0){

for(j=1;j<=9;j++)

if( (4) ) / * 月应纳税所得额超过第j级 * /

S=S+(Paylevel[j]-paylevel[j-1])*taxPrate[j-1]/100;

else{S=S+( (5) )*taxPrate[j-1]/100;break;}

}

printf(“职工%d应缴纳的个人所得税额:%10.2If\n”,employee[i].ld,S);

sum+=S;

}

printf(“全体职工个人所得税总额:%10.2If\n”,sum);

}

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

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

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

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

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