绝对零基础的C语言科班作业(期末模拟考试)(十道编程题)
编程题(共10题; 共100.0分)(给猛男妙妙屋更一篇模拟考试)
模拟1(输出m到n的素数)
从键盘输入两个整数[m,n], 输出m和n之间的所有素数。
输入样例:3,20
输出样例:3 5 7 11 13 17 19 (输出数据之间用空格间隔)
代码:
#include<stdio.h>
#include<math.h>
int isPrime(int r)
{if (r < 2){return 0;}for (int i = 2;i <= sqrt(r);i++){if (r % i == 0){return 0;}}return 1;
}
int main()
{int m = 0, n = 0;scanf("%d%d", &m, &n);for (int i = m;i <= n;i++){if (isPrime(i)){printf("%d ", i);}}return 0;
}模拟2(在数组找数字并排序)
从键盘输入10个整数存入数组中,从键盘输入一个整数,
判断从键盘输入的整数是否在数组中,如果找到了,输出该数所在的位置,
否者提示“not found”。同时按由小到大次序对这批数据进行排序,并输出。
输入要求:第一行输入10个整数,数据间使用空格间隔
第二行 输入一个待查找的整数
输出要求: 第一行输出是否找待查找的数据的信息
第二行输出排序后的数据,要求数据间用空格间隔
代码:
#include<stdio.h>
void bubble_sort(int arr[], int sz)//sz是传入数组大小,此题是10,也可以不加
{for (int i = 0;i < sz - 1;i++){int flag = 1;//优化(外面标记一下)(可以不写)for (int j = 0;j < sz - 1 - i;j++){if (arr[j] > arr[j + 1]){int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;flag = 0;//如果内循环没有一次是要交换的,说明全部的数都排好了,此时flag为1,等下会break}}if (flag){break;}}
}
int main()
{int arr[10] = { 0 };for (int i = 0;i < 10;i++){scanf("%d", &arr[i]);}int n = 0;scanf("%d", &n);int flag = 0;for (int i = 0;i < 10;i++){if (arr[i] == n){printf("%d ", i);flag++;}}if (flag == 0){printf("not found");}printf("\n");int sz = sizeof(arr) / sizeof(arr[0]);bubble_sort(arr, sz);//可以直接传入10for (int i = 0;i < 10;i++){printf("%d ", arr[i]);}return 0;
}模拟3(查找字符)
从键盘输入一个字符,在给定的字符串中寻找该输入字符,
若找到打印输出该字符,没有找到给出提示信息“not found”。
给定的字符串:“the people's republic of china”
输入样例:p
输出样例:p
输入样例:t
输出样例:not found
代码:
#include<stdio.h>
#include<string.h>
int main()
{char arr[50] = "the people's republic of china";char c = '0';scanf("%c", &c);for (int i = 0;i < strlen(arr);i++){if (arr[i] == c){printf("%c", c);return 0;}}printf("not found");return 0;
}模拟4(计算工资)
设某公司的业务员工资的计算方法为:工资=基本工资+提成。
其中,提成的计算方法为:当销售额在10000元以下时,只发基本工资1000元;
当销售额在10000元以上才可以拿提成。提成的比率为:
当销售额在20000元以下时,超出10000元的部分可按5% 提成;
当销售额在20000元以上50000元以下时,超出20000元的部分可按6% 提成;
当销售额在50000元以上100000元以下时,超出50000元的部分可按7% 提成;
当销售额在100000元以上时,超出100000元的部分可按8% 提成。
输入一个业务员的销售额,计算其应发的工资额。
输入提示信息:"Please input sale: \n"
输入格式:"%d"
输出格式:"%.3f\n"示例:
Please input sale : 23456
1707.360
代码:
#include <stdio.h>
int main()
{float sale = 0, wage = 0;printf("Please input sale: \n");scanf("%f", &sale);if (sale <= 10000)wage = 1000;if (sale > 10000 && sale <= 20000)wage = 1000 + (sale - 10000) * 0.05;if (sale > 20000 && sale <= 50000)wage = 1000 + 10000 * 0.05 + (sale - 20000) * 0.06;if (sale > 50000 && sale <= 100000)wage = 1000 + 10000 * 0.05 + 30000 * 0.06 + (sale - 50000) * 0.07;if (sale > 100000)wage = 1000 + 10000 * 0.05 + 30000 * 0.06 + 50000 * 0.07 + (sale - 100000) * 0.08;printf("%.3f\n", wage);return 0;
}模拟5(逆序整数)
编写程序,输入一个整数,将它逆序输出。要求定义并调用函数reverse(number),
它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321.
代码:
#include <stdio.h>
int reverse(int x)
{int m = 0;int sum = 0;while (x != 0){m = x % 10;x = x / 10;sum = (sum * 10) + m;}return sum;
}
//数组逆序
void reverse2(int* p, int left, int right)
{while (left < right){int tmp = p[left];p[left] = p[right];p[right] = tmp;left++;right--;}
}
int main()
{int n = 0;scanf("%d", &n);printf("%d\n", reverse(n));return 0;
}模拟6(统计优秀率)
某班进行了大学计算机基础考试,
现要求的定义函数count帮助任课老师统计优秀率(90分以上为优秀)。
要求学生成绩使用数组来存储。
输入样例:78 90 87 65 45 78 23 94 67 77
输出样例:2
代码:
#include <stdio.h>
int count(int arr[], int sz)
{int count = 0;for (int i = 0;i < sz;i++){if (arr[i] >= 90){count++;}}return count;
}
int main()
{int arr[10] = { 0 };for (int i = 0;i < 10;i++){scanf("%d", &arr[i]);}printf("%d", count(arr, 10));return 0;
}模拟7(回文数)
”20211202“是一个特殊的日子,是完全对称日。
所谓完全对称日即正读和反读得到的字符串是相同的,
实质就是一个回文词。英文中有很多的回文词,回文词的拼法十分有趣,无论是从前往后拼读,
还是从后往前拼读,他们的拼法和词义都不变。例如:dad(爸爸),mum(妈妈),noon(中午),
eve(前夕),eye(眼睛),pop(流行),deed(行为),level(水平)等。
现在请你编程输入一个字符串,判断它是否是回文。
提示:
(1)设置两个指针pStart和pEnd,让pStart指向字符串首部,让pEnd指向字符串尾部。
或者设置两个循环变量i和j,i指向首字符,j指向结束符。
(2)利用循环从字符串两边对指针所指字符进行比较,当对应的两字符相等且两指针未超越对方时,
使指针pStart向前移动一个字符位置(加1),使指针pEnd向后移动一个字符位置(减1),
一旦发现两字符不等或两指针已互相超越(不可能是回文),则立即停止循环。
(3)根据退出循环时两指针的位置,判断字符串是否为回文。
输入样例:ABCCBA
输出样例:YES!
输入样例:student
输出样例:NO!
法一代码:
#include<stdio.h>
#include<string.h>
int main()
{char str[100] = { 0 };gets(str);char* pStart = str, * pEed = &str[strlen(str) - 1];while (pStart < pEed){if (*pStart != *pEed){break;}pStart++;pEed--;}if (pStart >= pEed){printf("yes");}else{printf("no");}return 0;
}法二代码:
#include<stdio.h>
#include<string.h>
int main()
{char arr[100] = { 0 }, arr_tmp[100] = { 0 };//把arr反过来拷贝gets(arr);int len = strlen(arr);int end = len - 1;for (int i = 0;i < len;i++){arr_tmp[i] = arr[end--];}if (strcmp(arr, arr_tmp) == 0){printf("yes");}else{printf("no");}return 0;
}模拟8(组合数)
从3个红球,5个白球,6个黑球中任意取出8个作为一组。在每组中可以没有黑球,
但必须要有红球和白球。编程实现复合要求的组合数。
代码:
#include <stdio.h>
int main()
{int sum = 0;for (int red = 1; red <= 3; red++){for (int white = 1; white <= 5; white++){for (int black = 0; black <= 6; black++)//可以没有黑球,从0开始{if (red + white + black == 8){printf("red:%d white:%d black:%d\n", red, white, black);sum++;}}}}printf("sum = %d", sum);return 0;
}模拟9(合法密码)
编程实现判断用户在某购物网站注册时输入的密码是否合法,要求密码长度不能超过20,
且密码是混合字符,必须包含英文大写字母,英文小写字母和数字字符三种字符。
如果用户输入的注册密码复合要求,输出“yes ”否者输出 "no"
代码:
#include <stdio.h>
#include <string.h>
int main()
{char arr[100];gets(arr);int lower = 0, upper = 0, digit = 0;int len = strlen(arr);if (len <= 20){for (int i = 0;i < len;i++){if (arr[i] >= 'a' && arr[i] <= 'z'){lower++;}if (arr[i] >= 'A' && arr[i] <= 'Z'){upper++;}if (arr[i] >= '0' && arr[i] <= '9'){digit++;}}}//如果不能是混合字符就加上k+upper+digit==iif (lower != 0 && upper != 0 && digit != 0){printf("yes");}else{printf("no");}return 0;
}模拟10(结构体求平均分)
应用结构体类型,编程输入4名学生的姓名和高等数学、
大学英语、模拟电路三门课程的成绩,输出平均分最高的学生的姓名。
输入样例:
zhangsan 80 90 100
lisi 95 85 98
wangwu 95 85 95
zhaoliu 100 80 88
输出样例:
lisi
代码:
#include<stdio.h>
struct student
{char name[20];float score[3];float aver;
};
int main()
{struct student s[4] = { 0 };for (int i = 0;i < 4;i++){scanf("%s%f%f%f", &s[i].name, &s[i].score[0], &s[i].score[1], &s[i].score[2]);s[i].aver = (s[i].score[0] + s[i].score[1] + s[i].score[2]) / 3;}float max = -1;int i = 0, tmp = 0;for (i = 0;i < 4;i++){if (s[i].aver > max){max = s[i].aver;tmp = i;}}printf("%s", s[tmp].name);return 0;
}
相关文章:
绝对零基础的C语言科班作业(期末模拟考试)(十道编程题)
编程题(共10题; 共100.0分)(给猛男妙妙屋更一篇模拟考试)模拟1(输出m到n的素数)从键盘输入两个整数[m,n], 输出m和n之间的所有素数。 输入样例:3,20输出样例:…...
按位与为零的三元组[掩码+异或的作用]
掩码异或的作用前言一、按位与为零的三元组二、统计分组1、map统计分组2、异或掩码总结参考资料前言 当a b 0时,我们能够很清楚的知道b是个什么值,b 0 - a -a,如果当a & b 0时,我们能够很清楚的知道b是什么值吗…...
C++基础篇(一)-- 简单入门
C 语言是在优化 C 语言的基础上为支持面向对象的程序设计而研制的一个通用目的的程序设计语言。在后来的持续研究中,C 增加了许多新概念,例如虚函数、重载、继承、标准模板库、异常处理、命名空间等。 C 语言的特点主要表现在两个方面:全面兼…...
前端整理 —— javascript 2
1. generator(生成器) 详细介绍 generator 介绍 generator 是 ES6 提供的一种异步编程解决方案,在语法上,可以把它理解为一个状态机,内部封装了多种状态。执行generator,会生成返回一个遍历器对象。返回的…...
Spring-注解注入
一、回顾XML注解 bean 配置 创建 bean public class Student { } 配置 xml bean <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSche…...
华为校招机试 - 攻城战(Java JS Python)
目录 题目描述 输入描述 输出描述 用例 题目解析 JavaScript算法源码 Java算法源码...
Docker入门
Docker一、何为DockerDocker是一个开源的应用容器引擎,基于GO语言并遵循从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后在发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使…...
时间序列分析 | CNN-LSTM卷积长短期记忆神经网络时间序列预测(Matlab完整程序)
时间序列分析 | CNN-LSTM卷积长短期记忆神经网络时间序列预测(Matlab完整程序) 目录 时间序列分析 | CNN-LSTM卷积长短期记忆神经网络时间序列预测(Matlab完整程序)预测结果模型输出基本介绍完整程序参考资料预测结果 模型输出 layers = 具有以下层的 151 Layer 数组:...
【蒸滴C】C语言结构体入门?看这一篇就够了
目录 一、结构体的定义 二、结构的声明 例子 三、 结构成员的类型 结构体变量的定义和初始化 1.声明类型的同时定义变量p1 2.直接定义结构体变量p2 3.初始化:定义变量的同时赋初值。 4.结构体变量的定义放在结构体的声明之后 5.结构体嵌套初始化 6.结构体…...
第十三届蓝桥杯
这里写目录标题一、刷题统计(ceil函数返回的是等值于某最小整数的浮点值,不强制转换回int就wa,没错就连和int整数相加都wa二、修剪灌木(主要应看清楚会调转方向三、统计子矩阵(前缀和滑动窗口⭐)四、[积木画…...
消息队列mq
应用场景: 1、解耦 2、削峰填谷 3、异步处理 4、消息通讯 工作模式: 一个消息只能被消费一次(订阅模式除外),消费者接受到消息会回调业务逻辑,消费逻辑写在回调函数里面。 1、简单模式:一个生产…...
[学习笔记]黑马程序员Spark全套视频教程,4天spark3.2快速入门到精通,基于Python语言的spark教程
文章目录视频资料:一、Spark基础入门(环境搭建、入门概念)第二章:Spark环境搭建-Local2.1 课程服务器环境2.2 Local模式基本原理2.3 安装包下载2.4 Spark Local模式部署第三章:Spark环境搭建-StandAlone3.1 StandAlone…...
git push和 git pull的使用
git push与git pull是一对推送/拉取分支的git命令。git push 使用本地的对应分支来更新对应的远程分支。$ git push <远程主机名> <本地分支名>:<远程分支名>*注意: 命令中的本地分支是指将要被推送到远端的分支,而远程分支是指推送的目标分支&am…...
首发,pm3包,一个用于多组(3组)倾向评分匹配的R包
目前,本人写的第二个R包pm3包已经正式在CRAN上线,用于3组倾向评分匹配,只能3组不能多也不能少。 可以使用以下代码安装 install.packages("pm3")什么是倾向性评分匹配?倾向评分匹配(Propensity Score Match…...
基于Canal的数据同步
基于Canal的数据同步 一、 系统结构 该数据同步系统由Spring Boot和Canal共同组成。 Spring Boot 是一个流行的 Java Web 框架,而 Canal 则是阿里巴巴开源的 MySQL 数据库的数据变更监听框架。结合 Spring Boot 和 Canal,可以实现 MySQL 数据库的实时数…...
vuetify设置页面默认主题色
前言 最近工作中接到一个任务: 项目中分light和dark两种主题色a、b页面默认为dark其他页面默认为light 项目前端环境: vue2jsyarnvuexvuetifyelement ui 解决思路 routerjs中配置路径时进行默认主题设置 在左侧aside点击菜单时,进行主题切…...
【Python入门第二十三天】Python 继承
Python 继承 继承允许我们定义继承另一个类的所有方法和属性的类。 父类是继承的类,也称为基类。 子类是从另一个类继承的类,也称为派生类。 创建父类 任何类都可以是父类,因此语法与创建任何其他类相同: 实例 创建一个名为…...
C#中,读取一个或多个文件内容的方法
读取一个或多个文件内容的方法 在C#中,可以使用File.ReadAllLines方法一次读取多个文件中的所有行内容。例如,以下代码读取了两个文件中的所有行内容,然后将它们合并在一起: string[] file1Lines File.ReadAllLines("file1…...
1 基于神经辐射场(neural Radiance Fileds, Nerf)的三维重建- 简介
Nerf简介 Nerf(neural Radiance Fileds) 为2020年ICCV上提出的一个基于隐式表达的三维重建方法,使用2D的 Posed Imageds 来生成(表达)复杂的三维场景。现在越来越多的研究人员开始关注这个潜力巨大的领域,也…...
水果FLStudio21.0.0中文版全能数字音乐工作站DAW
FL Studio 21.0.0官方中文版重磅发布纯正简体中文支持,更快捷的音频剪辑及素材管理器,多样主题随心换!Mac版新增对苹果M2/1家族芯片原生支持。编曲、剪辑、录音、混音,20余年的技术积淀和实力研发,FL Studio 已经从电音…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
