计算机二级c语言题库

news2024/11/16 0:52:15

计算机C语言二级考试(60道程序设计)

第1道

请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)。
例如,若输入"abc4EFG",则应输出“aBc4EFG”。

void fun ( char *ss)
{
 int i, n=0;
 char *p;
 p=ss;
 while(*p++ !='\0' ) /*判断是否到了字符串的末尾*/
   n++;
 for(i=1 ;i<n;i+=2)
   if(ss[i]>='a'&& ss[i]<='z') /*判断该字符是否为〃写字母*/
     ss[i]=ss[i]-'a'+'A' ; /*若上述条件成立,则将其转换为大写字母*/
}

解析:本题的考核点是指针、ASCII码、数组和循环语句。
解题思路:通过循环语句依次判断数组下标为奇数的元素是否为小写字母,如果是则通过字符运算将其转换为大写字母。


第2道

请编写函数fun,函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p, p小于等于n-1)的数组元素平移到数组的最后。
例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10;p的值为3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。

void  fun(int  *w, int  p, int  n)
{int x,j,ch;
  for(x=0;x<=p;x++)
    {ch=w[0];
     for(j=1;j<n;j++)  
     /*通过for循环语句,将p+1到n-1 (含n-1)之间的数组元素依次向前移动p+1个存储单元*/
       {
	 w[j-1]=w[j];
	}
     w[n-1]=ch;  /*将0到p个数组元素逐一赋给数组w[n-1]*/
    }
}

解析:本题的考核点是一维数组的应用。真题2-2
解题思路:本题要求把下标从0到p(含p, p小于等于n-1)的数组元素平移到数组的最后,可以根据输入的p值,通过for循环语句,将p+1到n-1(含n-1)之间的数组元素依次向前移动P+1个存储单元,即w[j-1]-w[j],同时 将0到p个数组元素逐一赋值给数组w[n-1],也就是通过语句w[n-1 ]=ch;来实现此操作的。


第3道

请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与n自身)之和。规定n的值不大于1000。
例如,在主函数中从键盘给n输入的值为856,则输出为:sum=763。


int fun(int  n)
{
 int i,s=0;
 if(n<1000)
 {for (i=2;i<n;i++)
    if (n%i==0) s=s+i;}
  return (s);
}

解析:本题考查点是求一个数的因子之和。判断因子的方法是:能被n整除的数。因子是指一个数能够被整除的所有正整数。例如数值10的因子包括1,2,5,10.数值4的因子包括1,2,4。
真题3-2


第4道

请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。
例如:实型数为1234.567,则函数返回1234.570000;
实型数为1234.564,则函数返回1234.560000。

float fun (float h )
{
 return(int)(h*100+0.5)/100.0; /*将该数乘以10的n次方,然后将该数加上0.5,对其取整,然后再除以10的n次方*/
}

本题主要考查浮点型到定点数的转换。
解题思路:要将一个浮点数进行四舍五入到小数点后面的n位,可以先将该数乘以10的n次方,然后将该数加上0.5对其取整,然后再除以10的n次方。


第5道

请编写函数fun,其功能是:计算并输出下列多项式的值:
在这里插入图片描述

例如,在主函数中从键盘给n输入15,则输出为:s=2.718282。
注意:要求n的值大于1但不大于100ₒ

double  fun(int  n)
{
 double m=1.0,p=1.0;/*定义m、p为双字节型变量,并赋值1.0*/
 int i;
 for(i=1;i<=n;i++)
 {  p=p*i;/*p为中间变量,求出累乘值*/
    m=m+1.0/p;/*求出多项式之和*/
 }
 return (m);/*返回结果*/
}

本题主要考查的是求多项式的值。


第6道

请编写函数fun,其功能是统计出x所指数组中能被e整除的元素个数,通过函数值返回主函数;同时,计算不能被e整除的元素之和,放到形参sum所指的存储单元中。
例如:当数组x内容为1, 7,8,6, 10, 15, 11, 13, 29,31,整数e内容为3时,
输出结果应该是:n=2, sum = 110

