手机版

全国计算机三级数据库技术上机试题100道(7)

发布时间:2021-06-07   来源:未知    
字号:

如何通过条件(本题为千位数字加个位数字等于百位数字加十位数字)筛选出满足条件的数;问题3如何对数组中的数进行排序。

解此类题的一般思路为:先求出每个数的各位数字,再根据各位数数字筛选出满足条件的数存入新的数组中,最后对新数组进行排序。对于问题1通过算术运算取余和整除可以分解得到4位数的各个数位上的数字;问题2通过if条件判断语句和逻辑表达式可以实现。问题3排序可以通过循环嵌套的起泡法来完成。

在求各位数数字时,先将每个数进行取整运算求出千位数,将该数取余再除100取整得出百位数,将该数取余再除10取整得出十位数,最后将该数取余得出个位数。

【参考答案】

voidjsValue()

{

int i,j; /*定义循环控制变量*/

int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/ int temp; /*定义数据交换时的暂存变量*/

for(i=0;i<300;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) /*如果千位数加个位数等于百位数加十位数*/ {

b[cnt]=a[i]; /*将满足条件的数存入数组b中*/

cnt++; /*统计满足条件的数的个数cnt*/

}

}

for(i=0;i<cnt-1;i++) /*用选择法对数组b的4位数按从小到大的顺序进行排序*/

for(j=i+1;j<cnt;j++)

if(b[i]>b[j])

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

【模板速记】

记忆口诀:一定义二筛选三排序。定义指定义相关变量,筛选是筛选出满足条件的数,排序则是按照要求对数组排序。详见模板二。做题时,需灵活应用本模板,切勿死记硬背。

【易错提示】 分解4位数时算术运算符的使用,4位数条件判断时if语句中的条

全国计算机三级数据库技术上机试题100道(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)