C语言机试编程题
编写版本:vc++2022
1.求最大/小值
#include<stdio.h>
int main(){int a[50],n;int max, min;printf("请输入您要输入几个数");scanf_s("%d", &n);printf("请输入您要比较的%d个数\n",n);for (int i = 0; i<n; i++) {scanf_s("%d", &a[i]);}max = min = a[0];for (int i = 0; i < n; i++) {if (a[i] > max) max = a[i];if (a[i] < min) min = a[i];}printf("max=%d,min=%d", max, min);return 0;
}
2.求一个三位数abc,使a的阶乘+b的阶乘+c的阶乘=abc
#include<stdio.h>
//factorial 阶乘
int jiecheng(int n) {int m=1;while (n != 0) {m *= n;n--;}return m;
}
int main() {int a, b, c;for (int abc = 100; abc <= 999; abc++) {a = abc / 100;b = abc / 10 % 10;c = abc % 10;if (abc == jiecheng(a) + jiecheng(b) + jiecheng(c))printf("%d\n", abc);}return 0;
}
3.求2/1,3/2,5/3,8/5,13/8,21/13,的前20项和
#include<stdio.h>
int main() {float sum = 2;int i = 1, j = 2;float k;for (int num = 1; num < 20; num++) {k = i + j;i = j;sum += k / i;j = k;}printf("%0.2f", sum);return 0;
}
4.求阶乘
#include<stdio.h>
int main() {int N;int jiecheng=1;scanf_s("%d", &N);while (N != 0) {jiecheng *= N;N--;}printf("%d\n", jiecheng);return 0;
}
5.求10-1000之间所有数字之和为5的整数的个数
#include<stdio.h>
int main() {int count = 0;for (int i = 10; i <= 99; i++) {//两位数if (i/10+i%10== 5)count++;}for (int i = 100; i <= 999; i++) {//三位数if ((i/100)+(i/10%10)+(i%10)== 5)count++;}printf("%d\n", count);return 0;
}
6.输入字符串打印除小写,元音,字母之外的。用数组
#include<stdio.h>
int main() {char a[50];scanf_s("%s", a, 50);for (int i = 0; a[i] != '\0'; i++)if (a[i] != 'a' && a[i] != 'e' && a[i] != 'i' && a[i] != 'o' && a[i] != 'u')printf("%c", a[i]);return 0;
}
scanf_s输入字符串时,需要添加长度防止溢出
7.计算输入的10个整数中的,偶数的和,偶数平均值(小数表示)
#include<stdio.h>
int main() {int a[10];int sum=0;double avg;for (int i = 0; i < 10; i++) {scanf_s("%d", &a[i]);if (a[i] % 2 == 0) sum += a[i];}avg = sum / 10.0;printf("偶数的和%d,偶数的平均值%0.2f", sum, avg);return 0;
}
8.循环语句求a+aa+aaa+aaaa……n个a,n和a由键盘输入
#include<stdio.h>
#include<math.h>
int main() {int a, n,m;int sum = 0;scanf_s("%d %d", &a, &n);m = a;for (int i = 1; i <= n; i++) {sum += m;m += a * pow(10, i);}printf("%d", sum);return 0;
}
9.1!+2!+3!+4!……
#include<stdio.h>
int main() {int sum = 0, n,m=1;scanf_s("%d", &n);for (int i = 1; i <= n; i++) {m *= i;sum += m;}printf("%d", sum);return 0;
}
10.求sum=1-1/3+1/5-1/7+ +1/n(1/n<0.0001)
#include<stdio.h>
int main() {float sum = 0;int k=1;for (int i = 1; (1.0 / i) >= 0.0001; i += 2) {sum += (1.0 / i) * k;k = -k;}printf("%0.2f", sum);return 0;
}
11.输入正数判断是否为素数
#include<stdio.h>
int main() {int i,n;scanf_s("%d", &n);//素数:=质数,除了1和它本身之外不能被其他数整除。否则称为合数(1既不是质数也不是合数)if (n == 1) printf("%d不是素数", n);else if (n == 2) printf("%d是素数", n);else {for (i = 2; i < n; i++) {if (n % i == 0) {printf("%d不是素数", n);break;}}if(i>=n) printf("%d是素数", n);}return 0;
}
12.编写一个计算器,可以计算+-*/
#include<stdio.h>
int main() {float a, b;char ch;scanf_s("%f", &a);ch = getchar();scanf_s("%f", &b);switch (ch) {case '+':printf("=%0.2f", a + b); break;case '-':printf("=%0.2f", a - b); break;case '*':printf("=%0.2f", a * b); break;case '/':printf("=%0.2f", a / b); break;}return 0;
}
13.求m,n的最小公倍数
#include<stdio.h>
int main() {//lcm:lowest common multiple 最小公倍数int m, n,min;scanf_s("%d %d", &m, &n);if (m < n) min = m;else min = n;for(int i=min;i<=n*m;i++)if (i % m == 0 && i % n == 0) {printf("最小公倍数:%d", i);break;}return 0;
}
14.对10个数排序
#include<stdio.h>
int quick_one_pass(int a[], int low, int high) {int mid = a[low];while (low < high) {while (low < high && a[high] >= mid) --high;a[low] = a[high];while (low < high && a[low] <= mid) ++low;a[high] = a[low];}a[low] = mid;return low;
}
void quicksort(int a[], int low, int high) {int k;if (low < high) {k = quick_one_pass(a, low, high);quicksort(a, low, k - 1);quicksort(a, k + 1, high);}
}
int main() {//快速排序int a[10] = { 2,6,4,8,1,9,3,5,7,4 };quicksort(a, 0, 9);for (int i = 0; i < 10; i++)printf("%d ", a[i]);return 0;
}
15.36块砖,男人一次可以搬4块,女人:3块,两个小孩:1块。问男,女,小孩各多少人可以一次搬完
#include<stdio.h>
int main() {int man, woman, kid;for (man = 0; man <= 9; man++)for (woman = 0; woman <= 12; woman++)for (kid = 0; kid <= 72; kid++)if (4 * man + 3 * woman + 0.5 * kid == 36)printf("%d,%d,%d\n", man, woman, kid);return 0;
}
16.输入一个字符串,将其正序反序输出
#include<stdio.h>
#include<string.h>
int main() {char array[50];int n=0;//n是数组的长度scanf_s("%s", array, 50);n = strlen(array);for (int i = 0; i < n; i++)printf("%c", array[i]);printf("\n");for(int i=n-1;i>=0;i--)printf("%c", array[i]);return 0;
}
计算字符数组的长度:
#include<string.h>
strlen(array);
17.求一个整数在存储单元中,从右端开始第4到第7位的值
#include<stdio.h>
int main() {unsigned a, b, c;scanf_s("%o", &a);b = a >> 4;//右移四位c = b & 15;//和15按位与,15的二进制编码为1111printf("%o,%d\n%o,%d\n", a, a, c,c);return 0;
}
18.楼梯一共有n级,一次爬1级或2级,有几种不同的路径
#include<stdio.h>
int ClimbStairs(int n) {if (n == 0) return 1;else if (n == 1) return 1;else return ClimbStairs(n - 1) + ClimbStairs(n - 2);
}
int main() {int n;scanf_s("%d", &n);printf("%d", ClimbStairs(n));return 0;
}
19.十六进制转换成十进制
#include<stdio.h>
#include<string.h>
#include<math.h>
int f(char* a);//声明
int main() {char a[30];int n=0,ten=0;gets(a);printf("%d", f(a));return 0;
}
int f(char* a) {int i, c, sum = 0, n;c = strlen(a);for (i = 0; i < c; i++) {if (a[i] >= 'A' && a[i] <= 'Z')a[i] -= 55;if (a[i] >= '0' && a[i] <= '9')a[i] -= '0';}n = c - 1;for (i = 0; i <= c; i++) {sum = sum + a[i] * pow(16, n);n--;}return sum;
}
20.创建链表,头/尾插法插入数据
#include<stdio.h>
#include<stdlib.h>struct Node {int data;struct Node* next;
};//头插法创建链表
struct Node* createList(int arr[], int n) {struct Node* head = NULL;//初始化头节点为nullfor (int i = 0; i < n; i++) {//创建新结点struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));newNode->data = arr[i];newNode->next = head;head = newNode;}return head;
}//尾插法创建链表
struct Node* createList_2(int arr[], int n) {struct Node* head = NULL;struct Node* tail = NULL;for (int i = 0; i < n; i++) {struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));newNode->data = arr[i];newNode->next = NULL;if (head == NULL) {head = newNode;tail = newNode;}else {tail->next = newNode;tail = newNode;}}return head;
}//打印链表
void printList(struct Node* head) {struct Node* temp = head;while (temp != NULL) {printf("%d ->", temp->data);temp = temp->next;}printf("NULL\n");
}int main() {int arr[] = { 1,2,3,4,5 };int n = sizeof(arr) / sizeof(arr[0]);//数组长度//头插法创建链表struct Node* head = createList(arr, n);//打印链表printList(head);//尾插法创建链表struct Node* head_2 = createList_2(arr, n);//打印链表printList(head_2);return 0;
}
21.删除链表中的指定数据
相关文章:
C语言机试编程题
编写版本:vc2022 1.求最大/小值 #include<stdio.h> int main(){int a[50],n;int max, min;printf("请输入您要输入几个数");scanf_s("%d", &n);printf("请输入您要比较的%d个数\n",n);for (int i 0; i<n; i) {scanf_…...
threeJs+vue 轻松切换几何体贴图
嗨,我是小路。今天主要和大家分享的主题是“threeJsvue 轻松切换几何体贴图”。 想象一下,手头上正好有个在线3D家具商店,用户不仅可以看到产品的静态图片,还能实时更换沙发的颜色或材质,获得真实的购物体验。…...
Android ObjectBox数据库使用与集成指南
ObjectBox其核心特点ObjectBox与 SQLite 和 Realm 的对比Android集成ObjectBox创建ObjectBox实体对象创建ObjectBox操作管理类OBManager在Application初始化ObjectBox插入或更新数据查询数据统计数据分页数据查询删除数据总结今天分享一套Android另一个数据库ObjectBox。Object…...
【HarmonyOS Next】地图使用详解(一)
背景 这系列文章主要讲解鸿蒙地图的使用,当前可以免费使用,并提供了丰富的SDK给开发者去自定义控件开发。目前可以实现个性化显示地图、位置搜索和路径规划等功能,轻松完成地图构建工作。需要注意的是,现在测试只能使用实体手机去…...
seacmsv9注入管理员账号密码+orderby+limi
1:mysql默认存储引擎innoDB携带的表 1,mysql.innodb_table_stats 2,mysql.innodb_index_stats SELECT table_name FROM mysql.innodb_table_stats WHERE database_name DATABASE(); 2: 关键字做处理 HEX编码:0x696E666F726D6174696F6E5F7…...
C#与AI的交互(以DeepSeek为例)
C#与ai的交互 与AI的交互使用的Http请求的方式,通过发送请求,服务器响应ai生成的文本 下面是完整的代码,我这里使用的是Ollama本地部署的deepseek,在联网调用api时,则url会有不同 public class OllamaRequester {[Se…...
面试八股文--数据库基础知识总结(2) MySQL
本文介绍关于MySQL的相关面试知识 一、关系型数据库 1、定义 关系型数据库(Relational Database)是一种基于关系模型的数据库管理系统(DBMS),它将数据存储在表格(表)中,并通过表格…...
Failed to start The PHP FastCGI Process Manager.
报错如下: Job for php-fpm.service failed because the control process exited with error code. See "systemctl status php-fpm.service" and "journalctl -xe" for details. 2月 25 21:49:00 nginx systemd[1]: Starting The PHP FastC…...
软件供应链安全工具链研究系列——RASP自适应威胁免疫平台(上篇)
1.1 基本能力 RASP是一种安全防护技术,运行在程序执行期间,使程序能够自我监控和识别有害的输入和行为。也就是说一个程序如果注入或者引入了RASP技术,那么RASP就和这个程序融为一体,使应用程序具备了自我防护的能力,…...
Spring Boot集成MyBatis访问MySQL:从项目搭建到基础数据库查询(基础入门)
Spring Boot集成MyBatis访问MySQL 一、引言 在当今企业级应用开发中,Spring Boot、MyBatis与MySQL的组合凭借其高效性和灵活性,成为构建数据驱动型应用的首选方案。本文将带你从零开始搭建项目,掌握Spring Boot集成MyBatis的基础入门内容。…...
一周学会Flask3 Python Web开发-Jinja2模板继承和include标签使用
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 不管是开发网站还是后台管理系统,我们页面里多多少少有公共的模块。比如博客网站,就有公共的头部&…...
【2025.2.25更新】wordpress免费AI插件,文章内容、图片自动生成、视频自动生成、网站AI客服、批量采集文章,内置deepseek联网满血版
wordpress免费AI插件,文章内容、文章图片、长尾关键词、视频自动生成、网站AI客服、批量采集文章,插件已接入腾讯云大模型知识引擎xDeepSeek,基于腾讯云大模型知识引擎xDeepSeek可联网满血版,插件可实现文章生成、长尾关键词生成、…...
待解决 leetcode71 简化路径 栈的应用
用多种ifelse很不好很复杂容易丢情况 class Solution { public:string simplifyPath(string path) {stack<char> st;string result;int n path.size();while(n > 1 && (path[n-1] / || path[n-1] .)){if(n > 2 && path[n-2] . && pat…...
数据安全_笔记系列09_人工智能(AI)与机器学习(ML)在数据安全中的深度应用
数据安全_笔记系列09_人工智能(AI)与机器学习(ML)在数据安全中的深度应用 人工智能与机器学习技术通过自动化、智能化的数据分析,显著提升了数据分类、威胁检测的精度与效率,尤其在处理非结构化数据、复杂…...
RocketMQ 可观测性最佳实践
RocketMQ 概述 Apache RocketMQ 是一个开源的分布式消息传递和流处理平台,由阿里巴巴团队最初开发并捐赠给 Apache 软件基金会。它主要用于处理大规模消息的发送和接收,支持高吞吐量、可扩展性强且具有高可用性的消息服务。 RocketMQ 的优势有以下几点…...
P9420 [蓝桥杯 2023 国 B] 子 2023
P9420 [蓝桥杯 2023 国 B] 子 2023 题目 分析代码 题目 分析 刚拿到这道题,我大脑简单算了一下,这个值太大了,直观感觉就很难!! 但是,你仔仔细细的一看,先从最简单的第一步入手,再…...
OpenAI开放Deep Research权限,AI智能体大战升级,DeepSeek与Claude迎来新对决
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
学习笔记04——JMM内存模型
一、Java内存模型(JMM)是什么? Java内存模型(Java Memory Model, JMM)是Java多线程编程中共享内存的访问规则,定义了线程如何与主内存(Main Memory)和工作内存(Work Mem…...
将VsCode变得顺手好用(1
目录 设置中文 配置调试功能 提效和增强相关插件 主题和图标相关插件 创建js文件 设置中文 打开【拓展】 输入【Chinese】 下载完成后重启Vs即可变为中文 配置调试功能 在随便一个位置新建一个文件夹,用于放置调试文件以及你未来写的代码,随便命名但…...
Fisher信息矩阵(Fisher Information Matrix,简称FIM)
Fisher信息矩阵简介 Fisher信息矩阵(Fisher Information Matrix,简称FIM)是统计学和信息理论中的一个重要概念,广泛应用于参数估计、统计推断和机器学习领域。它以统计学家罗纳德费希尔(Ronald Fisher)的名…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