int fun(int xQ, int e, int *sum)
{int i,n=0;
 *sum=0;
 for(i=0;i<N;i++)
	 if(x[i]%e==0) n++;
	 else *sum+=x[i];
 return n;

}

解析:通过循环获取数组中的每一个元素,并通过if语句对该元素进行判断, 并按照题中要求,对其进行计数或者统计加和。


第7道

请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值, 最大的放在a中,最小的放在d中。

void  fun(int  *a, int  *b, int  *c, int  *d)
{
 int max, min;
  max=*a;
  min=*d;
  if (*b>max) {max=*b;} 
  if (*c>max) {max=*c;} 
  if (*d>max) {max=*d;} 
  if (*a<min) {min=*a;} 
  if (*b<min) {min=*b;} 
  if (*c<min) {min=*c;}
  *a=max;
  *d=min;

}

本题的考核点是C语言中的指针和函数之间地址值的传递。
解题思路:首先定义两个变量,分别用来放最大值和最小值,先把指针a指向的值赋给max把指针d指向的值端min。此时分别将其他的数与max比较,直到将最大的值赋给max,同理,将最小的值赋给min。数值比较 过后,将指针a指向max,指针b指向min,最后再main函数中输出。


第8道

请编写函数fun,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把。至9 岁年龄段的人数放在d⑼中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依此类推,把100岁(含 100)以上年龄的人数都放在d[10]中。结果在主函数中输出。

void  fun( int  *a,  int  *b)
{int i;
 for(i=0;i<M;i++)  
   b[i]=0;/*初始化数组b中的每一个元素*/
 for(i=0;i<N;i++)  
   b[*(a+i)/10>10?10:*(a+i)/10]++;
   /*判断年龄整除10后的值是否大于10,若大于10,则该逗号表达式的值等于10,否则等于*(a+i)/10的值*/
}

本题的考核点是统计各年龄段人数的算法。
解题思路:本题提供的参考程序,先对数组初始化,再通过for循环和逗号表达式
*(a+i)/10>10? 10 : *(a+i)/10将年龄整除10后存放到数组d中,具体执行过程是:判断年龄整除10后的值是否大于10,若大于10,则该逗号表达式的值等于10,即实现了将100岁(含100)以上年龄的人数存放在d[10]中;若不大于10,则逗号表达式的值等于
*(a+i)/10的值,即实现了各个年龄段的人数的统计。


第9道

请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成
(字符串长度大于等于2)。
例如:字符串:uvwxyz满足要求;
而字符串:uvxwyz不满足要求。

int  fun( char  *t )
{
	int k=0,i=0;
	while(t[i+1]){
		if(t[i+1]==t[i]+1)
		{
			k++;
			i++;
		}else{
			k=0;
			break;
		}
	}
	return k;
}

本题的考核点是C语言中的数组与指针。
解题思路:对于一个任意输入的字符串,fun函数中的形参指针t指向它的第一个元素的地址,首先对数组中的第一个元素与第二个元素进行比较,如果第二个字符的ASCII码比第一个字符的ASCII码大1,则这两个字符连 续递增;
同理对二个元素和第三个元素进行比较,直到将倒数第二个元素和最后一元素进行比较。如果一直符合条件,则返回非零的int型整数,如果中间有一不符告则结束循环,返回值为0。


第10道

请编一个函数fun,函数的功能是:将s所指字符串中ASCll码值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为"ABCDEFG12345",其中字符串A的ASCll码值为奇数,字符1的ASCll码值也为奇数,都应该删除,其他以此类推。最后t所指的数组中的内容应是"BDF24"。

void  fun(char  *s, char  t[])
{
  int i,slenth,n=0;
    slenth=strlen(s);  /*统计字符串S中字符的个数*/
   for(i=0;i<slenth;i++)
   /*判断字符串s[i]其值的ASCll码值是否为基数,如果是则继续下一个字符串的判断,否则将字符s[i]复制到t数组中*/
       if(s[i]%2==0)
        t[n++]=s[i];
    t[n]='\0';
}

