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的二进制编码为1111
    printf("%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;//初始化头节点为null
	for (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.删除链表中的指定数据

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek本地部署:开启智能搜索的本地之旅

前言 嘿&#xff0c;朋友们&#xff01;最近国产大模型DeepSeek特别火&#xff0c;以至于频繁出现反应迟缓甚至宕机的情况&#xff0c;和两年前ChatGPT刚推出时的遭遇颇为相似。这让我想起了那句老话&#xff1a;“自己动手&#xff0c;丰衣足食”。万幸的是&#xff0c;DeepSe…

初会学习记录

【25初级会计《实务》】第一章&#xff1a;权责发生制举例_哔哩哔哩_bilibili 务实&#xff1a; 第一章 (1)会计概念&#xff0c;职能和目标&#xff1a; 2025年2月25日&#xff1a; (2)会计假设&#xff1a; 2025年2月26日&#xff1a; (3)会计核算基础&#xff1a; 202…

STM32——HAL库开发笔记22(定时器3—呼吸灯实验)(参考来源:b站铁头山羊)

本文利用前几节所学知识来实现一个呼吸灯实验&#xff1a;两颗led灯交替呼吸。 一、STM32CubeMX配置 step1&#xff1a;配置调试接口 step2&#xff1a;配置定时器 定时器1位于APB2总线上&#xff0c;如上图所示。 step3&#xff1a;配置时基单元 按照下图配置 时钟来源配置…

深度剖析数据中台架构图,铸造数字文明的基石

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。 ✨奥零数据科技官网:http://www.aolingdata.com ✨AllData开源项目:https://github.com/alldatacenter/a…

物联网通信应用案例之《智慧农业》

案例概述 在智慧农业方面&#xff0c;一般的应用场景为可以自动检测温度湿度等一系列环境情况并且可以自动做出相应的处理措施如简单的浇水和温度控制等&#xff0c;且数据情况可远程查看&#xff0c;以及用户可以实现远程控制。 基本实现原理 传感器通过串口将数据传递到Wi…

【蓝桥杯】每天一题,理解逻辑(1/90)【Leetcode 移动零】

文章目录 题目解析讲解算法原理【双指针算法思路】(数组下标充当指针)如何划分和执行过程大致 代码详情 题目解析 题目链接&#xff1a;https://leetcode.cn/problems/move-zeroes/description/ 题目意思解析 把所有的零移动到数组的末尾保持非零元素的相对顺序 理解了这两层…

DeepSeek R1满血+火山引擎详细教程

DeepSeek R1满血火山引擎详细教程 一、安装Cherry Studio。 Cherry Studio AI 是一款强大的多模型 AI 助手,支持 iOS、macOS 和 Windows 平台。可以快速切换多个先进的 LLM 模型,提升工作学习效率。下载地址 https://cherry-ai.com/ 认准官网&#xff0c;无强制注册。 这…

【框架】参考 Spring Security 安全框架设计出,轻量化高可扩展的身份认证与授权架构

关键字&#xff1a;AOP、JWT、自定义注解、责任链模式 一、Spring Security Spring Security 想必大家并不陌生&#xff0c;是 Spring 家族里的一个安全框架&#xff0c;特别完善&#xff0c;但学习成本比较大&#xff0c;不少开发者都觉得&#xff0c;这个框架“很重” 他的…

Idea2024中搭建JavaFX开发环境并创建运行项目

Idea2024中搭建JavaFX开发环境并创建运行项目 本文以Java语言为例演示如何创建JavaFX开发项目和部署开发环境&#xff0c;读者可以根据个人实际灵活选择相关参数。 一、项目创建与环境搭建步骤 新建JavaFX项目&#xff0c;选择适合项目实际的语言、系统和JDK。 项目设置-设置…

Skyeye 云智能制造办公系统 VUE 版本 v3.15.10 发布

Skyeye 云智能制造&#xff0c;采用 Springboot winUI 的低代码平台、移动端采用 UNI-APP。包含 30 多个应用模块、50 多种电子流程&#xff0c;CRM、PM、ERP、MES、ADM、EHR、笔记、知识库、项目、门店、商城、财务、多班次考勤、薪资、招聘、云售后、论坛、公告、问卷、报表…

Solr中得Core和Collection的作用和关系

Solr中得Core和Collection的作用和关系 一&#xff0c; 总结 在Apache Solr中&#xff0c;Core和Collection 是两个核心概念&#xff0c;他们分别用于单机模式和分布式模式&#xff08;SolrCloud&#xff09;中&#xff0c;用于管理和组织数据。 二&#xff0c;Core 定义&am…

【2025-02-26】基础算法:二分查找(二)

&#x1f4dd;前言说明&#xff1a; ●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录&#xff0c;主要跟随B站博主灵茶山的视频进行学习&#xff0c;专栏中的每一篇文章对应B站博主灵茶山的一个视频 ●题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。…

Cherry Studio 使用/训练deepseek

Cherry Studio前言 CherryStudio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的全能 AI 助手平台。 CherryStudio的高度自定义的设计、强大的扩展能力和友好的用户体验&#xff0c;使其成为专业用户和 AI 爱好者的理想选择。无论是零基础用户还是开发者&#…

十、大数据资源平台功能架构

一、大数据资源平台的功能架构图总体结构 大数据资源平台功能架构图 关键组件&#xff1a; 1.用户&#xff08;顶行&#xff09; 此部分标识与平台交互的各种利益相关者。 其中包括&#xff1a; 市领导 各部门分析师 区政府 外部组织 公民 开发人员 运营经理 2.功能模…

UE Python笔记

插件 官方 商城 Python Editorhttps://www.fab.com/listings/f4c99ba0-1a86-4f6a-b19d-2fd13f15961b GitHUB 好像只更新到了2020年4.2x的版本。可能有大佬改了5.x的版本。也希望分享给我一份。谢谢 https://github.com/20tab/UnrealEnginePython 学习笔记 网上教程一大堆。…

SQL_优化

1 SQL优化 (1) 数据读取 ①分区裁剪:使用时只读取需要的分区. ②列裁剪:读取操作(select、where、join、group by、sort by等),不读取不需要的列,减少IO消耗. (2) 数据筛选 ①分区先过滤,区分度大的字段先过滤. ②不在筛选字段上使用函数和表达式. (3) 分组聚合 ①使用窗口函数…

centos9之ESXi环境下安装

一、centos9简介 CentOS Stream 9是一个基于RHEL&#xff08;Red Hat Enterprise Linux&#xff09;的开源操作系统。它是CentOS Stream系列的最新版本。CentOS Stream是一个中间发行版&#xff0c;位于RHEL和Fedora之间&#xff0c;旨在提供更及时的软件更新和新功能。CentOS …

Vue2+Element实现Excel文件上传下载预览【超详细图解】

目录 一、需求背景 二、落地实现 1.文件上传 图片示例 HTML代码 业务代码 2.文件下载 图片示例 方式一&#xff1a;代码 方式二&#xff1a;代码 3.文件预览 图片示例 方式一&#xff1a;代码 方式二&#xff1a;代码 一、需求背景 在一个愉快的年后&#xff…

在线会议时, 笔记本电脑的麦克风收音效果差是为什么

背景 最近在线面试. 使用腾讯会议或者飞书, 戴耳机参加在线面试, 遇到好几个面试官说我的音质不好. 一直没在意, 后来反思, 应该是电脑哪里出了问题. 排查 先买了一副品牌有线耳机, 测试后本地录制的声音仍然品质很差去掉耳机延长线后, 麦克风品质仍然很差最终找到答案, 原…

【十二】Golang 映射

&#x1f4a2;欢迎来到张胤尘的开源技术站 &#x1f4a5;开源如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 映射映射的定义映射初始化make 函数使用字面量 源…