主观

●试题四

【说明】

下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。

例如:若输入

2857848328

则应输出

The max:8

Total:4∥最大数出现次数

The positions:1469

【函数】

#include

#define M 10

int fun(int*a,int*n,int pos[])

{

int i,k max=-32767;

 (1) 

for(i=0;i

if( (2) )max=a[i];

for(i=0;i

if( (3) )pos[k++]=i;

*n=k;

return max;

}

main()

{

int a[M],pos[M],i=0,j,n;

printf("Enter 10 number:");

for(i=0;i<M;i++)scanf("%d", (4) );

j=fun( (5) );

printf("The max:%d\n",j);

printf("Total:%d",n);

printf("The position:");

for(i=0;i<n;i++)printf("%4d",pos[i]);

printf("\n");

}

参考答案
您可能感兴趣的试题

●试题六

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

【说明】

本应用程序是一个小写数字转换成大写格式的转换器,其运行窗口如图5所示。图5窗口中有两个标签(lblNumber和lblChinese)、两个文本框(txtNumber和txtChinese)和一个命令按钮(cmdChange)。当单击按钮cmdChange时,将文本框txtNumber中数字转换成中文大写,并显示在文本框txtChinese中。例如,在文本框txtNumber输入0076845,单击cmdChange按钮,将在文本框txtChinese中显示"柒万陆仟捌佰肆拾伍"。

程序中调用的函数CChinse(Strdigit As String)的功能是先删除字符串的所有前导0,再调用函数Change(Strdigit As String),将数字字符串Strdigit转换成中文大写格式。

为了防止用户在文本框txtNumber输入非数字形式的字符,程序将以空字符代替所输入的非数字有形字符。

【程序】

Private Function Transfer(Strdigit As String)As String

′完成小写向大写的转换,这段代码省略

End Function

Private Function CChinese(Strdigit As String)As String

Dim intLen,intCounter As Integer

intLen=Len(Strdigit)

If intLen>0 Then

intcounter=0

Do′过滤数字串Strdigit的前导0

intcounter=intcounter+1

Loop Until Mid(Strdigit, (1) )

intLen= (2) 

Strdigit= (3) (Strdigit,intLen)

CChinese=Transfer(Strdigit)

End If

End Function

Private Sub cmdChange_Click()

txtChinese.Text=CChinese( (4) )′调用Cchinese函数

End Sub

Private Sub txtNumber_KeyPress(KeyAscii As Integer)

Select Case KeyAscii′根据输入字符的ASCⅡ码的值进行判断

Case KeyAscii<32′保留输入的控制字符

Case 48 To 57′保留输入的数字字符

Case Else′其他情况以空字符代替

 (5) =0

End Select

End Sub

●试题三

阅读下列说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

本题给出四个函数,它们的功能分别是:

1.int push(PNODE *top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。

2.int pop(PNODE *top,int *e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。

3.int enQueue(PNODE *tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。

4.int deQueue(PNODE *tail,int *e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。

以上四个函数中,返回值为0表示操作成功,返回值为-1表示操作失败。

栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:

typedef struct node{

int value;

struct node *next;

}NODE,*PNODE;

【函数1】

int push(PNODE *top,int e)

{

PNODE p=(PNODE)malloc (sizeof(NODE));

if (!p) return-1;

p->value =e;

 (1) ;.

*top=p;

return 0;

}

【函数2】

int pop (PNODE *top,int *e)

{

PNODE p=*top;

if(p==NULL)return-1;

*e=p->value;

 (2) ;

free(p);

return 0;

}

【函数3】

int enQueue (PNODE *tail,int e)

{PNODE p,t;

t=*tail;

p=(PNODE)malloc(sizeof(NODE));

if(!p)return-l;

p->value=e;

p->next=t->next;

 (3) ;

*tail=p;

return 0;

}

【函数4】

int deQueue(PNODE *tail,int *e)

{PNODE p,q;

if((*tail)->next==*tail)return -1;

p=(*tail)->next;

q=p->next;

*e=q->value;

 (4) =q->next;

if(*tail==q) (5) ;

free(q);

return 0;

}

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服