第18套:
给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
例如,s所指字符串为:asd123fgh543df,处理后新字符串为:asdfghdf123543。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!

给定源程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *fun(char *s)
{ int i, j, k, n; char *p, *t;
n=strlen(s)+1;
t=(char*)malloc(n*sizeof(char));
p=(char*)malloc(n*sizeof(char));
j=0; k=0;
for(i=0; i<n; i++)
{ if(((s[i]>='a')&&(s[i]<='z'))||((s[i]>='A')&&(s[i]<='Z'))) {
t[j]=__1__; j++;}
else
{ p[k]=s[i]; k++; }
}
for(i=0; i<__2__; i++) t[j+i]=p[i];
t[j+k]= __3__;
return t;
}
main()
{ char s[80];
printf("Please input: "); scanf("%s",s);
printf("\nThe result is: %s\n",fun(s));
}

解题思路:
第一处:函数中申请了两个内存空间,其p是存放字母字符串,t是存放非字母字符串,根
据条件可知,p依次存放字母字符串,其位置由j来控制,所以应填:s[i]。
第二处:利用for循环再把t中的内容依次追加到p中,其中t的长度为k,所以应填:k。
第三处:字符串处理好后必须添加字符串结束符,所以应填:’\0’。


给定程序MODI1.C中函数 fun 的功能是:将s所指字符串中最后一次出现的与
t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。
在此处,要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为:“abcdabfabc”,t1所指子串中的内容为: “ab”,t2所指子串中的内容为:"99"时, 结果,在w所指的数组中的内容应为: “abcdabf99c”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

给定源程序:

#include <stdio.h>
#include <string.h>
int fun (char *s, char *t1, char *t2 , char *w)
{
int i; char *p , *r, *a;
strcpy( w, s );
while ( w )
{ p = w; r = t1;
while ( *r )
IF ( *r == *p )
{ r++; p++; }
else break;
if ( *r == '\0' ) a = w;
w++;
}
r = t2;
while ( *r ){ *a = *r; a++; r++; }
}
main()
{
char s[100], t1[100], t2[100], w[100];
printf("\nPlease enter string S:"); scanf("%s", s);
printf("\nPlease enter substring t1:"); scanf("%s", t1);
printf("\nPlease enter substring t2:"); scanf("%s", t2);
if ( strlen(t1)==strlen(t2) )
{ fun( s, t1, t2, w);
printf("\nThe result is : %s\n", w);
}
else printf("\nError : strlen(t1) != strlen(t2)\n");
}

解题思路:
第一处:判断w指针所指的值是否是结束符,应改为:while(*w)。
第二处:if错写成If。


函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为:“ABCDEFG12345”,其中字符A的ASCII码值为奇数、…、字符1的ASCII码值也为奇数、… 都应当删除,其它依此类推。最后t所指的数组中的内容应是:“BDF24”。
注意: 部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

给定源程序:

#include <stdio.h>
#include <string.h>
void fun(char *s, char t[])
{
}
main()
{
char s[100], t[100];
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
}

解题思路:
本题是从一个字符串按要求生成另一个新的字符串。我们使用for循环语句来解决这个问题。

参考答案:

void fun(char *s, char t[])
{
int i, j = 0 ;
for(i = 0 ; i < strlen(s); i++) if(s[i] % 2==0) t[j++] = s[i] ;
t[j] = 0 ;
}

全国计算机等级考试题库二级C操作题100套(第18套)相关推荐

  1. 全国计算机等级考试题库二级C操作题100套(第88套)

    第88套: 函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中:再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中: ...

  2. 全国计算机等级考试题库二级C操作题100套(第99套)

    第99套: 函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换.形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动. 例如:若a所指数组中的数据依次为:1.2. ...

  3. 全国计算机等级考试题库二级C操作题100套(第97套)

    第97套: 函数fun的功能是:逆置数组元素中的值.例如:若a所指数组中的数据依次为:1.2.3.4.5.6.7.8.9,则逆置后依次为:9.8.7.6.5.4.3.2.1.形参n给出数组中数据的个数 ...

  4. 全国计算机等级考试题库二级C操作题100套(第95套)

    第95套: 给定程序中,函数fun的功能是:计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回.注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值.例如,若N=3,有下列 ...

  5. 全国计算机等级考试题库二级C操作题100套(第93套)

    第93套: 给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun 函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表 缩短. 请在程序的下划线处填入正确的 ...

  6. 全国计算机等级考试题库二级C操作题100套(第78套)

    第78套: 给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换.例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 交换后为: 3 2 ...

  7. 全国计算机等级考试题库二级C操作题100套(第77套)

    第77套: 给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回. 例如,输入一个整数:27638496,函数返回值为:64 ...

  8. 全国计算机等级考试题库二级C操作题100套(第75套)

    第75套: 给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序.ss所指字符串数组中共有M个字符串,且串长<N.请在程序的下划线处填入正确的内容并把下划 ...

  9. 全国计算机等级考试题库二级C操作题100套(第58套)

    第58套: 给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制 到形参t所指字符数组中,形成一个新串.若s所指字符串的长度小于n,则将整个 字符串复制到形参t所指字符数组中.例如 ...

  10. 全国计算机等级考试题库二级C操作题100套(第53套)

    第53套: 函数fun的功能是:计算请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果. 注意:源程序存放在考生文件夹下的BLANK1.C中. 不得增行或删行,也不得更改程序的结构! ...

最新文章

  1. 第十七届智能车竞赛LOGO设计
  2. ATT将在伦敦建设第二个数据中心
  3. 【Python学习系列五】Python网络爬虫框架Scrapy环境搭建
  4. GIT学习笔记二(本地项目发布到GIT)
  5. linux rpm和deb的区别,rpm与deb的区别
  6. 连接数据库的方法---ODBC
  7. OpenStack概念结构与逻辑架构:Conceptual architecture and Logical architecture
  8. 怎么学习前端开发?求推荐学习路线?
  9. python输出字典_Python如何将字典键和值拆分为单独的列表?(代码示例)
  10. 自学python买什么书比较好-python官方推荐30本面向初学者的书籍!你看过几本?...
  11. ZT“老师说,如果想念一个人,就响两下他/她的手机。”
  12. 一致性hash算法_一致性 Hash 算法的实际应用
  13. 攻击日志分析 中职网络安全
  14. android 强制锁屏app,自制力app强制锁屏
  15. 用计算机程序计算鸡兔同笼,Linux脚本基础篇-鸡兔同笼问题(示例代码)
  16. logrus固定当天日志文件名称源码修改
  17. vue实现点击按钮调用摄像头扫码
  18. naive_bayes
  19. Cocos Creator 位图字体(艺术数字资源、BMFont、自定义位图字体、插件)
  20. 精心整理了30个Python数据分析项目,拿走就用!

热门文章

  1. shell中字分隔的妙用:变量IFS
  2. 单点登录系统cas资料汇总
  3. 新一代蓝牙5标准开启 会成为物联网的最佳选择吗
  4. SpringBoot的配置项
  5. ubuntu网站做图像外链
  6. 帝人製机--适合的机遇--遇到恰到好处的产品--工业机器人减速机造就一个百年企业
  7. Opencv 找轮廓并画出相应的矩形
  8. matlab做比例积分微分控制,收放卷卷径计算+闭环摆杆控制参数自适应PID控制算法(变比例变积分变微分)介绍...
  9. kingedit 上传php_php文件上传下载实例(实现最简单的网盘功能)
  10. android 获取网卡mac_Java获取Linux安卓设备的mac地址方法