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

第26套:

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:

#include <stdio.h> 
#include <stdlib.h> 
#define N 8 
typedef struct list 
{ int data; 
struct list *next; 
} SLIST; 
void fun( SLIST *h) 
{ SLIST *p, *q; 
p=h->next; 
if (p!=NULL) 
{ q=p->next; 
while(q!=NULL) 
{ if (p->data==q->data) 
{ p->next=q->next; 
free(___1___); 
q=p->___2___; 
} 
else 
{ p=q; 
q=q->___3___; 
} 
} 
} 
} 
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("\nThe list is NULL!\n"); 
else 
{ printf("\nHead"); 
do { printf("->%d",p->data); p=p->next; } while(p!=NULL); 
printf("->End\n"); 
} 
} 
main( ) 
{ SLIST *head; int a[N]={1,2,2,3,4,4,4,5}; 
head=creatlist(a); 
printf("\nThe list before deleting :\n"); outlist(head); 
fun(head); 
printf("\nThe list after deleting :\n"); outlist(head); 
} 

解题思路:
本题是考察考生对链表的操作,主要是解决删除链表中数据域值相同的结点。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。
函数fun中使用两个临时结构指针变量p和q对链表进行操作。首先p指向链表开始的next指针,q指向p的next指针,再利用while循环语句来判断指针q是否NULL,如果q指针是指向NULL,那么函数结束返回。如果不是NULL,那么就要判断p和q中data值是否相同,如果值相同,则要
删除该结点,然后继续判断下一结点值是相同,如果还相同,那么继续删除结点,直至不相同为止。如果两个结点的值不相同,那么p就指向q,q指向q的next指针再继续操作上述过程。
删除结点的方法是:先将p的next指针指向q的next指针,再释放q指针指向的内存,最后把
q指针再指向p的next指针就可以删除一个链表中的结点了。
第一处:释放q指针所指的内存空间,应填q。
第二处:q指针指向p的next指针,重新完成链接,应填next。
第三处:两个结点的值不相同,那么q就指向q的next指针,应填next。


给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到 大的顺序进行排序。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行和删行,也不得更改程序的结构!
给定源程序:

#include <stdio.h> 
#define N 20 
void fun(int a[], int n) 
{ int i, j, t, p; 
for (j = 0 ;j < n-1 ;j++) { 
p = j 
for (i = j;i < n; i++) 
if(a[i] < a[p]) 
p = j; 
t = a[p] ; a[p] = a[j] ; a[j] = t; 
} 
} 
main() 
{ 
int a[N]={9,6,8,3,-1},i, m = 5; 
printf("排序前的数据:") ; 
for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); 
fun(a,m); 
printf("排序后的数据:") ; 
for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); 
} 

解题思路:
第一处:语句后缺少分号。
第二处:保存最小值的位置,所以应改为:p = i;。


请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序
输出:7 11 14 21 22 28 33 35 42 44 49
注意: 部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
给定源程序:

#include <stdio.h> 
#define M 100 
void fun ( int m, int *a , int *n ) 
{ 
} 
main( ) 
{ int aa[M], n, k; 
fun ( 50, aa, &n ); 
for ( k = 0; k < n; k++ ) 
if((k+1)%20==0) printf("\n"); 
else printf( "%4d", aa[k] ); 
printf("\n") ; 
NONO( ); 
} 

解题思路:
本题是考察考生对某个数能被其他的数整除方式,并把符合条件的数存放在数组a中。 我们给出的程序是使用for循环语句以及取模的方式来解决这个问题的。
参考答案:

#include <stdio.h> 
#define M 100 
void fun ( int m, int *a , int *n ) 
{ 
int i ; 
*n=0 ; 
for(i=7 ; i<=m; i++) 
if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ; 
} 

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

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

相关文章

在高科技产业当中,有时候你的产品出现了问题,你反过来可以把这个问题称为你的特点...

为什么80%的码农都做不了架构师&#xff1f;>>> 在高科技产业当中&#xff0c;有时候你的产品出现了问题&#xff0c;你反过来可以把这个问题称为你的特点。刚才讲的这种“大加小”的搭配就是属于这样的例子。by高通CEO保罗雅各布 看到这句话&#xff0c;深有感触…

python面向对象有什么用_Python 中的面向对象没有意义

许多人都在抨击面向对象&#xff0c;虽然我不认为他有什么问题&#xff0c;但我觉得至少在Python 中没必要。近来&#xff0c;许多人都在抨击面向对象&#xff0c;虽然我不认为面向对象本身有什么问题&#xff0c;但我觉得至少在 Python 中没这个必要。1、没有必要使用面向对象…

C# http请求

/// <summary> /// GET方式发送得结果 /// </summary> /// <param name"url">请求的url</param> public static string DoGetRequestSendData(string url) { HttpWebRequest hwRequest…

-9 逆序输出一个整数的各位数字_【每日算法】基础算法——归并排序[求逆序对的数量](四)(思想很经典)...

题目内容给定一个长度为n的整数数列&#xff0c;请你计算数列中的逆序对的数量。逆序对的定义如下&#xff1a;对于数列的第 i 个和第 j 个元素&#xff0c;如果满足 i < j 且 a[i] > a[j]&#xff0c;则其为一个逆序对&#xff1b;否则不是。输入格式第一行包含整数n&am…

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

第27套&#xff1a; 给定程序中&#xff0c;函数fun的功能是&#xff1a;计算下式前n项的和作为函数值返回。 例如&#xff0c;当形参n的值为10时&#xff0c;函数返回&#xff1a;9.612558。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意&am…

Raphael学习笔记(2)--绘图(基本图形)