本题主要考考核点是数组和循环语句
解题思路:使用循环语句将数组元素与2做趋于操作,如果余数为0则将其值存入另一个数组中。


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

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

相关文章

OpenCV学习笔记 | ROI区域选择提取 | Python

摘要 ROI区域是指图像中我们感兴趣的特定区域&#xff0c;OpenCV提供了一些函数来选择和提取ROI区域&#xff0c;我们可以使用OpenCV的鼠标事件绑定函数&#xff0c;然后通过鼠标操作在图像上绘制一个矩形框&#xff0c;该矩形框即为ROI区域。本文将介绍代码的实现以及四个主要…

opencv编译

文章目录 一、编译前工作二、编译安装1、Windows2、Linux 一、编译前工作 进入下载页面https://github.com/opencv/opencv&#xff0c;下载指定.tar.gz源码包&#xff0c;例如&#xff1a;opencv-4.7.0.tar.gz。解压到指定目录。 二、编译安装 opencv构建时&#xff0c;需要…

使用docker搭建hadoop集群

1.下载安装docker 2.启动docker 3.配置docker镜像 4.获取hadoop镜像 5.拉取hadoop镜像 6.运行容器 7.进入容器 8.配置免密 9.格式化节点 10.启动节点 11.查看节点信息 (img-CBr9VbGk-1687962511910)] 11.查看节点信息

javascript原型、原型链、继承详解

一、原型和原型链的基本概念 在JavaScript中&#xff0c;每个对象都有一个原型对象&#xff08;prototype&#xff09;。原型对象就是一个普通的对象&#xff0c;在创建新对象时&#xff0c;可以将该对象作为新对象的原型。原型对象可以包含共享的属性和方法&#xff0c;这些属…

Appium自动化-ADB连接手机提示unauthorized

目录 开头&#xff1a; 问题&#xff1a; 调研&#xff1a; 重启大法 终极大法 总结&#xff1a; 开头&#xff1a; 当使用ADB&#xff08;Android Debug Bridge&#xff09;连接手机时&#xff0c;如果提示"unauthorized"&#xff08;未授权&#xff09;错误&a…

javaee HttpSessionListener监听器统计在线人数

先创建ServletContextListener 在全局对象application中设置count属性 package com.yyy.listener;import java.util.ArrayList;import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax…

易基因|表观遗传学与脑卒中:DNA甲基化的作用及衰老对血脑屏障修复的影响

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 脑卒中&#xff08;俗称中风&#xff09;是导致死亡和长期残疾的主要原因&#xff0c;尤其是对于老龄人来说。脑卒中的平均生存时间为6-7年&#xff0c;许多患者存在身体残疾和晚期认知功…

技术岗/算法岗面试如何准备?5000字长文、6个角度以2023秋招经历分享面试经验

技术岗/算法岗面试流程是什么样的&#xff1f;技术面都干什么&#xff1f;Coding 机试如何准备&#xff1f;技术面考察哪些知识&#xff0c;如何准备&#xff1f;项目八股如何准备&#xff1f;简历要注意什么&#xff1f;怎么做&#xff1f; 大家好&#xff0c;我是卷了又没卷…

uniapp 适配全面屏

1、manifest.json 文件修改 app-plus 下 添加 "safearea": {"background": "#00000000","bottom": {"offset": "auto"}},2、部分页面设置全屏&#xff08;登录页面&#xff09; methods: {//设置页面全屏onShow(…

SpringBoot(二)starter介绍

做Java后端的同学可能都知道&#xff0c;在SpringBoot诞生之前&#xff0c;还有传统的Spring。这种Spring项目想要运行&#xff0c;需要导入各种依赖&#xff0c;而且还要在 XML 配置文件中一顿配置&#xff0c;非常痛苦。但通过上篇博客我们可以看到&#xff0c;SpringBoot项目…

事务与隔离级别

