全国计算机等级考试南开100题分类

  • 格式:doc
  • 大小:42.00 KB
  • 文档页数:12

一、素数: 1 34 55 64 66 82

1: 将大于整数m且紧靠m的k个素数存入数组xx传回

34:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数

55:求出300个四位数是素数的个数,并从小到大进行排序

64:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数以及这些I之和

66:计算500-800内素数的个数,按从大到小顺序计算其间隔加、减之和

82:求出300个四位数是素数的个数,再求出所有满足此条件的四位数平均值pjz1以及不满足此条件的四位数平均值pjz2

二、结构体操作: 7 13 38 12 32 42 31 47 61 99 60 75

60: 有200组数据,每组有3个数,每个数均是三位数,找出条件为每组中第二个数大于第一个数加第三 个数的之和,存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行 降序排列

75: 有200组数据,每组有3个数,每个数均是三位数,找出条件为每组中第一个数大于第二个数加第三个 数的和,存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序 排列 if(aa[i].x1>(aa[i].x2+aa[i].x3))

bb[cnt++]=aa[i]; if(bb[i].x1+bb[i].x3>bb[j].x1+bb[j].x3)

{ xy=bb[i]; bb[i]=bb[j]; bb[j]=xy;}

三、字符替换与移位:

8 36 56 62 98 95 96 18 37 97 10 73 11 63 16 100 74 17

8: f(p)值小于等于32或大于130,则该字符不变

36:f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变

56:f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变

62:f(p)值小于等于32或其ASCII值是偶数,则该字符不变

98:f(p)值小于等于32或其ASCII值是奇数,则该字符不变

95:f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变

96:f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变

18:原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变

37:原字符是大写字母或计算后f(p)值小于等于32,则该字符不变

97:原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变

10:把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a

73:把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z

11:把s字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a (指针) 63:把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后 (指针)

16:把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值

74:把字符串中所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符

100:把字符串中的最后一个字符的ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符

17:第一个字符加第二个字符=新字符,最后逆排序 strrev(xx[i]);

四、字符串位置倒置: 3

3:把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放

五、字符串单词倒置: 4

4:对行中以空格或标点符号为分隔的所有单词进行倒排.最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中

六、字符串左右排序交换: 44 50 71

44: 从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换,如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上 50: 从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换,如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上

71:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序,如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上

七、字符串排序: 9 88 43

9: 对字符按从大到小的顺序进行排序

88:对字符按从小到大的顺序进行排序

43:对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序

八、单词个数统计: 19

19:统计一个长度为2的子字符串在另一个字符串中出现的次数

九、Fibonacci数列: 20

20: 求Fibonacci数列中大于t的最小的一个数 while(fn<=t)

{...} return fn;

十、迭代方法求方程: 21 do{...}while(fabs(x0-x1)>=0.000001);

十一、平方根: 22

22: 求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s return sqrt(s);

十二、实数运算: 23

23: 求出N个实数的平均值aver,以及实数的整数部分之和sumint以及小数部分之和sumdec

十三、完全平方数: 24

24: 100至999中寻找符合条件的整数并依次从小到大存入数组中,它既是完全平方数,又是两位数字相同

for(j=10;j*j<=i;j++)

if(i==j*j&&(bw==sw||sw==gw||gw==bw)) bb[cnt++]=i; return

cnt;

十四、回文数: 25 ltoa(n,xy,10);

25: 寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数

十五、整数排序: 2 5 6 14 30 45 46 90

2: 把四位数各位上均是0或2或4或6或8的数从大到小的顺序存入数组b中

5: 按每个数的后三位的大小进行升序排列,如果后三位的数值相等,按原先的数值进行降序排列

6: 降序 ,

升序

14: 如果该四位数连续大于该四位数以后的五个数且该数是奇数,把这些四位数按从小到大的顺序存入数组b中 for(j=i+1;j<=i+5;j++)

if(a[i]>a[j]&&a[i]%2) flag=1; else {flag=0;break;}

30: 小于 偶数,

从小到大

45: 大于该四位数以前 偶数, 从大到小

46: 大于 奇数,且该数必须能被7整除,把这些四位 数按从大到小的顺序存入数组b中

for(j=i-5;ja[j]&&a[i]%2&&a[i]%7==0) flag=1; else

{ flag=0;break;}

90: 将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列.新序列中,比K1小的数都在K1的前面,比K1大的数都在K1的后面

十六、整数统计运算: 26 70 40 65 91 94 92 79

26: 求出正整数totNum个数以及这些数右移1位后产生的新数是偶数的数的个数totCnt和满足此条件的这些数(右移前的值)的算术平均值totPjz

70: 求出正整数totNum个数以及这些数右移1位后产生的新数是奇数的数的个数totCnt和满足此条件的这些数(右移前的值)的算术平均值totPjz

40: 求出正整数totNum个数以及这些数各位数字之和是偶数的数的个数totCnt和满足此条件的这些数的算术平均值totPjz

65: 求出正整数totNum个数以及这些数各位数字之和是奇数的数的个数totCnt和满足此条件的这些数的算术平均值totPjz

91: 200个整数,求出奇数的个数cnt1和偶数的个数cnt2以及数组下标为偶数的元素值的算术平均值pj(保留2位小数)

94: 200个整数,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx中值为偶数的算术平均值pj(保留2位小数)

92: 200个整数,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)

79: 求出1到1000之内能被7或11整除但不能同时被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数 (指针)

if(i%7==0&&i%11||i%7&&i%11==0) a[(*n)++]=i;

十七、整数各位数字运算:

68 15 78 69 85 77 89 27 53 48 54 49 80 81 87 67

68: 200个四位数,如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中

if(thou&&thou%2&&hun%2&&ten%2&&data%2)

15: 200个四位数,若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中

78: 200个四位数,若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中

69: 200个四位数,把一个四位数的千位数字上的值减去百位数字上的值再减去十位数字上的值最后减去个位数字上的值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中

if(thou-hun-ten-data>=0& &a[i]%2) b[cnt++]=a[i];

85: 200个四位数,把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中

if(data-thou-hun-ten>=0& &a[i]%2==0) b[cnt++]=a[i];