您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页新思路全国计算机等级考试三级网络技术精选题

新思路全国计算机等级考试三级网络技术精选题

来源:尚车旅游网


【审题关键句】将大于整数m且紧靠m的k个素数存入数组 int cnt = 0; while(cnt < k){ m++; if(isP(m)) xx[cnt++] = m;} 【审题关键句】求素数的个数及平均值,并计算非素数的平均值。 int i; for(i = 0; i < 300; i++){

if(isP(a[i])){ pjz1 += a[i]; cnt++; } else pjz2 += a[i]; pjz1 /= cnt; pjz2 /= (300 - cnt);

【审题关键句】100以内满足i、i+4、i+10都是素数的整数的个数以及这些i之和。 int i; for(i = 3; i < 90; i++) {

if(isPrime(i) && isPrime(i + 4) && isPrime(i + 10)) { cnt++; sum += i; }} 【审题关键句】求素数的个数,存入数组,按从小到大的顺序排序。 int i, j, tmp; for(i = 0; i < 300; i++) if(isP(a[i])) b[cnt++] = a[i]; for(i = 0; i < cnt; i++) { for(j = i + 1; j < cnt; j++) {

if(b[i] > b[j]) { tmp = b[j]; b[j] = b[i]; b[i] = tmp; }}} 【审题关键句】选出100以上、1 000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数,计算并输出上述这些素数的个数以及这些素数值的和。 int i, bw, sw, gw;

for(i = 100; i < 1000; i++) { bw = i / 100; sw = (i - bw * 100) / 10; gw = i % 10; if((gw + sw) % 10 == bw && isP(i)) { cnt++; sum += i; }}

【审题关键句】按每个数的后三位升序排列,然后取出满足此条件的前10个数依次存入数组,如果后三位的数值相等,则按原先的数值进行降序排列。 int i, j, m; for(i = 0; i < 199; i++) for(j = i + 1; j < 200; j++) {

if((aa[i] % 1000) > (aa[j] % 1000)){ m = aa[i]; aa[i] = aa[j]; aa[j] = m; } else if((aa[i] % 1000) == (aa[j] % 1000)) {

if(aa[i] < aa[j]) { m = aa[i]; aa[i] = aa[j]; aa[j] = m; } } } for(i = 0; i < 10; i++) bb[i] = aa[i];

【审题关键句】四位数的千位<=百位<=十位<=个位,且四位数是偶数,统计出满足此条件的个数,按从小到大的顺序存入数组。

int qw, bw, sw, gw, i, j, ab; for(i = 0; i < MAX; i++) {

qw = a[i] / 1000; gw = a[i] % 10; bw = (a[i] - qw * 1000) / 100; sw = (a[i] - qw * 1000 - bw * 100) / 10;

if((qw <= bw && bw <= sw && sw <= gw) && (a[i] % 2 == 0)) b[cnt++] = a[i]; } for(i = 0; i < cnt - 1; i++) for(j = i + 1; j < cnt; j++) if(b[i] > b[j]) { ab = b[j]; b[j] = b[i]; b[i] = ab; }

【审题关键句】千位+十位组合与个位+百位组合,都是奇数,两数相减结果大于等于0小于等于10,从大到小排序。

int qw, bw, sw, gw, i, j, newV1, newV2; for(i = 0; i < MAX; i++) { qw = a[i] / 1000; gw = a[i] % 10; bw = (a[i] - qw * 1000) / 100; sw = (a[i] - qw * 1000 - bw * 100) / 10; newV1 = qw * 10 + sw; newV2 = gw * 10 + bw;

if(qw && gw && (newV1 - newV2>0 && newV1-newV2<=10) && (newV1 % 2) && (newV2 % 2)) b[cnt++] = a[i]; }

for(i = 0; i < cnt - 1; i++) for(j = i + 1; j < cnt; j++) if(b[i] < b[j]) { newV1 = b[j]; b[j] = b[i]; b[i] = newV1; } 【审题关键句】完全平方根,有两个相同数。

int n, k, a, b, c, cnt = 0; for(k = 10;; k++) { n = k * k; if(n < 100) continue;

1

if(n > 999) break; a = n / 100; b = n % 100 / 10; c = n % 10; if((a-b)*(a-c)*(b-c) == 0) { printf(\"N=%d=%d*%d\\n\ bb[cnt++] = n; }} return cnt; 【审题关键句】小于后连续5个数,偶数,从小到大排序。 int i, j, ab; for(i = 0; i < MAX - 5; i++) {

if((a[i] % 2==0) && a[i] < a[i+1] && a[i] < a[i+2] && a[i] for(j = i + 1; j < cnt; j++) if(b[i] > b[j]){ ab = b[j]; b[j] = b[i]; b[i] = ab; } 【审题关】Sn=A1+A2+…+An,An=An-2+2An-1,Snwhile(s < m) { t = a1 + 2 * a2; s = s + t; n = n + 1; a1 = a2; a2 = t; } printf(\"m=%d,n=%d\\n\ b[i] = n; }

【审题关键句】F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2)。

int f0 = 0, f1 = 1, f2 = 1; while(f2 < t) { f0 = f1; f1 = f2; f2 = f0 + f1; } return f2; 【审题关键句】Xn+1=cos(Xn)的迭代计算。

double x0, x1= 0.0; while(1) { x0 = x1; x1 = cos(x0); if(fabs(x0 - x1) < 0.000001) break; } return x1;

【审题关键句】读入数值,奇数个数,偶数个数,数组下标为偶数的平均值。

int i; cnt1=0; cnt2=0; pj=0; for(i = 0; i < N; i++) { if(xx[i] % 2) cnt1++; else cnt2++; if(i % 2==0) pj += xx[i]; } pj /= 100.0;

【审题关键句】读取正数,统计个数,右移后为奇数的个数及平均值。 int i, j; long he = 0; for(i = 0; i < MAXNUM; i++) if(xx[i]) totNum++; for(i = 0; i < totNum; i++) { j = (xx[i] >> 1); if(j % 2) { totCnt++; he += xx[i]; }} totPjz = (double) he / totCnt;

【审题关键句】读取1 000个数,奇数个数及平均值,偶数个数、平均值及方差。 int i, odd=0; for(i = 0; i < MAX; i++) if(xx[i] % 2) { odd++; ave1 += xx[i]; } else { even++; ave2 += xx[i]; } ave1 /= 1.0 * odd; ave2 /= 1.0 * even; for(i = 0; i < MAX; i++) { if(xx[i] % 2 == 0)

totfc += (xx[i] - ave2) * (xx[i] - ave2); } totfc /= 1.0 * even;

【审题关键句】最大数及其个数,同时被3或7整除的整数的算术平均值。 int i, cnt1 = 0; max = 0; cnt = 0; pj = 0.0; for(i = 0; i < N; i++){

if((xx[i] % 3) == 0 || (xx[i] % 7) == 0) { pj += xx[i]; cnt1++; } if(xx[i] > max) { max = xx[i]; cnt = 1; } else if(xx[i] == max) cnt++;} pj /= (float) cnt1; 【审题关键句】10列100行选票,每行小于等于5的无效,统计存入数组

int i, j, cnt; for(i = 0; i < 100; i++) { cnt = 0; for(j = 0; j < 10; j++) if(xx[i][j] == '1') cnt++; if(cnt > 5) for(j = 0; j < 10; j++) if(xx[i][j] == '1') yy[j]++;}

【审题关键句】计算金额,按产品代码从小到大进行排列,相同的则按金额从小到大排列,结果存入结构数组。

int i, j, len; PRO tmp; len = sizeof(tmp); memset((PRO *) & tmp, 0, len); for(i = 0; i < 100; i++) for(j = i + 1; j < 100; j++) {

if(strcmp(sell[i].dm, sell[j].dm) > 0 || (sell[i].je > sell[j].je && strcmp(sell[i].dm, sell[j].dm) == 0)) { memcpy((PRO *) & tmp, (PRO *) & sell[i], len); memcpy((PRO *) & sell[i], (PRO *) & sell[j], len); memcpy((PRO *) & sell[j], (PRO *) & tmp, len); }} 【关键】第1个数大于第2个数加第3个数,存入数组,按第1个加第3个数之和升序排序。 int i, j, count = 0; Data cc; for(i = 0; i < 200; i++) { if(aa[i].x1 > (aa[i].x2 + aa[i].x3))

2

memcpy((Data *) &bb[count++], (Data *) &aa[i], sizeof(Data));} for(i = 0; i < (count - 1); i++) for(j = i+1; j < count; j++) { if((bb[i].x1+bb[i].x3) > (bb[j].x1+bb[j].x3)) { memcpy((Data *) &cc, (Data *) &bb[i], sizeof(Data)); memcpy((Data *) &bb[i], (Data *) &bb[j], sizeof(Data));

memcpy((Data *) &bb[j], (Data *) &cc, sizeof(Data)); } } return count;

【关键句】字符替代f(p)=p*11 mod 256,小于等于32或ASCII码是奇数不变,否则替换。 int i, j; for(i = 0; i < maxline; i++) for(j = 0; j < (int) strlen(xx[i]); j++) { val = (xx[i][j] * 17) % 256; if(!(val <= 32 || (val % 2))) xx[i][j] = val; }

【审题关键句】以行为单位对字符按从大到小排序,结果仍按行重新存入字符串数组中。 char ch; unsigned int i, j, k; for(i = 0; i < maxline; i++) { for(j = 0; j < strlen(xx[i]); j++) { for(k = j; k < strlen(xx[i]); k++) { if(xx[i][j] < xx[i][k]) { ch = xx[i][k]; xx[i][k] = xx[i][j]; xx[i][j] = ch;}}}} 【审题关键句】以行为单位从字符串左边部分降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理。

char ch, str[80]; int i, j, k, len, p; for(i = 0; i < 20; i++) { len = (int) strlen(xx[i]); p = len / 2; for(j = 0; j < (p-1); j++) { for(k = j + 1; k < p; k++) { if(xx[i][j] < xx[i][k]) { ch = xx[i][k]; xx[i][k] = xx[i][j]; xx[i][j] = ch;}}} if(len % 2) { strcpy(str, xx[i] + p + 1); strncat(str, xx[i] + p, 1); strncat(str, xx[i], p); } else {

strcpy(str, xx[i] + p); strncat(str, xx[i], p); } strcpy(xx[i], str); }

【审题关键句】以行为单位,新字符串中每个字符的ASCII码值等于该位置上的原字符ASCII码值的二进制右移4位后加其前一个字符的ASCII码值。

int i, j, strl; char ch; for (i=0; i0; j--) { string[i][j] >>= 4; string[i][j] += string[i][j-1]; } string[i][0] += ch; } 【审题关键句】以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,大小写不变,其他字符不变。

int i, j; for(i = 0; i < maxline; i++) for(j = 0; j < (int) strlen(xx[i]); j++) { if(xx[i][j] == 'a') xx[i][j] = 'z'; else if(xx[i][j] > 'a' && xx[i][j] <= 'z') xx[i][j]--; } 【审题关键句】以行为单位,依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放。

int i; char before[80], after[80], *p; for(i = 0; i < maxline; i++) { while(1) { p = strchr(xx[i], 'o'); if(p != NULL) { strcpy(after, xx[i] + (p - xx[i] + 1)); *p = 0; strcpy(before, xx[i]); strcpy(xx[i], after); strcat(xx[i], before); } else break; }}

【审题关键句】以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。 char line[80], word[80], *p; int i, j; for(i = 0; i < maxline; i++) { memset(line, 0, 80); memset(word, 0, 80); p = xx[i]; j = 0; while(*p) { while(isalpha(*p)) line[j++] = *p++; strcat(line, \" \"); strcat(line, word); strcpy(word, line);

memset(line, 0, 80); j = 0; while(*p && !isalpha(*p)) p++; } strcpy(xx[i], word); } 【审题关键句】数组相同下标位置上的奇数和偶数,二进制数左移八位,对应数组元素相加,保存到新数组,从小到大排序。

int i, j; unsigned int v; for(i = 0; i < MAX; i++)

if(((a[i] % 2) && (b[i] % 2) == 0) || ((a[i] % 2) == 0 && (b[i] % 2)))

c[cnt++] = (a[i] << 8) + b[i]; for(i = 0; i < cnt; i++) for(j = i + 1; j < cnt; j++)

3

if(c[i] > c[j]) { v = c[i]; c[i] = c[j]; c[j] = v; } 【审题关键句】字符的ASCII值左移4位二进制位,低位补0,新值小于等于32或大于100,则原字符保持不变;否则等于左移后的值再加上原字符的ASCII值。

unsigned char tmp; int i, j; for(i = 0; i < maxline; i++) { for(j = 0; j < (int) strlen(xx[i]); j++) { tmp = (xx[i][j] << 4); if(!(tmp <= 32 || tmp > 100)) xx[i][j] += tmp;}}

【审题关键句】把str字符串中的所有字母改写成该字母的下一个字母。

char *p = s, ch; while(*p) { ch = *p; if(isalpha(ch) && ch != 'z' && ch != 'Z') *p = ch + 1; else if(ch == 'z') *p = 'a'; else if(ch == 'Z') *p = 'A'; p++; } 【审题关键句】围圈问题。

int i, j, s1, w; s1 = s; for (i=1; i<=n; i++) p[i-1] = i; for (i=n; i>=2; i--) { s1 = (s1+m-1)%i; if (s1 == 0) s1 = i; w = p[s1-1]; for (j=s1; j<=i-1; j++) p[j-1] = p[j]; p[i-1] = w; }

【审题关键句】求实数的平均值aver;求实数的整数部分之和及小数部分之和。 int i; long num; for(i = 0; i < N; i++) { num = (long)xx[i]; sumint += num; sumdec += (xx[i] - num); aver += xx[i]; } aver /= N;

【审题关键句】将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。

int i, j, k, value,num; for (i=0; i<10; i++) { value = a[i][0]; for (j=0; j<9; j++) if (a[i][j] < value) { num = a[i][j]; for (k=j; k>0; k--) a[i][k] = a[i][k-1]; a[i][0] = num; }} 【审题关键句】统计一个长度为2的子字符串在另一个字符串中出现的次数。 char *p, *q = str; int cnt = 0; while(1) { p = strstr(q, substr); if(p == NULL) break; cnt++; q = p + 2; } return cnt; 【审题关键句】回文 int jsValue(long n) {long int s=0,k; k=n; while(k)

{ s=s*10+k%10; k/=10; }

if(s==n) return 1; if(s!=n) return 0; }

4

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务