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

2023-10-26

第78套:

给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
交换后为:
3 2 1
4 5 6
9 8 7
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:

#include <stdio.h> 
#define N 4 
void fun(int ___1___ , int n) 
{ int i,s; 
for(___2___; i++) 
{ s=t[i][i]; 
t[i][i]=t[i][n-i-1]; 
t[i][n-1-i]=___3___; 
} 
} 
main() 
{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; 
printf("\nThe original array:\n"); 
for(i=0; i<N; i++) 
{ for(j=0; j<N; j++) printf("%d ",t[i][j]); 
printf("\n"); 
} 
fun(t,N); 
printf("\nThe result is:\n"); 
for(i=0; i<N; i++) 
{ for(j=0; j<N; j++) printf("%d ",t[i][j]); 
printf("\n"); 
} 
} 

解题思路:
第一处:在函数体fun中,已经使用了t整型数组,所以应填:t[][N]。
第二处:要求填写for循环语句的初始值和终止值,所以应填:i=0;i<n。
第三处:交换变量的值,根据循环体中的语句可知,s是存放交换的中间变量,所以应填: s。


由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值, 则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中。直到low>high,查找结束。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:

#include <stdio.h> 
#define N 10 
void fun(int a[], int m ) 
{ int low=0,high=N-1,mid; 
while(low<=high) 
{ mid=(low+high)/2; 
if(m<a[mid]) 
high=mid-1; 
else If(m > a[mid]) 
low=mid+1; 
else return(mid); 
} 
return(-1); 
} 
main() 
{ int i,a[N]={-3,4,7,9,13,45,67,89,100,180 },k,m; 
printf("a数组中的数据如下:"); 
for(i=0;i<N;i++) printf("%d ", a[i]); 
printf("Enter m: "); scanf("%d",&m); 
k=fun(a,m); 
if(k>=0) printf("m=%d,index=%d\n",m,k); 
else printf("Not be found!\n"); 
} 

解题思路:
第一处:函数有返回值,不能定义为void,所以应改为:int fun(int a[],int m)。
第二处:if错定成If。


假定输入的字符串中只包含字母和号。请编写函数fun,它的功能是:除了尾部的号之外,将字符串中其它号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:ABCDEFG
*****,删除后,字符串中的内容应当是: ABCDEFG*******。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:

#include <stdio.h> 
void fun( char *a, char *p ) 
{ 
} 
main() 
{ char s[81],*t; 
printf("Enter a string:\n");gets(s); 
t=s; 
while(*t)t++; 
t--; 
while(*t=='*')t--; 
fun( s , t ); 
printf("The string after deleted:\n");puts(s); 
NONO(); 
} 

解题思路:
本题是考察字符串的操作。

  1. 利用循环扫描出p指针左边的字符是否是’‘,如果不是’',则依次把这些字符移动原字符串a首地址开始存放。
  2. 把p指针所指的字符串也依次存放到字符串a中。
  3. 最后给字符串a加上结束符。
    参考答案:
