第36套:

给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数, 存放在形参n所指的存储单元中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!

给定源程序:

#include <stdio.h>
#include <stdlib.h>
#define N 8
typedef struct list
{ int data;
struct list *next;
} SLIST;
SLIST *creatlist(int *a);
void outlist(SLIST *);
void fun( SLIST *h, int *n)
{ SLIST *p;
___1___=0;
p=h->next;
while(p)
{ (*n)++;
p=p->___2___;
}
}
main()
{ SLIST *head;
int a[N]={12,87,45,32,91,16,20,48}, num;
head=creatlist(a); outlist(head);
fun(___3___, &num);
printf("\nnumber=%d\n",num);
}
SLIST *creatlist(int a[])
{ SLIST *h,*p,*q; int i;
h=p=(SLIST *)malloc(sizeof(SLIST));
for(i=0; i<N; i++)
{ q=(SLIST *)malloc(sizeof(SLIST));
q->data=a[i]; p->next=q; p=q;
}
p->next=0;
return h;
}
void outlist(SLIST *h)
{ SLIST *p;
p=h->next;
if (p==NULL) printf("The list is NULL!\n");
else
{ printf("\nHead ");
do
{ printf("->%d",p->data); p=p->next; }
while(p!=NULL);
printf("->End\n");
}
}

解题思路:

本题是要求统计出带有头结点的单向链表中结点的个数。
第一处:对n所指的存储单元进行初始化,所以应填:*n。
第二处:指向p的下一个结点,所以应填:next。
第三处:函数调用,在主函数中已经给出了head,所以应填:head。


给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t 所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。
例如,当字符串中的内容为:“abcdabfabcdx”,t中的内容为:"ab"时,
输出结果应是:abcdx。 当字符串中的内容为:“abcdabfabcdx”,t中的内容为:"abd"时, 则程序输出未找到信息:not be found!。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:

#include <stdio.h>
#include <string.h>
char * fun (char *s, char *t )
{
char *p , *r, *a;
a = Null;
while ( *s )
{ p = s; r = t;
while ( *r )
if ( r == p )
{ r++; p++; }
else break;
if ( *r == '\0' ) a = s;
s++;
}
return a ;
}
main()
{
char s[100], t[100], *p;
printf("\nPlease enter string S :"); scanf("%s", s );
printf("\nPlease enter substring t :"); scanf("%s", t );
p = fun( s, t );
if ( p ) printf("\nThe result is : %s\n", p);
else printf("\nNot found !\n" );
}

解题思路:
第一处:指向空指针错误,Null应NULL。
第二处:比较指针位置的值是否相等,所以应改为:if(*r==*p)。


函数fun的功能是: 将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:“ABCDEFG123456”,其中字符A的ASCII码
值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为
奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是:“246”。
注意: 部分源程序存在文件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 += 2)
if(s[i] % 2 == 0) t[j++] = s[i] ;
t[j] = 0 ;
}

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

  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. NSMutableArray 如果只进行了声明,而没有进行初始化,那么程序不会报错,但是,声明的那个变量不起任何作用...
  2. 在DataGireView中加筛选条件
  3. java json.pasent_来自CSV的带有id parent(Python)的JSON树
  4. 万能makefile深入浅出- 第一篇
  5. ae灯光插件_AE教程|Particular粒子插件全面讲解介绍官方视频教程 「中文字幕」...
  6. Bzoj2656 [Zjoi2012]数列(sequence)
  7. ESP32,使用gitee搭建 ESP-IDF 开发框架
  8. VIPKID:笔试题(数组中和为0的一对数的数量,十进制转二进制中1的个数)
  9. 十三、Swing绘图技术
  10. mysql join 性能测试_MySQL Looped Join如何测试结果是否完整?
  11. 08. 切勿创建包含auto_ptr的容器
  12. 通过Atomsk、Ovito和lammps进行高熵合金的多晶体建模及渲染
  13. 计算机视觉之基本概论
  14. 滤波器设计常用术语(1)
  15. coldwallet java eth,使用Web3j(JAVA)开发ETH钱包-2
  16. django相关报错知识整理
  17. 游戏常用数据分析指标汇总
  18. 韩国appleid17+认证流程
  19. 2017今日头条校招——或与加
  20. C语言中的空指针、空指针常量、NULL 0

热门文章

  1. IOC和DI的区别详解
  2. YodaOS: 一个属于 Node.js 社区的操作系统
  3. Android Studio maven-metadata.xml 卡着不动原因和解决方法
  4. 《众妙之门——网页排版设计制胜秘诀》——3.4 展现品牌视觉的同时保持网页的可读性...
  5. 如何在MVCsheet表单页面的后台取到页面自定义字段的值?
  6. oracle常用的工具软件
  7. 怎样查看电脑开机记录
  8. 教徒计划出品:升级ESXI41-ESXI5
  9. WinCE6.0学习之EBoot源码分析----startup.s(三)
  10. 自定义报表预览控制工具条