160km£¯h≥υmax>120km£¯h正线上,75以下~60kg£¯m钢轨头部垂直磨耗超过___mm,达到重伤标准。
A.9
B.10
C.11
D.12
A.9
B.10
C.11
D.12
设有以下说明和定义: #include<iostream. h> Void main() { typedef union { long i; int k[5]; char c; } DATE; struct date {int cat; DATE cow; double dog; }too; DATE max; cout<<(sizeof(struct date)+sizeof(max))<<end1;}
A.26
B.52
C.18
D.8
请改正程序指定部位的错误,使它能得到正确结果。
[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。
[试题源程序]
include<stdio.h>
include<stdlib.h>
typedef struct aa
{
int data;
struct aa *next;
}NODE;
fun(NODE *h)
{
int max=-1;
NODE *p;
/***********found************/
p=h;
while(p)
{
if(p->data>max)
max=p->data;
/************found************/
p=h->next;
}
return max;
}
outresult(int s, FILE *Pf)
{
fprintf(pf, "\nThe max in link: %d\n", s);
}
NODE *creatlink(int n, int m)
{
NODE *h, *p, *s, *q;
int i, x;
h=p=(NODE *)malloc(sizeof(NODE));
h->data=9999;
for(i=1; i<=n; i++)
{
s=(NODE *)malloc(sizeof(NODE));
s->data=rand()%m; s->next=p->next;
p->next=s; p=p->next;
}
p->next=NULL;
return h;
}
outlink(NODE *h, FILE *pf)
{
NODE *p;
p=h->next;
fprintf(Pf, "\nTHE LIST:\n\n HEAD");
while(P)
{
fprintf(pf, "->%d", P->datA); p=p->next;
}
fprintf(pf, "\n");
}
main()
{
NODE *head; int m;
head=cteatlink(12,100);
outlink(head, stdout);
m=fun(head);
printf("\nTHE RESULT"\n");
outresult(m, stdout);
}
阅读以下说明和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
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。[说明]
下面的词典类Dic实现了简单的英译汉功能。程序运行后的输出为“我是一个学生”。
[C++程序]
include <iostream.h>
include <string.h>
define Max 100
class Dic
{ int top;
char words[Max] [12];
char mean[Max] [20];
public:
Die(){top=0;}
void add(char w[],char m[]){
strcpy(words[top],w);
strcpy(mean[top],m);
(1);
}
void trans(char str[]) {
int i=0,j=0,k=0,s;
char w[12],h[200];
while(l) {
if(str[i]! =''&&str[i]! ='\0')
w[j++]=str[i]; //读取单词的一个字符,记录在w中
else {
w[j]='\0';
for(s=0;s < top;s++)
if(strcmp(words[s],w) (2) 0) break;
if(s<top) //找到了,翻译成对应的mean[s]
{ strcpy(w,mean[s]); j=(3);}
else //未找到,翻译成(unknown)
{ strcpy(w,"(unknown)"}; j=9; }
for(s=0;s<j;s++)
h[k++]=w[s];
if(str[i]=='\0') { (4); break;}
j=0;
}
i++;
}
cout<<h<<endl;
}
};
void main()
{ Dic obj;
obj.add("I","我");
obj.add("am","是");
obj.add("student","学生");
obj.add("a","一个");
obj.trans("(5)");
}
某线性规划问题用单纯形法迭代时,得到其中一步的单纯形表如表所示。已知该线性规划的目标函数为max z=10x1+4x2,约束条件形式为≤,其中单纯形表中x3,x4为松弛变量,表中解带入目标函数之后得z=28。 迭代 次数 基变量 cB x1 x2 x3 x4 b 10 4 0 0 ... ... ... ... ... ... ... n x3 0 8 b 1 1 12 x2 4 a c e g h cj-zj -18 d f -4 (1)求a 到 h 的值; (2)表中给出的解是否为最优解?
函数ReadDat()实现从文件IN.dat中读取1000个十进制整数到数组xx中;请编写函数 Compute()分别计算出数组xx中奇数的个数odd、偶数的个数even,以及所有数的平均值aver和方差totfc的值。最后调用函数WriteDat(),把结果输出到OUT. dat文件中。
计算方差的公式如下:
原始数据文件存放的格式是:每行存放10个数(每个数均大于0且小于等于2000),并用逗号隔开。
注意:部分源程序已经给出。请勿改动主函数main()、读函数ReadDat()和输出数据函数 WriteDat()的内容。
include <stdio. h>
include <stdlib. h>
include <string. h>
define MAX 1000
int xx[MAX], odd = 0, even = 0;
double aver = 0.0, totfc = 0.0;
void WriteDat(void);
int ReadDat(void)
{ FILE *fp;
int i, j;
if ((fp = fopen("IN. dat", "r")) == NULL)
return 1;
for (i=0; i<100; i++)
{ for (j=0; j<10; j++)
fscanf(fp, "%d,", &xx[i*10+j]);
fscanf(fp, "\n");
if (feof(fp))
break;
}
fclose(fp);
return 0;
}
void Compute(void)
{
}
void main ()
{ int i;
for (i=0; i<MAX; i++)
xx[i] = 0;
if (ReadDat())
{
printf (" 数据文件 IN. dar 不能打开! \007\n");
return;
}
Compute ();
printf("odd=%d\neven=%d\naver=%f\ntotfc=%f\n", odd, even, aver, totfc);
WriteDat ();
}
void WriteDat(void)
{ FILE *fp;
fp = fopen("OUT.dat", "w");
fprintf(fp, "%d\n%d\n%f\n%f\n", odd, even, aver, totfc);
fclose (fp);
}
阅读以下说明及C++程序代码,将应填入(n)处的语句写在对应栏内。
【说明】
本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下:
1 16 15 14 13
2 17 24 23 12
3 18 25 22 11
4 19 20 21 10
5 6 7 8 9
【C++代码】
include"stdio.h"
include"iostream,h"
int array[11][11];
int temp;
int ROW;
void godown(int &m,int &a)
{
for(temp=1; temp<=ROW;temp++)
if(array[temp][a]==0)
array[temp][a]=(1);
a++;
}
void goright(int &m,int &b)
{
for(temp=1;temp<=ROW;temp++)
if(array[b][temp]==0)
array[b][temp]=m++;
b--;
}
void goup(int &m.int &c)
{
for(temp=ROW;temp>0;temp-)
if(array[temp][c]==0)
array[temp][c]=m++;
c--;
}
void goleft(int &m,int &d)
{
for(temp=ROW;temp>0;temp--)
if(array[d][temp]==0)
array[d][temp]=m++;
(2);
}
void main()
{
int a,b,c,d,max,m;
cin>>ROW;
cout>>end1;
for(a=1;a<=ROW;a++)
for(b=1;b<=ROW;b++)
(3);
m=1;
a=d=1;
b=c=ROW;
max=(4);
whiie(m<=max)
{
godown(m,a);
(5) (m,b);
goup(m,c);
goleft(m,d):
}
for(a=1;a<=ROW;a++)
{
for(b=1;b<=ROW;b++)
printf("%3d ",array[a][b]);
cout<<end1;
}
}