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

发布时间:2021-06-07

int half;

int a3,a2,a1; /*定义变量存储3位数每位的数字*/

for(i=101;i<1000;i++) /*在该范围内寻找符合条件的数*/

{

a3=i/100; /*求百位数字*/

a2=i%100/10; /*求十位数字*/

a1=i%10; /*求个位数字*/

if(a3==(a2+a1)%10) /*如果个位数字与十位数字之和被10除所得余数恰是百位数字*/

{

half=i/2;

for(j=2;j<=half;j++) /*进一步判断该数是否为素数*/

if(i%j==0) break; /*如果不是素数,则跳出循环,接着判断下一个数*/

if(j>half) /*如果是素数*/

{

cnt++; /*计算这些素数的个数cnt*/

sum+=i; /*计算这些素数值的和sum*/

}

}

}

}

【易错提示】 素数的判断算法使用错误,分解整数各个数位的方法错误,if判断语句中逻辑表达式错误。

6. 【考点分析】 本题考查结构体数组的排序。考查的知识点主要包括:结构体成员运算,字符串比较符,数组排序。

【解题思路】 此题属于销售记录排序类题型。此类题型主要考查对结构体数组的排序。解题时,应注意3个关键点:关键点1如何按产品名称从小到大排序;关键点2如果产品名称相同;关键点3如何按金额从小到大排列。

数组排序可以用起泡法实现,起泡法的思路是:将较小的值像空气泡一样逐渐"上浮"到数组的顶部,而较大的数值逐渐"下沉"到数组的底部。具体为第1趟用第1个记录和第2个记录进行比较,如果不符合要求,就进行交换,第2个记录和第3个记录比较,直到倒数第2个记录和最后1个记录比较完成;第2趟用第2个记录和第3个记录比较,然后第3个和第4个比较,依此类推。

本题在双循环中进行每次记录比较时,首先用字符串比较函数strcmp比较两个产品的名称,如果返回的值大于0,则这两个产品进行数据交换;如果返回值等于0,再比较两个产品的金额,如果前一个产品的金额大于后一个产品的金额,则这两个产品进行数据交换。

【参考答案】

void SortDat()

{

全国计算机三级数据库技术上机试题100道(5).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219