2017计算机三级考试网络技术复习试题“有答案”
1.已知数据文件中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中,请编制一函数jsVal( ),其功能是:如果一个4位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt及数组b中符合条件的4位数输出到文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void writeDat();
void jsVal( )
{
int i,j; /*定义循环控制变量*/
int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/
int temp; /*定义数据交换时的暂存变量*/
for(i=0;i<200;i++) /*逐个取每一个4位数*/
{
a4=a[i]/1000; /*求4位数的千位数字*/
a3=a[i]%1000/100; /*求4位数的百位数字*/
a2=a[i]%100/10; /*求4位数的十位数字*/
a1=a[i]%10; /*求4位数的个位数字*/
if((a4>=a3)&&(a3>=a2)&&(a2>=a1)&&a1%2!=0)
{ /*如果千位数大于等于百位数,百位数大于等于十位数,十位数大于等于个位数,并且此数是奇数*/
b[cnt]=a[i]; /*则将满足条件的数存入数组b中*/
cnt++; /*统计满足条件的数的个数*/
}
}
for(i=0;i
for(j=i+1;j
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
void readDat( )
{
int i;
FILE *fp;
fp=fopen("","r");
for(i=0;i
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%dn",cnt);
for(i=0;i
printf("%d ",b[i]);
printf("n");
writeDat();
}
void writeDat()
{
FILE *fp;
int i;
fp=fopen("","w");
fprintf(fp,"%dn",cnt);
for(i=0;i
fprintf(fp, "%dn",b[i]);
fclose(fp);
}
2.已知数据文件中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中,请编制一函数jsVal( ),其功能是:如果一个4位数的千位数字上的值加十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt及数组b中符合条件的4位数输出到文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void writeDat();
void jsVal( )
{
int i,j; /*定义循环控制变量*/
int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/
int temp; /*定义数据交换时的暂存变量*/
for(i=0;i<200;i++) /*逐个取每一个4位数*/
{
a4=a[i]/1000; /*求4位数的千位数字*/
a3=a[i]%1000/100; /*求4位数的百位数字*/
a2=a[i]%100/10; /*求4位数的十位数字*/
a1=a[i]%10; /*求4位数的个位数字*/
if(a4+a2==a3+a1 && a1%2==0)
{ /*如果千位数加十位数等于百位数加上个位数,并且此数是偶数*/
b[cnt]=a[i]; /*则将满足条件的数存入数组b中*/
cnt++; /*统计满足条件的数的个数*/
}
}
for(i=0;i
for(j=i+1;j
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
void readDat( )
{
int i;
FILE *fp;
fp=fopen("","r");
for(i=0;i
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%dn",cnt);
for(i=0;i
printf("%d ",b[i]);
printf("n");
writeDat();
}
void writeDat()
{
FILE *fp;
int i;
fp=fopen("","w");
fprintf(fp,"%dn",cnt);
for(i=0;i
fprintf(fp, "%dn",b[i]);
fclose(fp);
}
3.已知数据文件中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中。请编制一函数jsVal( ),其功能是:如果一个4位数的千位数字上的值加个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且此4位数是奇数,则统计出满足此条件的.数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的4位数输出到文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void writeDat();
void jsVal( )
{
int i,j; /*定义循环控制变量*/
int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/
int temp; /*定义数据交换时的暂存变量*/
for(i=0;i<200;i++) /*逐个取每一个4位数*/
{
a4=a[i]/1000; /*求4位数的千位数字*/
a3=a[i]%1000/100; /*求4位数的百位数字*/
a2=a[i]%100/10; /*求4位数的十位数字*/
a1=a[i]%10; /*求4位数的个位数字*/
if ((a4+a1==a3+a2) && a1%2==1) /*如果千位数加个位数等于百位数加十位数,并且此数是奇数*/
{
b[cnt]=a[i]; /*则将满足条件的数存入数组b中*/
cnt++; /*统计满足条件的数的个数*/
}
}
for(i=0;i
for(j=i+1;j
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
void readDat( )
{
int i;
FILE *fp;
fp=fopen("","r");
for(i=0;i
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%dn",cnt);
for(i=0;i
printf("%d ",b[i]);
printf("n");
writeDat();
}
void writeDat()
{
FILE *fp;
int i;
fp=fopen("","w");
fprintf(fp,"%dn",cnt);
for(i=0;i
fprintf(fp, "%dn",b[i]);
fclose(fp);
}
4.已知数据文件中存有200个4位数,并已调用读函数readDat() 把这些数存入数组a中,请编制一个函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成两个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void writeDat();
void jsVal()
{
int i,j; /*定义循环控制变量*/
int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/
int temp; /*定义数据交换时的暂存变量*/
int ab,cd; /*存储重新组合成的十位数*/
for(i=0;i<200;i++) /*逐个取每一个4位数*/
{
a4=a[i]/1000; /*求4位数的千位数字*/
a3=a[i]%1000/100; /*求4位数的百位数字*/
a2=a[i]%100/10; /*求4位数的十位数字*/
a1=a[i]%10; /*求4位数的个位数字*/
ab=10*a4+a2; /*把千位数字和十位数字重新组成一个新的十位数ab*/
cd=10*a1+a3; /*把个位数字和百位数字组成另一个新的十位数cd*/
if ((ab-cd)>=0 && (ab-cd)<=10 && ab%2==1 && cd%2==1 && a4!=0 && a1!=0)
{ /*如果ab-cd>=0且ab-cd<=10且两个数均是奇数同时两个新十位数的十位上的数字均不为零*/
b[cnt]=a[i]; /*则把满足条件的数存入数组b中*/
cnt++; /*统计满足条件的数的个数*/
}
}
for(i=0;i
for(j=i+1;j
if(b[i]
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("", "r") ;
for(i = 0 ; i < MAX ; i++)
fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%dn", cnt) ;
for(i = 0 ; i < cnt ; i++)
printf("%d ", b[i]) ;
printf("n") ;
writeDat() ;
}
void writeDat()
{
FILE *fp ;
int i ;
fp = fopen("", "w") ;
fprintf(fp, "%dn", cnt) ;
for(i = 0 ; i < cnt ; i++)
fprintf(fp, "%dn", b[i]);
fclose(fp) ;
}
-
免费无线上网的方法
免费无线上网的方法导语:要想得知附近信号的强度是否够用?我们还可以下载安装一款名为wirelessMON的软件,这也是我们通常测试无线路由信号性能的软件,来检测免费无线信号的所在位置的强弱,让免费的WIFI热点发挥最大的优势。下面,我们就来看看免费无线上网小技巧。技...
-
巧用防火墙端口来禁止迅雷、BT等软件
本节介绍如何通过防火墙软件设置端口的方法来实现禁止迅雷、BT等软件。首先下载一个防火墙软件,比如天网防火墙,安装完后启动。再安装你要限制的软件,就拿迅雷来说吧,启动迅雷后,防火墙会提示它要连联的TCP端口是3076,3077,3078,用笔记下来撒,这不用说了吧。然后就开始...
-
迅捷(FAST)无线路由器设置好了上不了网
本文介绍了迅捷(Fast)无线路由器设置好了上不了网的解决办法,很多用户在设置迅捷(Fast)无线路由器的时候会遇到这样的问题:已经设置好了迅捷(Fast)路由器,但是电脑、手机等设备不能通过迅捷(Fast)路由器上网。以下是本站小编精心为大家整理的迅捷无线路由器设置好...
-
思科跨交换机VLAN的实现
由于实现了广播域分隔,VLAN可以将广播风暴控制在一个VLAN内部,划分VLAN后,随着广播域的缩小,网络中广播包消耗的带宽所占的比例大大降低,网络性能得到显著的提高。VLAN(VirtualLocalAreaNetworkd)VLAN是在一个物理网络上划分出来的逻辑网络。这个网络对应与OSI模型...