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

第12套:
给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:

#include <stdio.h> 
#include <stdlib.h> 
#define N 5 
typedef struct node { 
int data; 
struct node *next; 
} NODE; 
__1__ * fun(NODE *h) 
{ NODE *p, *q, *r; 
p = h; 
if (p == NULL) 
return NULL; 
q = p->next; 
p->next = NULL; 
while (q) 
{ 
r = q->__2__; 
q->next = p; 
p = q; 
q = __3__ ; 
} 
return p; 
} 
NODE *creatlist(int a[]) 
{ NODE *h,*p,*q; int i; 
h=NULL; 
for(i=0; i<N; i++) 
{ q=(NODE *)malloc(sizeof(NODE)); 
q->data=a[i]; 
q->next = NULL; 
if (h == NULL) h = p = q; 
else { p->next = q; p = q; } 
} 
return h; 
} 
void outlist(NODE *h) 
{ NODE *p; 
p=h; 
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"); 
} 
} 
main() 
{ NODE *head; 
int a[N]={2,4,6,8,10}; 
head=creatlist(a); 
printf("\nThe original list:\n"); 
outlist(head); 
head=fun(head); 
printf("\nThe list after inverting :\n"); 
outlist(head); 
} 

解题思路:
本题是考察使用链表方法,对链表的结点数据进行降序排列,最后通过函数进行返回。
第一处:由于链表中的所有结果要求通过函数进行返回,所以应填:NODE *。
第二处:中间变量r用来保存q的next指针,所以应填:next。
第三处:q指向原q的next指针,所以应填:r。


给定程序MODI1.C中函数fun的功能是: 将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。
例如, 字符串中的数据为: AABBCCDDEEFF,
则输出应当是:ABBCDDEFF。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:

#include <stdio.h> 
#include <string.h> 
#define N 80 
void fun(char *s, char t[]) 
{ int i, j=0; 
for(i=0; i<strlen(s); i++) 
if(i%2 && s[i]%2==0) 
t[j++]=s[i]; 
t[i]='\0'; 
} 
main() 
{ char s[N], t[N]; 
printf("\nPlease enter string s : "); gets(s); 
fun(s, t); 
printf("\nThe result is : %s\n",t); 
} 

解题思路:
第一处: 根据试题分析,两个条件之间应该是“或”的关系,而不是“与”的关系,所以应改为:if(i%2 || s[i]%2==0)。
第二处: 当字符串处理结束后,应该补上字符串的结束符,那么字符串t的位置是由i来控制,所以应改为:t[j]=0;。


请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据, 按列的顺序
依次放到一维数组中。函数fun中给出的语句仅供参考。
例如, 二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:
33 44 55 33 44 55 33 44 55 33 44 55。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:

#include <stdio.h> 
void fun(int s[][10], int b[], int *n, int mm, int nn) 
{ 
int i,j,np=0; /* np用作b数组下标 */ 
*n=np; 
} 
main() 
{ int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j; 
int a[100]={0}, n=0; 
printf("The matrix:\n"); 
for(i=0; i<3; i++) 
{ for(j=0;j<4; j++)printf("%3d",w[i][j]); 
printf("\n"); 
} 
fun(w,a,&n,3,4); 
printf("The A array:\n"); 
for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n"); 
NONO(); 
} 

解题思路:
本题是把二维数组中的数据按行存放到一维数组中。

  1. 计算存放到一维数组中的位置。
  2. 取出二维数组中的数据存放到一维数组(已计算出的位置)中。
    参考答案:
