根据以下代码,当c=0时,x的值将等于(), if(c) x = k; else x = 1'bz;
A.高电平
B.低电平
C.高阻
D.未知
- · 有3位网友选择 D,占比33.33%
- · 有3位网友选择 B,占比33.33%
- · 有2位网友选择 C,占比22.22%
- · 有1位网友选择 A,占比11.11%
A.高电平
B.低电平
C.高阻
D.未知
【说明2.1】
以下C语言函数用二分插入法实现对整型数组a中n个数的排序功能。
【函数2.1】
void fun1 (int a[])
{ int i,j,k,r,x,m;
for(i=2;i<=n;i++)
{ (1);
k=1;r=i-1;
while(k<=r)
{ m=(k+r)/2;
if(x<a[m])r=m-1;
else (2);
}
for(j=i-1;j>=k;j--)
a[j+l]=a[j];
(3);
}
}
【说明2.2】
以下程序可以把从键盘上输入的十进制数(long型)以二~十六进制形式输出。
【程序2.2】
include<stdio.h>
main()
{ charb[16]={'0','l','2','3 ,4,'5','6','7','8','9','A','B','C','D','E','F'};
int c[64],d,i=0,base;
long n;
printf("enter a number:\n");
scanf("%1d",&n);
printf("enter new basc:\n");
scanf("%d", &base);
do
{ c[i]=(4);
i++; n=n/base;
} while(n!=0);
printf("transmite new base:\n");
for(--i;i>=0;--i)
{ d=c[i];
printf("%c",(5));
}
}
【说明】
“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn。希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。
如下程序均能求得“背包问题”的一组解,其中程序1是“背包问题”的递归解法,而程序2是“背包问题”的非递归解法。
【程序1】
include<stdio.h>
define N 7
define S 15
int w[N+1]={0,1,4,3,4,5,2,7};
int knap(int s, int n)
{
if(s==0) return 1;
if(s<0 || (s>0 && n<1))return 0;
if((1)){/*考虑物品n被选择的情况*/
printf("%4d",w[n]);
return 1;
}
return (2);/*考虑不选择物品n的情况*/
}
main()
{
if(knap(S,N))printf("OK!\n");
else printf("N0!\n");
}
【程序2】
include<stdio.h>
define N 7
define S 15
typedef struct{
int s;
int n;
int job;
}KNAPTP;
int w[N+1]={0,1,4,3,4,5,2,7};
int knap(int s, int n);
main()
{
if(knap(S,N)) printf("0K!\n");
else printf("N0!\n");
}
int knap(int s, int n)
{
KNAPTP stack[100],x;
int top, k, rep;
x.s=s;x.n=n;
x.job=0;
top=1; stack[top]=x;
k=0;
while((3) ){
x=stack[top];
rep=1;
while(!k && rep){
if(x.s==0) k=1;/*已求得一组解*/
else if(x.s<0 || x.n<=0) rep=0;
else{
x.s=(4);
x.job=1;
(5)=x;
}
}/*while*/
if(!k){
rep=1;
while(top>=1 && rep){
x=stack[top--];
if(x.job==1){
x.s +=w[x.n+1];
x.job=2;
stack[++top]=x;
(6);
}/*if*/
}/*while*/
}/*if*/
/*while*/
if(k){&nbs
【说明】
“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1;w2,……,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。
如下程序均能求得“背包问题”的一组解,其中程序4.1是“背包问题”的递归解法,而程序4.2是“背包问题”的非递归解法。
【程序4.1】
include<stdio.h>
define N 7
define S 15
int w[N+1]={0,1,4,3,4,5,2,7};
int knap(int s,int n)
{ if(s==0)return 1;
if(s<0||(s>0& &n<1))return 0;
if((1)))|
printf("%4d",w[n]);return 1;
} return (2);
}
main(){
if(knap(S,N))printf("OK!\n");
else printf("NO!\n");
}
【程序4.2】
include<stdio.h>
define N 7
define S 15
typedef struct{
int s;
int n:
int job;
} KNAPTP;
int w[N+1]={0,1,4,3,4,5,2,7};
int knap(int s,int n);
main(){
if(knap(S,N))printf("OK!\n");
else printf("NO!\n");}
int knap(int s,int n)
{ KNAPTP stack[100],x;
int top,k,rep;
x.s=s;x.n=n;
x.job=0;
top=|;Stack[top]=x;
k=0;
while((3)){
x=Stack[top];
rep=1;
while(!k && rep){
if(x.s==0)k=1;/*已求得一组解*/
else if(x.s<0||x.n <=0)rep=0;
else{x.s=(4);x.job=1;
(5)=x;
}
}
if(!k){
rep=1;
while(top>=1&&rep){
x=stack[top--];
if(x.job==1){
x.s+=W[x.n+1];
x.job=2;
Stack[++top]=x;
(6);
}
}
}
}
if(k){/*输出一组解*/
while(top>=1){
x=staCk[top--];
if(x.job==1)
printf("%d\t",w[x.n+1]);
}
}
return k;
}
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明2.1】
以下C语言函数用二分插入法实现对整型数组a中n个数的排序功能。
【函数2.1】
void fun1(int a[])
{int i,j,k,r,x,m;
for(i=2;i<=n;i++)
{ (1) ;
k=1;r=i-1;
while(k<=r)
{m=(k+r)/2;
if(x
else (2) ;
}
for(j=i-1;j>=k;j--)
a[j+1]=a[j];
(3) ;
}
}
【说明2.2】
以下程序可以把从键盘上输入的十进制数(1ong型)以二~十六进制形式输出。
【程序2.2】
#include
main()
{char b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};
int c[64],d,i=0,base;
long n;
printf(″enter a number:′n″);
scanf(″%1d″,&n);
printf(″enter new basc:kn″);
scanf(″%d″,&base);
do
{c[i]= (4) ;
i++;n=n/base;
}while(n!=0);
printf("transmite new base:\n");
for(--i;i>=0;--i)
{ d=c[i];
printf("%c", (5) );
}
}
阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【程序4.1说明】
"背包问题"的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,...,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。
如下程序均能求得"背包问题"的一组解,其中程序4.1是"背包问题"的递归解法,而程序4.2是"背包问题"的非递归解法。
【程序4.1】
#include
#define N 7
#define S 15
int w[N+1]={0,1,4,3,4,5,2,7};
int knap(int s,int n)
{ if(s==0)return 1;
if (s<0||(s>0& &n<1))return 0;
if((1) )){
printf(″%4d″,w[n]);return 1;
}return (2) ;
}
main(){
if(knap(S,N))printf(″OK!\n″);
else printf(″N0!\n″);
}
【程序4.2】
#include
#define N 7
#define S 15
typedef struct {
int s;
int n:
int job;
} KNAPTP;
int w[N+1]={0,1,4,3,4,5,2,7};
int knap (int s,int n);
main() {
if (knap (S,N)) printf (″OK!\n″);
else printf (″NO!\n″);}
int knap (int s,int n)
{ KNAPTP stack[100],x;
int top,k,rep;
x.s=s;x.n=n;
x.job=0;
top=l;stack[top]=x;
k=0;
while((3) ) {
x=stack [ top ];
rep=1;
while (!k && rep ) {
if (x.s==0)k=1;/*已求得一组解*/
else if (x.s<0 || x.n <=0)rep=0;
else{x.s= (4) ;x.job=1;
(5) =x;
}
}
if(!k){
rep=1;
while(top>=1&&rep){
x=stack[top--];
if(x.job==1){
x.s+=w[x.n+1];
x.job=2;
stack[++top]=x;
(6) ;
}
}
}
}
if(k){/*输出一组解*/
while(top>=1){
x=stack[top--];
if(x.job==1)
printf(″%d\t″,w[x.n+1]);
}
}
return k;
}
[说明]
现需要统计某企业员工的月平均:[资,即该企业本月发给员工的工资总和除以员工数。假设企业本月发给员工的工资总和为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)______
A、第5行:x <y 第8行:x="y;" 第9行:y="z;<br/"> B、第5行:x>y 第8行:x=y; 第9行:y=z;
C、第5行:x <y 第8行: y="z;" 第9行:x="y;<br/"> D、第5行:x>y 第8行: y=z; 第9行:x=y;
A、语句“max = 1”应改为“max = a(1)”
B、语句“For i = 2 To 10”应改为“For i = 1 To 10”
C、If语句“max = i”应改为“max = a(i)”
D、语句“maxval = max ”应改为“maxval = a(max)”
B.4
C.34
D.35
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!