第2题
以下函数按每行 8 个输出数组中的数据
void fun(int *w,int n)
{ int i;
for(i=0;i<n;i++)
{ ____________
printf("%d ",w[i]);
}
printf("\n");
}
下划线出应填入的语句是
A)if(i/8==0) printf("\n");
B)if(i/8==0) continue;
C)if(i%8==0) printf("\n");
D)if(i%8==0) continue;
第3题
以下函数实现按每行8个输出W所指数组中的数据:
在横线处应填人的语句是()。
A.if(i/8==0)printf(”\n”);
B.if(i/8==O)continue;
C.if(i%8==0)prinff(’’\n”);
D.if(i%8==0)continue;
第4题
A.O(n2)
B.O(n3)
C.O(n4)
D.O(n)
第5题
设V是复数域上一个n维向量空间,σ是V的一个线性变换。令是定理1的那个准素分解,令W是V的一个在σ之下不变的子空间。证明:这里Wi=W∩V,i=1,2,...,k。
第6题
阅读以下说明和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)");
}
第7题
A.if(i/8=0)printf("\n);
B.if(i/8=0)continue;
C.if(i%8=0)printf("\n");
D.if(i%8=0)continue;
第8题
下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
define SIZE 20
fun (double *s, double *w)
{ int k, i; double sum;
for(k=2, i=0; i<SIZE; i++)
{s [i]=k; k+=2;}
sum=0.0;
for(k=0, i=0; i<SIZE;i++)
{sum+=s[i];
/*************found**************/
if(i+1%5==0)
{w[k]=sum/5; Sum=0; k++;}
}
return k;
}
main()
{ double a[SIZE],b[SIZE/5];
int i, k;
k=fun(a/b);
printf ("The original data:\n");
for(i=0;i<SIZE;i++)
{
if(i%5==0)printf("\n");
printf("%4.0f"/a[i]);
}
printf{"\n\nThe result:\n");
for(i=0; i<k; i++) printf("%6.2f",b[i]);
printf("\n\n");
}
第9题
有以下程序 #include <stdio.h> main() { FILE *fp; int i=20,j=30,k,n; fp=fopen("d1.dat","w"); fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j); fclose(fp); fp=fopen("d1.dat", "r"); fp=fscanf(fp,"%d%d",&k,&n); printf("%d%d\n",k,n); fclose(fp); } 程序运行后的输出结果是
A.20 30
B.20 50
C.30 50
D.3020
第10题
A.12300
B.123
C.1
D.321
第11题
有以下程序:#include <stdlo.h>main(){ FILE * fp; int i,k,n; fp = fopen("data. dat" ,"w +" ) for(i = 1 ;i<6;i ++ ) { fprintf(fp."% d",i); if(i%3 ==0)fprintf(fp," \n"); } rewind(fp); fscanf(fp." % d% d" ,&k, &n) ;printf(" % d%d \n" ,k,n); fclose(fp);
A.0 0
B.123 45
C.1 4
D.1