20xx全国计算机等级考试三级数据库技术上机试题题目及答案汇编100题(最新)内容摘要:

pp[j+1] = pp[j]。 pp[0] = StrResult[l][i]。 k++。 i。 } strcat(ch, pp)。 strcpy(pp, )。 k = 0。 if (i 0) break。 } strcpy(StrResult[l], ch)。 } } :把 str 字符串中的所有字母改写成该字母的下一个字母,字母 z 改写成字母 a。 要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符丌做改变。 请编写函数 CharChange(char*str)实现程序要求,最后调用函数 RWData()从 文件中读取 50 组数据,分别得出结果,并把结果输出到文件 中。 例如, str 字符 串中原有的内容为:,则调用该函数后,结果为:。 【答案】 void CharChange(char *str) { while (*str) { if (*str==39。 z39。 || *str==39。 Z39。 ) *str = 25。 else if (isalpha(*str)) *str += 1。 str++。 } } 中存有 100个产品销售记录,每个产品销售记录由产品代码code(字符型 4 位)、产品名称 name(字符型 10 位)、单价 uprice(整型)、数量amount(整型)、金额 sum(长整型) 5部分组成。 其中,金额 =单价数量。 函数 RData()读取这 100 个销售记录并存入结构数组 sell 中。 请编写 AscendSort()函数,其功能是:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组 sell 中。 最后调用函数 WData(),把结果输出到文件 中。 【答案】 void AscendSort() { int i, j。 PRO temp。 for (i=0。 i99。 i++) for (j=i+1。 j100。 j++) if (strcmp(sell[i].name, sell[j].name) 0) { temp = sell[i]。 sell [i] = sell[j]。 sell[j] = temp。 } else if (strcmp(sell[i].name, sell[j].name) == 0) { if (sell[i].sum sell[j].sum) { temp = sell[i]。 sell[i] = sell[j]。 sell[j] = temp。 } } } 200 个四位数,并已调用读函数 RData()把这些数存入数组 a 中,请编写函数 evenVal(),其功能是:若一个四位数的千位上的数字值小于等于百位上的数字值,百位上的数字值小于等于十位上的数字值,以及十位上的数字值小于等于个位上的数字值,并且该四位数是偶数,则统计出满足此条件的个数 count,并把这些四位数按从小到大的顺序存入数组 b 中。 最后调用写函数WData(),把结果 count 以及数组 b 中符合条件的四位数输出到 文件中。 程序中已定义数组 a[200],、 b[200],已定义变量 count。 【答案】 void evenVal() { int i, j。 int a1, a2, a3, a4, k。 for (i=0。 iMAX。 i++) { a1 = a[i]/1000。 a2 = a[i]%1000/100。 a3 = a[i]%100/10。 a4 = a[i]%10。 if ((a1 = a2) amp。 amp。 (a2 = a3) amp。 amp。 (a3 = a4) amp。 amp。 (a[i]%2 == 0)) { b[count] = a[i]。 count++。 } } for (i=0。 icount1。 i++) for (j=i+1。 jcount。 j++) if (b[i] b[j]) { k = b[i]。 b[i] = b[j]。 b[j] = k。 } } a1 = a a2 = a a3 = a a[i]%2 == 0 这 4 个条件同时成立,则 a[i]就是要求下列程序的功能是:在三位整数( 100~999)中寻找符合条件的整数并依次从小到大存入数组中;该整数既 是完全平方数,又有两个数字相同,例如 14676 等。 请编写函数 SearchVal()实现此功能,满足该条件的整数的个数通过所编写的函数返回。 最后调用函数 WData(),把结果输出到文件 中。 注意:部分源程序已给出。 请勿改动主函数 main()和写函数 WData()的内容。 【答案】 searchVal(int bb[]) { int i, a, b, c, t = 0。 for (i=10。 i*i1000。 i++) { a = i*i/100。 b = i*i/10%10。 c = i*i%10。 if (a==b || b==c || c==a) bb[t++] = i*i。 } return t。 } 300 个四位数,并已调用读函数 RData()把这些数存入数组 a 中,请编写函数 jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于 0的数的个数 count,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组b 的四位数按从小到大的顺序进行排序。 最后调用写函数 WData(), 把结果输出到 文件中。 例如, 9123, 91230,则该数满足条件存入数组 b 中,且个数count=count+1。 9812, 98120,则该数丌满足条件,忽略。 程序中已定义数组 a[300], b[300];已定义变量 count。 【答案】 void jsValue() { int i, thou, hun, ten, data, j。 for (i=0。 i300。 i++) { thou = a[i]/1000。 hun = a[i]%1000/100。 ten = a[i]%100/10。 data = a[i]%10。 if (thouhuntendata 0) { b[count] = a[i]。 count++。 } } for (i=0。 icount1。 i++) for (j=i+1。 jcount。 j++) if (b[i] b[j]) { data = b[i]。 b[i] = b[j]。 b[j] = data。 } } 27 函数 Rdata()实现从文件 中读取一篇英文文章存入到字符串数组 string中,请编写函数 CharLeft(),其功能是:以行为单位把字符串中所有字符的 ASCII值左移 4 位,如果左移后,其字符的 ASCII值小于等于 32 或大于 100,则原字符保持丌变,否则就把左移后的字符 ASCII 值再加上原字符 ASCII 值,得到新的字符仍存入原字符串对应的位置上。 最后把已处理的字符串仍按行重新存入字符串数组string 中,最后调用函数 Wdata(),把结果 string 输出到文件 中。 原始数据文件存放的格式是:每行的宽度均小于 80 个字符 (含标点符号和空格 )。 【答案】 void CharLeft(void) { int i, j, str。 char ch。 for (i=0。 imaxline。 i++) { str = strlen(string[i])。 for (j=0。 jstr。 j++) { ch = string[i][j]4。 if (ch32 amp。 amp。 ch=100) string[i][j] += ch。 } } } 中存有若干个( 200)四 位数字的正整数,函数 RData()读取这若干个正整数并存入数组 original中。 请编写函数 CalValue(),其功能要求是:①求出这个文件中共有多少个正整数totNum;②求这些数右移 1 位后,产生的新数是偶数的数的个数 toteven,以及满足此条件的这些数(右移前的值)的算术平均值 totavg。 最后调用函数 WData()把所求的结果输出到 文件中。 【答案】 void CalValue(void) { int i, data。 for (i=0。 iMAXNUM。 i++) { if (!original[i]) break。 if (original[i] 0) totNum++。 data = original[i]1。 if (data%2 == 0) { toteven++。 totavg += original[i]。 } } totavg /= toteven。 } 200 个四位数,并已调用读函数 RData()把这些数存入数组 a 中,请编写函数 spellVal(),其功能是:把千位数字和 十位数字重新组成一个新的二位数 ab(新二位数的十位数字是原四位数的千位数字,新二位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的二位数 cd(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的百位数字),如果新组成的两个二位数 abcd≥0 且 abcd≤10 且两个数均是奇数,同时两个新数的十位数字均丌为 0,则将满足此条件的四位数按从大到小的顺序存入数组 b 中,并要计算满足上述条件的四位数的个数 count。 最后main()函数调用写函数 WData(),把结果count以及数组 b 中符合条件的四位数输出到 文件中。 【答案】 void spellVal() { int i, thou, hun, ten, data, j。 int ab, cd。 for (i=0。 i200。 i++) { thou = a[i]/1000。 hun = a[i]%1000/100。 ten = a[i]%100/10。 data = a[i]%10。 if (thou==0 || data==0) continue。 ab = 10*thou+ten。 cd = 10*data+hun。 if ((abcd)=0 amp。 amp。 (abcd)=10 amp。 amp。 ab%2==1 amp。 amp。 cd%2==1) { b[t] = a[i]。 t++。 } } for (i=0。 it1。 i++) for (j=i+1。 jt。 j++) if (b[i] b[j]) { data = b[i]。 b[i] = b[j]。 b[j] = data。 } } 已知数据文件 中存有 200 个四位数,并已调用读函数 RData()把这些数存入数组 a 中,请编写函数 seVal(),其功能是:依次从数组 a 中取出一个四位数,如果该四位数连续小于该四位数以后的 5个数且该数是偶数(该四位数以后丌满 4个数,则丌统计),则统计出满足此条件的个数 count 并把这些四位数按从小到大的顺序存入数组 b 中。 最后调用写函数WData(),把结果 count 以及数组 b 中符合条件的四位数输出到 文件中。 注意:部分程序已经给出。 程序中已定义数组 a[200]、 b[200],已定义变量 count。 请勿改动数据文件 【答案】 void seVal() { int i, j, flag = 0。 for (i=0。 iMAX5。 i++) { for (j=i+1。 j=i+5。 j++) if (a[i] a[j]) { flag = 1。 } else { flag = 0。 break。 } if (flag==1 amp。 amp。 a[i]%2==0) { b[count] = a[i]。 count++。 } } for (i=0。 icount1。 i++) for (j=i+1。 jcount。 j++) if (b[i] b[j]) { fl。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。