void fun( char *a, char *p ) 
{ 
char *q=a; 
int j=0; 
while(*q && q<p) { 
if(*q != '*') a[j++] = *q ; 
q++ ; 
} 
while(*p) a[j++]=*p++; 
a[j]=0; 
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

全国计算机等级考试题库二级C操作题100套(第78套) 的相关文章

  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的
  • 如何在 C++ 中的文件末尾添加数据?

    我已按照网上的说明进行操作 此代码应该将输入添加到文件 数据库 的末尾 但当我检查时 数据会覆盖现有数据 请帮忙 这是我的代码 int main string name string address string handphone cou
  • 用 C++ 进行服装建模 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在编写一些软件 最终会绘制一个人体框架 可以配置各种参数 并且计划是在假人身上放置某种衣服 我研究
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 在 C# 中循环遍历文件文件夹的最简单方法是什么?

    我尝试编写一个程序 使用包含相关文件路径的配置文件来导航本地文件系统 我的问题是 在 C 中执行文件 I O 这将是从桌面应用程序到服务器并返回 和文件系统导航时使用的最佳实践是什么 我知道如何谷歌 并且找到了几种解决方案 但我想知道各种功
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • Visual Studio 中的测试单独成功,但一组失败

    当我在 Visual Studio 中单独运行测试时 它们都顺利通过 然而 当我同时运行所有这些时 有些通过 有些失败 我尝试在每个测试方法之间暂停 1 秒 但没有成功 有任何想法吗 在此先感谢您的帮助 你们可能有一些共享数据 检查正在使用
  • 如何将自定义 JSON 文件添加到 IConfiguration 中?

    我正在使用 asp net Autofac 我正在尝试加载自定义 JSON 配置文件 并基于该文件创建 实例化 IConfiguration 实例 或者至少将我的文件包含到默认情况下构建的 IConfiguration asp net 中
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable

随机推荐

  • JavaScript实现简单区块链

    用JavaScript来实现一个简单的区块链 通过实现过程 你将理解区块链是什么 区块链就是一个分布式数据库 存储结构是一个不断增长的链表 链表中包含着许多有序的记录 然而 在通常情况下 当我们谈到区块链的时候也会谈起使用区块链来解决的问题
  • Implement Trie (Prefix Tree)前缀树系列

    208 Implement Trie Prefix Tree class Trie def init self Initialize your data structure here self tree def insert self wo
  • [HDLBits] Dualedge

    You re familiar with flip flops that are triggered on the positive edge of the clock or negative edge of the clock A dua
  • 时间函数——setDate()

    实例 设置一个月的某一天 var d new Date d setDate 15 d 输出结果 Sun Sep 15 2019 11 06 10 GMT 0800 中国标准时间 定义和用法 setDate 方法用于设置一个月的某一天 浏览器
  • [1055]VM上配置Centos7网络&设置静态IP&修改hostname

    文章目录 配置ceotos7网络 设置静态IP 修改hostname 配置ceotos7网络 首先在安装好centos7的时候会在本机电脑的网络管理里面出现以下网络 开机登录时候直接ping www baidu com 会发现ping不同
  • 一个很骚的sql报错:分页查询,每次返回数据可能不同

    追加 不是主要问题 应该是排序字段缺少唯一值 后面加了rowid 生效了 主表 bdg budget project 辅表 bdg budget 关系 一对一关系 问题 相同sql 分页查询 多次点击 返回的数据可能不同 原因 排序字段是辅
  • "防止同时出现多个应用程序实例"之改进

    防止同时出现多个应用程序实例 之改进字号 大 中 小 在 Delphi 5 开发人员指南 中第13章中有一篇 防止同时出现多个应用程序实例 代码中给出了一个MultInst pas单元 工程引用此单元就能防止同时出现多个实例 但实际应用中发
  • 铨顺宏RFID:错综复杂的地下管道用RFID标签能完成管理吗?

    RFID技术性使地底管网系统软件可以开展国际化的信息管理方法 提升管路的布署 日常保护和运作管理能力 现阶段地底管网资源优化配置方式已基本上不可以融入日益增加的管网业务流程要求 在较大水平上阻碍了城市的发展趋势 利用RFID方式方法对城市地
  • 探索地块建立

    探索地块建立 public static void main String args int num 0 Scanner sc new Scanner System in String s sc nextLine split int n I
  • Java获取当前时间前几个月、季度

    项目统计需要展示折线图 要求横轴 当前日期的前4个季度 前12个月 至于包含 不包含本月 自己处理一下日期就好 获取数组 import java time LocalDate import java util ArrayList impor
  • JavaScript数组方法整理

    JavaScript数组方法整理 1 join join 就是把数组转换成字符串 然后给他规定个连接字符 默认的是逗号 var arr 1 2 3 console log arr join 1 2 3 console log arr joi
  • 浅谈数据分析和数据挖掘

    1 数据分析 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析 提取有用信息和形成结论而对数据加以详细研究和概括总结的过程 数据分析有极其广泛的应用范围 典型的数据分析过程可看做 四部曲 第一 数据获取 获取数据的前提是对商业问题
  • “老外写中国”的四大流派

    中国大趋势 当中国统治世界 关系 老北京最后的日子 工厂女孩 中国行 在英文的书架中 寻找主题为 中国 的图书 会冒出很多这样的封面设计 大红色的背景 鲜红色五角星占据主要位置 同样鲜红的书名中 CHINA 这个词的字体总是放得最大 这里介
  • AcWing 853. 有边数限制的最短路

    给定一个 n 个点 m 条边的有向图 图中可能存在重边和自环 边权可能为负数 请你求出从 1 号点到 n 号点的最多经过 k 条边的最短距离 如果无法从 1 号点走到 n 号点 输出 impossible 注意 图中可能 存在负权回路 输入
  • 如何安装maatwebsite/excel?

    背景 项目要下载内容 那最好是用扩展了 常用的也就是maatwebsite excel 但是今天安装的提示异常 错误如下 Problem 1 maatwebsite excel 3 1 28 3 1 30 require phpoffice
  • Python爬虫深造篇(一)——多线程网页爬取

    一 前情提要 相信来看这篇深造爬虫文章的同学 大部分已经对爬虫有不错的了解了 也在之前已经写过不少爬虫了 但我猜爬取的数据量都较小 因此没有过多的关注爬虫的爬取效率 这里我想问问当我们要爬取的数据量为几十万甚至上百万时 我们会不会需要要等几
  • 《Centos系统——linux运维必备基础命令》

    目录 1 vi编译器的3种基本模式 命令模式 末行模式 插入模式 2 vim的高级模式 可视化模式 vim多行注释 3 线上查询及帮助命令 2 个 man 帮助 help 命令用于显示shell内部命令的帮助信息 4 文件和目录操作命令 1
  • 删除单向链表中的某一个节点

    已知一个单向链表的表头head 写出一个删除某一个节点的算法 要求先找到此节点 然后删除 include
  • 【LeetCode刷题】26. 删除有序数组中的重复项

    1 题目描述 力扣 给你一个 升序排列 的数组 nums 请你 原地 删除重复出现的元素 使每个元素 只出现一次 返回删除后数组的新长度 元素的 相对顺序 应该保持 一致 由于在某些语言中不能改变数组的长度 所以必须将结果放在数组nums的
  • 全国计算机等级考试题库二级C操作题100套(第78套)

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