void fun(int (*s)[10], int *b, int *n, int mm, int nn) 
{ 
int i,j,np=0; /* np用作b数组下标 */ 
for(i = 0 ; i < nn ; i++) 
for(j = 0 ; j < mm ; j++) { 
b[np] = s[j][i] ; 
np = i * mm + j + 1; 
} 
*n=np; 
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

匿名函数python_基于python内置函数与匿名函数详解

内置函数 Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input() oct() staticmethod() bin() eval() int() open() str() bool() exec() isinstance() pow() super()…

ASP.NET AJAX(服务器回调)

如果只用纯粹的 js &#xff0c;你必须弥补 ASP.NET 服务器端抽象和有限的 HTML DOM 之间的鸿沟&#xff0c;这不简单&#xff0c;没有 VS 的智能提示和调试工具&#xff0c;编写无错的代码和诊断错误都非常困难。由于各种突发事件及实现的差异&#xff0c;编写能够在所有现代浏…

一行代码开启 Winform 中的 ListView 和 DataGridView 双缓冲功能

ListView 中的 DoubleBuffered 属性是 protected 的&#xff0c;外部不能直接修改&#xff0c;但实际使用中&#xff0c;我们一般都需要开启双缓冲来避免控件闪烁。 网上很多人都是通过自定义 ListView 来实现的&#xff0c;虽然也不复杂&#xff0c;但其实用反射是更简单的办法…

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

第13套&#xff1a; 给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为&#xff1a;10、4、2、8、6&#xff0c;排序 后链表结点数据域从头至尾的数据为&#xff1a;2、4、6、8、10。 请在程序的下划线处填…

git版本回退命令_Git学习版本回退和管理文件的修改及删除操作

版本回退前面我们成功的提交了一次mygit.txt&#xff0c;下面咱对它进行修改&#xff0c;内容如下&#xff1a;Hello GitGit is so easy.然后用git status来跟踪该文件的状态&#xff1a;可以看到hellogit.txt已经被修改过了&#xff0c;到底这次修改的内容与上次的内容有什么不…

如此理解面向对象编程

从Rob Pike 的 Google上的一个推看到了一篇叫《Understanding Object Oriented Programming》的文章&#xff0c;我先把这篇文章简述一下&#xff0c;然后再说说老牌黑客Rob Pike的评论。 先看这篇教程是怎么来讲述OOP的。它先给了下面这个问题&#xff0c;这个问题需要输出一段…

node 版本升级_Node-RED: 自动化事件触发工具的安装与介绍

Node-RED 介绍Node-RED 是一种基于流程的编程工具由 IBM 的新兴技术服务团队原创开发Node-RED 是一种事件触发工具&#xff0c;和 StackStorm 类似, 可以归类为上层的自动化工具&#xff0c;可以用来触发与之相对应的下层自动化工具&#xff0c;比如 ansible&#xff0c;来更加…

用Python写网络爬虫pdf

下载地址&#xff1a;网盘下载 作为一种便捷地收集网上信息并从中抽取出可用信息的方式&#xff0c;网络爬虫技术变得越来越有用。使用Python这样的简单编程语言&#xff0c;你可以使用少量编程技能就可以爬取复杂的网站。 《用Python写网络爬虫》作为使用Python来爬取网络数据…

python处理mysql数据结构_python环境下使用mysql数据及数据结构和二叉树算法(图)...

python环境下使用mysql数据及数据结构和二叉树算法(图)&#xff1a;1 python环境下使用mysql2使用的是 pymysql库3 开始-->创建connection-->获取cursor-->操作-->关闭cursor->关闭connection->结束45 代码框架6 import pymysql.cursors7 ###连接数据库8 con…

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

第14套&#xff1a; 给定程序中, 函数fun的功能是用函数指针指向要调用的函数,并进行调用。 规定在__2__处使f指向函数f1&#xff0c;在__3__处使f指向函数f2。当调用正确时&#xff0c;程序输出: x15.000000, x23.000000, x1x1x1x240.000000 请在程序的下划线处填入正确的内容…

2012.12.26日学习笔记

DNS架构由根&#xff0c;最高层域&#xff0c;第二层域&#xff0c;子域的树状结构构成 FQDN: FULLY QUALIFIED DOMAIN NAME:WWW.SAYMS.COM可以在POWERSHELL内使用HOSTNAME查看主机名称&#xff0c;就是FQDNDNS服务器分为授权服务器&#xff0c;主服务器&#xff0c;辅助服务器…

大数据工作流_大数据和人工智能时代下的数字化工作流

点击上方“Bentley软件”可以订阅哦本文作者Bentley 软件公司高级技术经理赵顺耐大数据、人工智能以及与之相伴相生的物联网已经成为现代社会的运行方式&#xff0c;信息技术的急速发展&#xff0c;和数据量爆炸式增长&#xff0c;改变了整个社会传统的运行方式。人类与信息技术…

00x1 python分支循环

三大结构 顺序分支循环分支 分支的基本语法 if 条件表达式&#xff1a; 语句1语句2语句3......条件表达式就是计算结果必须为布尔值的表达式表达式后面的冒号不能少注意if后面的出现的语句&#xff0c;如果属于if语句块&#xff0c;则必须同一个锁紧等级条件表达式结果为True执…

多租户系统技术实现mysql_SaaS “可配置”和“多租户”架构的几种技术实现方式...

1、数据存储方式的选择多租户(Multi-Tenant )&#xff0c;即多个租户共用一个实例&#xff0c;租户的数据既有隔离又有共享&#xff0c;说到底是要解决数据存储的问题。常用的数据存储方式有三种。方案一&#xff1a;独立数据库一个Tenant&#xff0c;一个Database“的数据存储…

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

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

iOS如何判断当前网络的运营商

2019独角兽企业重金招聘Python工程师标准>>> 在IOS上存在retain屏&#xff0c;经常需要在一些时刻用到高清图&#xff0c;有些时候也要到普通图。 在网络条件很爽的情况下&#xff0c;这当然不在话下。如果咱是iphone用户&#xff0c;又正好用的是移动卡。 如果还用…

Py函数直接传入root是啥意思_Python内部函数——用处何在?

这是一篇译文&#xff0c;原文地址&#xff1a;https://realpython.com/inner-functions-what-are-they-good-for/1. 封装内部函数可以免受函数之外的情况的影响&#xff0c;也就是说&#xff0c;对于全局命名空间而言&#xff0c;它们是隐藏的。下面是一个简单的例子&#xff…

高级计算机网络的基本知识

请同学们自由组队&#xff0c;每队2-3人&#xff0c;每对从以下网络基本问题中选取一个作为课题研究内容&#xff0c;题目自拟&#xff0c;写一篇研究性论文。在本学期结束之前完成&#xff0c;并在课堂上进行汇报。 1. 网络基础理论1.1. 容量与可扩展性 1.2. …

java 树面试题_java——二叉树面试题

12 importjava.util.ArrayList;3 importjava.util.Iterator;4 importjava.util.LinkedList;5 importjava.util.List;6 importjava.util.Queue;7 importjava.util.Stack;89 /**10 *http://blog.csdn.net/luckyxiaoqiang/article/details/7518888轻松搞定面试中的二叉树题目11 *h…

Linux 和 Windows 平台不同的 UCS-2 编码

2019独角兽企业重金招聘Python工程师标准>>> 以下是有关两个平台 UCS-2 编码的潜规则&#xff1a; 1, UCS-2 不等于 UTF-16。 UTF-16 每个字节使用 ASCII 字符范围编码&#xff0c;而 UCS-2 对每个字节的编码可以超出 ASCII 字符范围。UCS-2 和 UTF-16 对每个字符至…