为什么80%的码农都做不了架构师&#xff1f;>>> 1、图形简介 与html5不同&#xff0c;Raphael提供了以下基本图形&#xff1a;矩形、圆形、椭圆形&#xff08;html5只有矩形&#xff09;。 Paper.rect(x,y,width,height,r)&#xff1a;绘制矩形&#xff1b; 参…

windows2003 apache php mysql_Windows 2003搭建Apache PHP MySQL环境经验分享

本文所述是在windows2003上搭建&#xff0c;软件版本为Apache2.2.6(Win32)&#xff0c;PHP5.2.4&#xff0c;MySQL5.0.45&#xff0c;phpMyAdmin2.11.1。Apache和MySQL需要安装&#xff0c;PHP和phpmyadmin都是解压配置使用。详细的安装过程就不说了&#xff0c;到网上搜索一大…

java基础57 css样式、选择器和css定位(网页知识)

本文知识点&#xff08;目录&#xff09;&#xff1a; 1、CSS样式 2、选择器 3、CSS定位 1、CSS样式 1.html 在一个网页中负责的是一个页面的结构 2.css(层叠样式表)在一个页面中负责了一个页面的样式. css文档&#xff08;教程&#xff09;&#xff1a;http://www.w3…

电子计算机场地通用规范_最全的视频监控系统施工规范要求

前言&#xff1a;今天我们一起来看下监控施工详细规范步骤。可以参考一下&#xff0c;有些东西可能不符合你的项目要求&#xff0c;但是都可以做删减正文&#xff1a;一、工程设计、验收标准《城市道路设计规范》 CJJ37-90《城市道路交通规划设计规范》GB50220-95 《道路交通标…

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

第28套&#xff1a; 给定程序中&#xff0c;函数fun的功能是&#xff1a;统计形参s所指字符串中数字字符出现的次数&#xff0c;并存放在形参t所指的变量中&#xff0c;最后在主函数中输出。例如&#xff0c;形参s所指的字符串为&#xff1a;abcdef35adgh3kjsdf7。输出结果为&…

Intent的一些用法

2019独角兽企业重金招聘Python工程师标准>>> Intent用法实例 1.无参数Activity跳转 Java代码 Intent it new Intent(Activity.Main.this, Activity2.class); startActivity(it); 2.向下一个Activity传递数据&#xff08;使用Bundle和Intent.putExtras&#x…

idea建立一个java工程_IntelliJ IDEA(三、各种工程的创建 -- 之一 -- 创建一个简单的Java工程)...

一、创建一个简单的Java工程&#xff1a;HelloWorld1. Eclipse的第一步是选择工作空间&#xff0c;然后创建项目&#xff1b;IDEA不同(没有工作空间的概念)&#xff0c;第一步就直接创建具体的项目&#xff0c;项目创建过程中会选择在本地的存储位置(本地的某个文件夹)。Eclips…

BZOJ1488: [HNOI2009]图的同构

BZOJ1488: [HNOI2009]图的同构 Description 求两两互不同构的含n个点的简单图有多少种。 简单图是关联一对顶点的无向边不多于一条的不含自环的图。 a图与b图被认为是同构的是指a图的顶点经过一定的重新标号以后&#xff0c;a图的顶点集和边集能完全与b图一一对应。Input 输入一…

5折交叉验证_数据集的划分——交叉验证法

本文作者&#xff1a;王 歌 文字编辑&#xff1a;戴 雯 技术总编&#xff1a;张 邯前面我们在举例时&#xff0c;通常是将所使用的数据集按照75%和25%的比例划分为训练集和测试集&#xff0c;这主要是为了我们举例方便&#xff0c;同时划分后的数据量也依然符合大样本的要求。其…

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

第29套&#xff1a; 程序通过定义学生结构体变量&#xff0c;存储了学生的学号、姓名和3门课的成绩。函 数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如: b所指变量t中的学号、姓名、和三门课的成绩依次是: 10002、 “ZhangQi”、…

思科CCIE认证知识点之IPv6地址

IPv6是IETF&#xff08;互联网工程任务组&#xff0c;Internet Engineering Task Force&#xff09;设计的用于替代现行版本IP协议&#xff08;IPv4&#xff09;的下一代IP协议。 一、IPV6的地址&#xff1a; IPv6 地址共 128位&#xff0c;通过 8 个十六进制的地址块格式来…

python实现50行代码_50行Python代码,教你获取公众号全部文章

> 本文首发自公众号&#xff1a;python3xxx 爬取公众号的方式常见的有两种 - 通过搜狗搜索去获取&#xff0c;缺点是只能获取最新的十条推送文章 - 通过微信公众号的素材管理&#xff0c;获取公众号文章。缺点是需要申请自己的公众号。 ![图片描述](//img.mukewang.com/5d21…

java部署平台_开源Java自动化部署平台JDeploy

JDeploy是Java Shell实现的基于Linux系统的自动化、可视化的项目部署平台&#xff0c;能部署Java服务、Java Web项目&#xff0c;可以简化项目部署操作&#xff0c;无需繁琐的黑窗口SSH指令及Jenkins复杂的配置。传统部署方式&#xff1a;从SVN/GIT服务器检出代码->在IDE中…

A*算法在最短路问题的应用及其使用举例

1 A*算法 A*算法在人工智能中是一种典型的启发式搜索算法&#xff0c;启发中的估价是用估价函数表示的&#xff1a; 其中f(n)是节点n的估价函数&#xff0c;g(n)表示实际状态空间中从初始节点到n节点的实际代价&#xff0c;h(n)是从n到目标节点最佳路径的估计代价。另外定义h(n…

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

第30套&#xff1a; 程序通过定义学生结构体变量&#xff0c;存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b&#xff0c;并修改b中的学号和姓名&#xff0c;最后输出修改后的数据。例如&#xff1a;a所指变量中…