己知有定义 constintD二5; inti=1; doublef=0.32: charc=15; 则下列选项错误的是 A.
己知有定义
const int D二5;
int i=1;
double f=0.32:
char c=15;
则下列选项错误的是
A.++i;
B.D--;
C.C++;
D.--f;
己知有定义
const int D二5;
int i=1;
double f=0.32:
char c=15;
则下列选项错误的是
A.++i;
B.D--;
C.C++;
D.--f;
己知数据文件IN45.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab-cd≥10且ab-cd≤20且两个数均为偶数,同时两个新十位数字均不为零,则将满足此条件的4位数按从人到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT45.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main0、读函数readDat()和写函数writeDat()的内容。
试题程序:
include<stdio.h>
define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat()
{
int i;
FILE *fp;
fp=fopen("IN45.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
main ()
{
int i;
readDat();
jsVal();
printf ("满足条件的数=%d\n" , cnt);
for(i=0;i<cnt;i++)
printf("%d\n",b[i]);
printf("\n");
writeDat();
}
writeDat()
{
FILE *fp;
int i;
fp=fopen("OUT45.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp, "%d\n",b[i]);
fclose(fp);
}
己知int i,x[3][4];,则不能将x[1][1]的值赋给变量i的语句是______。
A.i=*(*(x+1)+1)
B.i=*(*(x+1))
C.i=x[1][1]
D.i=*(x[1]+1)
己知函数f的原型是“void f(int*x, int &y);”,变量v1、v2的定义是“int v1, v2;”,下列调用语句中,正确的是()。
A) f(v1, v2);
B) f(v1, &v2);
C) f(&v1, v2);
D) f(&v1, &v2);
【说明】
DES 是一种分组密码,己知 DES 加密算法的某个 S 盒如表 4-1 所示。
【问题1】
请补全该 S 盒,填补其中的空(1) - (4),将解答写在答题纸的对应栏内。
【问题2】
如果该 S 盒的输入为 110011,请计算其二进制输出。
【问题3】
DES加密的初始置换表如下:
置换时,从左上角的第一个元素开始,表示输入的铭文的第58位置换成输出的第1位,输入明文的第50位置换成输出的第2位,从左至右,从上往下,依次类推。
DES加密时,对输入的64位明文首先进行初始置换操作。
若置换输入的明文M=0123456789ABCDEF(16进制),请计算其输出(16进制表示)。
【问题4】
如果有简化的DES版本,其明文输入为8比特,初始置换表IP如下:
IP:2 6 3 1 4 8 5 7
请给出其逆初始置换表。
【问题5】
DES加密算法存在一些弱点和不足,主要有密钥太短和存在弱密钥。请问,弱密钥的定义是什么?
【问题一】 根据题干说明,填充C代码中的空(1)-(3) 【问题二】 根据题干说明和C代码,算法采用了()设计策略。 函数getCounterfeitCoin的时间复杂度为()(用O表示)。 【问题三】 若输入的硬币数为30,则最少的比较次数为(),最多的比较次数为()。
A.70万元
B.65万元
C.73万元
D.78万元