《计算机三级网络技术计算机3级网络技术计算机计算机三级.pdf》由会员分享,可在线阅读,更多相关《计算机三级网络技术计算机3级网络技术计算机计算机三级.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【做 胭 丝 路】本 胭 属 孑 政 孽 壁 胭,全 患 老 杂 的 息 奇 偶 敢 的 月 断“力 差 的 求 法。解本题的思路为:用循环控制取每一个数进行判断,若一个数除以2取余得0,则该数是偶数,否则为奇数。分别统计奇数和偶数的个数、总和,并且保存所有满足条件的偶数。最后由方差公式可知,这是求一些连续的数的表达式的和,所以可以使用循环求得方差。/参考容篥)void Compute(void)int i,ttMAX;for(i=0;i1000;i+-h)if(xxi%2!=0)odd+;avcl-!-=x xi;elseeven+;ave2+=xxi;ttcvcn-l=xxi;avcl/=
2、odd;nve2/=even;fbr(i=O;ieven;i+)/*定义数组tt计算总和*/*判断当前数的奇偶性*/*统计奇数的个数*/*求奇数的总和*/*统计偶数的个数*/*求偶数的总和*/*将偶数存入数组tt中*/*求奇数的平均数*/*求偶数的平均数*/*求所有偶数的方差*/totfc+=(tti-ave2)*(tti-ave2)/even;【解题思路1本题属于数学类问题;要求判断在100以内,i,i+4,i+10都是素数的数的个数。因为i+10也必须在100以 内,1不是素数,所以我们可以从2开始判断到89即可(90是偶数,明显不是素数)。本题已经给出了判断素数的函数,所以这里只需调用即
3、可。通过一个if语句判断i,i+4以及i+10是否都是素数,对满足条件的数进行求和,同时用ent统计其个数。【参考答案】void countVnlue()m t 1;cnt=O;sum=O;/*定义循环控制变量*/*初始化变量*/for(i=2;i90;i+)/*找数的范围为100以内*/if(isPritnc(i)&isPrimc(i+4)&isPrimc(i+10)cnt+;/*统计满足条件的数的个数*/sum+=i;/*将满足条件的数求和*/【解题思路】本题属于数学类题。根据题意可知,函数jsValue。要实现两个功能:一是找出为素数的数,并存放在数组b中;二是对数组b中的数进行从小到大
4、的排序。首先要找出满足条件的数,即素数,题目中已给出了判断素数的函数,因此只需调用即可。其次,将这些素数存入数组b中,并用变量ent来统计数组b中元素的个数。最后,将所有满足条件的数取出后利用起泡法进行排序,即将当前元素依次同它后面的元素进行比较,发现有大于该数的数,就将这两个数进行交换。【参考答案】void jsVulueQintij;int temp;for(i=0;i300;i+)if(isP(ai)b/cntl-afi;cnt+;for(i-0;icnt-l;i+)for(j=i+;ib)temp=bi;bi=bg;bj=tcmp;/*定义循环控制变量*/*定义数据交换是的暂存变量*/
5、*逐个取4位数*/*如果该数为素数,则将该数存入数组b中*/*并统计满足条件的数的个数*/*对数组b的4位数按从小到大的顺序进行排序*/【解题思路】本题属于数学类题。本题思路为:首先利用一个Qr循环来依次从数组中取得满足条件的数,由于题目要求求数组中正整数的个数,只要某个整数大于零,则该数即是正整数,通过变量totNum来统计正整数的个数。然后求出该数的每位数字,并判断是否满足条件”各位数字之和是奇数”,用变量totCnt和totPjz分别计算出满足条件的数的个数和这些数的和sum。最后求出这些数的平均值。【参考答案】void CalValueOinti;/*定义的循环控制变量*/hit a1
6、,a27n3,a4;/*用来存储正整数的每一位的数字*/for(i=0;i0)totNum-h+;a4=xxi/1000;a3=xxi%1000/W();ii2=xxi%l 00/10;al=xxi%10;if(a4+a3+a2+al)%2=l)/*判断是否正整数*/*统计正整数的个数*/*求正整数的千位数*/*求正整数的百位数*/*求正整数的十位数*/*求正整数的个位数*/*如果各位数字之和是奇数*/*计算满足条件的数的个数totCnt和这些数的总和sum*/totCnt+;totPjz-b=xxi;to tPjz/=totCnt;/*求这些数的算术平均值totPjz*/【解题思路】本题要求
7、先实现CalValue。函数的功能,再进一步分析,可以归纳出3个关键点:关键点1如何取得4位数的各个数位数字;关键点2如何通过条件(各个数位数字的和是儡数)来筛选出满足条件的数;关键点3如何统计满足条件的数的个数,并计算其平均值。关键点1通过算术运算取余和除法可以分解得到4位数各个数位的数字;关健点2通过if判断语句和逻辑表达式可以实现;关键点3先计算满足条件的数的总和,再除以它们的数目即可求得平均值。【参考答案】void CaJValueO inti;int a4,a3,a2/l;fbr(i=0;iv200;i+)/*定义循环控制变量*/*用来存储正整数的每一位的数字*/*逐个取数组中的数进
8、行统计*/if(xx!i0)/*判断是否正整数*/tctNum+;a4=xxi/1000;a3=xxi%l()00/100;a2=xxi%l 00/10;al=xxi%10;/*统计正整数的个数*/*求正整数的千位数*/*求正整数的百位数*/*求正整数的十位数*/*求正整数的个位数*/if(a4+a3+a2+al)%2=0)/*如果各位数字之和是偶数*/*计算满足条件的数的个数totCnt和这些数的总和sum*/totCnt+;totPjz-h=xxi;/totPjz/=totCnt;/*求这些数的算术平均值totPjz*/【解题思路】此题属于销售记录类题型;此类题型主要考查对结构体数组的排序
9、。解题时,应注意3个关键点:我也点1本题为按产品金额从大到小排序;关键点2本题为如果产品金额相同;关键点3本题为按产品名称从小到大排列。本题在每次记录比较时,首先比较两个产品的金额,如果前一个产品的金额小于后一个产品的金额,则这两个产品进行数据交换;若产品的金额相等,则用字符串比较函数strcmp比较两个产品的名称,如果返回的值大于0,则这两个产品进行数据交换。【参考答案】void SortDnt()PRO temp;/*定义循环控制变量*/*定义数据交换时的暂存变量(这里是PR。类型的结 构 体 变 量)*/for(i=0;i99;i+)/*利用选择法进行排序*/forQ=i+l;j100;
10、j+)if(s elli.jeO)tcmp=sclli;sen/j/=seJl/jJ;sellj=temp;【解题思路】此题属于销售记录类题型;此类题型主要考查对结构体数组的排序。解题时,应注意3个关键点:关键点1本题为按产品代码从大到小排序;关键点2本题为如果产品代码相同;关键点3本题为按产品金额从大到小排列。本题在每次记录比较时,首先用字符串比较函数stremp比较两个产品的代码,如果返回的值小于0,则这两个产品进行数据交换;如果返回值等于0,再比较两个产品的金额,如果前一个产品的金额小于后一个产品的金额,则这两个产品进行数据交换。修孝容差)void SortDatOintij;/*定义循
11、环控制变量*/PRO temp;/*定义数据交换时的暂存变量(这里是PRO类型的结构体变 量)*/fbr(i=0;i99;i-F+)/*利用选择法进行排序*/for(j=i+l;j100;j-i-b)if(strcmp(sclli.dm,scllj.dm)0)/*按产品代码从大到小进行排列*/rcmp=sclli;selli=senj;sellj=tcmp;else if(strcmp(sclli.dm,sclllj.dm)=O)/*若产品代码相同,则按金额从大到小进行排列if(sclli.jeseHj.je)temp=selli;sclli=sclli;sell国=temp;【解题思路】此题
12、属于销售记录类题型;此类题型主要考查对结构体数组的排序。解题时,应注意3个关键点:关键点1本题为按产品名称从小到大排序;关键点2本题为如果产品名称相同;关键点3本题为按产品金额从大到小排歹!本题在每次记录比较时,首先用字符串比较函数strcmp比较两个产品的名称,如果返回的值大于0,则这两个产品进行数据交换;如果返回值等于0,再比较两个产品的金额,如果前一个产品的金额小于后一个产品的金额,则这两个产品进行数据交换。【参考答案】void SortDatO inti,);PRO temp;体变量)*/fdr(i=0;i0)/*按产品代码从小到大进行排列*/temp=selli;sellli-sel
13、lljl;sellj=temp;else if(strcmp(sclli.mc,scllj.mc)=O)/*若产品代码相同*/if(seUli.jeselllj.je)/*则按金额从大到小进行排列*/temp=sellij;scHi=scUj;sell=temp;【解题思路】此题属于销售记录类题型;此类题型主要考查对结构体数组的排序。解题时,应注意3个关键点:关键点1本题为按产品金额从小到大排序;关键点2本题为如果产品金额相同;共键点3本题为按产品代码从大到小排列。本题在每次记录比较时,首先比较两个产品的金额,如果前一个产品的金额大于后一个产品的金额,则这两个产品进行数据交换;若产品的金额相等
14、,则用字符串比较函数stremp比较两个产品的代码,如果返回的值小于0,则这两个产品进行数据交换。【参考答案】void SortDatOinti J;/*定义循环控制变量*/PRO temp;/*定义数据交换时的暂存变量(这里是PRQ类型的结构体变量)*/for(i=0;i99;i+)/*利用选择法进行排序*/for(j=i+l;jsellj.je)/*按金额从小到大进行排列*/temp=selli;selli=sellj;sellj=temp;else i f (selli.je=sellj.je)/*若金额相同*/if(strcmp(selli.dm,sellj.dm)0)/*则按产品代码
15、从大到小进行排列*/temp=selli;seUi=seUj;【解题思路】此题属于销售记录类题型;此类题型主要考查对结构体数组的排序。解题时,应注意3个关键点:关键点1本题为按产品金额从小到大排序;关键点2本题为如果产品金额相同;关键点3本题为按产品代码从小到大排歹!本题在每次记录比较时,首先比较两个产品的金额,如果前一个产品的金额大于后一个产品的金额,则这两个产品进行数据交换;若产品的金额相等,则用字符串比较函数strcmp比较两个产品的代码,如果返回的慎大于0,则这两个产品进行数据交换。【参考答案】void SortDatQ(inti,j;/*定义循环控制变量*/PRO temp;/*定义数据交换时的暂存变量(这里是PRO类型的结构体变量)*/for(i=0;i99;i+)for()=i+l;jscllj.jc)/*按金额从小到大进行排列*/temp=s elli;seHiJ=selIljl;sellD=temp;else if(scUi.jcsclli.jc)/*若金额相同*/if(strcmp(selllil.dm,sellljl.dm)0)/*则按产品代码从小到大进行排列*/temp=seUi;sellj=temp;
限制150内