事务四要素 原子性&#xff08;Atomicity&#xff09;&#xff1a;要么全部完成&#xff0c;要么全部不完成&#xff1b;一致性&#xff08;Consistency&#xff09;&#xff1a;一个事务单元需要提交之后才会被其他事务可见&#xff1b;隔离性&#xff08;Isolation&#xff…

azure databricks因为notebook 日志打多或者打印图片太多,往下拉卡死怎么处理

1、同事碰到个问题&#xff0c;databricks 页面卡死不动了 2、我。。。。。。。。测试了下搞不定&#xff0c;找azure的工程师&#xff0c;特此笔记如下图 !](https://img-blog.csdnimg.cn/5db9756d0e224d15a9a607561b47591f.png)

怎样自定义starter模块和使用

一、 自定义Starter模块 在实际开发中&#xff0c;经常会定义一些公共组件&#xff0c;提供给各个项目团队使用。而在SpringBoot的项目中&#xff0c;一般会将这些公共组件封装为SpringBoot的starter(起步依赖)。 1.1实例–阿里云OSS的配置 前言&#xff1a;我们在使用阿里云…

windows下MySQL 5.7.31的安装

文章目录 安装步骤检查是否安装成功配置环境变量 安装步骤 双击安装包mysql-installer-community-5.7.31.0.msi选择自定义安装“custom”&#xff0c;点击next “Developer Default”是开发者默认“Server only”仅作为服务器安装“Clientonly”仅作为客户端安装“Full”是完…

华为OD机试真题 Python 实现【红黑图】【2023Q1 200分】,附详细解题思路

一、题目描述 众所周知红黑树是一种平衡树&#xff0c;它最突出的特性就是不能有两个相邻的红色节点。 那我们定义一个红黑图&#xff0c;也就是一张无向图中&#xff0c;每个节点可能有红黑两种颜色&#xff0c;但我们必须保证没有两个相邻的红色节点。 现在给出一张未染色的…

晶振的作用,高速晶振优缺点

前言 &#xff08;1&#xff09;我们都知道晶振是一款MCU的心脏&#xff0c;因为长期用这种抽象的概念进行解释&#xff0c;导致很多人不知道这个心脏的实际作用。因此&#xff0c;我在这里详细的介绍一下晶振对于MCU的实际作用。 &#xff08;2&#xff09;接下来我将会在MCU处…

一零六一、Jupyter notebook文件默认路径修改方法

1 .打开 Anaconda Prompt&#xff0c;输入命令 jupyter notebook --generate-config 根据上面运行处的路径打开 C:\Users\WW.jupyter\jupyter_notebook_config.py文件&#xff0c;可以使用记事本打开。 2 .直接CtrlF 搜索 &#xff0c;找到 #c.NotebookApp.notebook_dir ‘’…

Spring 2023面试题(2)--Spring mvc 运行流程

1. Spring MVC的运行流程主要包括以下步骤&#xff1a; 用户发送请求到前端控制器&#xff08;DispatcherServlet&#xff09;。前端控制器接收到请求后&#xff0c;初始化处理器映射器&#xff08;HandlerMapping&#xff09;和处理器适配器&#xff08;HandlerAdapter&#…

Crypto(小学期培训)

你被骗了 url编码直接解 进入网站、找到时间 flag{2020-01-01 07:43:23} 梅开二度 凯撒密码 y和h相差17 三羊开泰 词频分析 这是&#xff1f;&#xff1f;&#xff1f; 010编辑器打开 上面是密文 下面是密码表64个&#xff0c;想到base64 找到原来的数值 与之对应&a…

JVM GC ROOT分析与垃圾收集器原理分析(三)

目录 一、GC ROOT 1、虚拟机栈中的本地变量 2、static 成员 3、常量引用 4、本地方法栈中的变量 5、类加载器 6、线程 二、回收算法 1、标记和清除 2、复制算法 3、标记整理 三、垃圾收集器 1、新生代-复制算法 2、老年代-标记清除/整理 3、垃圾收集器分类 1、…