c语言的一些题(2024_1_7)

变种水仙花数

复制代码
#include <stdio.h>

int main() {
    int a = 10000;

    for (; a < 100000; a++)
    {
        if ((a / 10000) * (a % 10000) + (a / 1000) * (a % 1000) + (a / 100) * (a % 100) + (a / 10) * (a % 10) == a)
            printf("%d ", a);
    }
    return 0;
}
//变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461), (14和61), (146和1), 如果所有拆分后的乘积之和等于自身,则是一个Lily Number。
//
//例如:
//
//655 = 6 * 55 + 65 * 5
//
//1461 = 1 * 461 + 14 * 61 + 146 * 1
//
//求出 5位数中的所有 Lily Number。

该题太简单,不叙述,展示下代码就行。

序列中删除指定数字

复制代码
#include <stdio.h>

int main() {
    int arr[50] = { 0 };
    int a;
    scanf("%d", &a);
    for (int b = 0; b < a; b++)
    {
        scanf("%d", &arr[b]);
    }
    int c = 0;
    scanf("%d", &c);
    for (int b = 0; b < 50; b++) {
        if (arr[b] == c)
            arr[b] = 0;
    }
    for (int b = 0; b < 50; b++)
    {
        if (arr[b] != 0)
            printf("%d ", arr[b]);
    }
    return 0;
}
//有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。
//
//数据范围:序列长度和序列中的值都满足 1≤n≤50
//输入描述:
//第一行输入一个整数(0≤N≤50)。
//
//第二行输入N个整数,输入用空格分隔的N个整数。
//
//第三行输入想要进行删除的一个整数。
//
//输出描述:
//输出为一行,删除指定数字之后的序列。

其过程较简单,不叙述,就展示代码

联合体判断大小端

复制代码
union act{
	short a;
	char  b;
}c = {0};

int main() {
	c.a = 1;
	printf("%d", c.b);//小端就是1,大端就是0

}

其过程较简单,不叙述,就展示代码

我们用的是vs系统,所以vs系统是小端存储模式(大部分系统都是小端存储模式)

求结构体内存 (define的认知引发错误)

这题之所以错误是对#define认知的不清楚,define执行的是查找替换,并不会计算2+3,单纯是把2+3换成max_size,而不是max_size为5.所以在最后计算时max_size换回原来的2+3就变为3*2+3=9,答案为D.

该题struct为位段类型,其中的:和数字之所以没显示其实是把 :8隐藏了。(之前一篇文章结构体位段中讲过)

数据在内存中的存储(位段题)

其中涉及了位段,但重点不是这,是当我们将位段中的数修改为其他数时,要注意一个字节内部的比特位永远是高进制在左边,低进制在右边。所以在修改时方向不要弄反,高进制比特位本该在左边,却在右边,所以一个字节内部比特位顺序一定不能变(两个字节之间顺序可以改变)

对于这个知识点,之前在结构体文章中的数据在内存中的存放额外知识点里讲过(更详细)。

对于这个求结果其实挺简单的,上面有解析,就不说了

枚举的题

在之前枚举的知识点中讲过 在枚举常量赋完初值后它的下一个枚举常量的值则是以上一个枚举常量的值为基础加一的。(切记要记住) 所以答案应该为 1,257.

相关推荐
JAVA面经实录91723 分钟前
操作系统面试题
java·服务器·数据库·计算机网络·面试
一杯奶茶¥1 小时前
基于springboot的失物招领管理系统带万字文档 校园失物招领管理系统 失物认领管理系统java springboot vue
java·vue.js·spring boot·java项目
不能只会打代码1 小时前
边缘视频分析平台的架构设计与性能优化——从750ms到190ms的调优之路
java·spring boot·redis·性能优化·边缘计算·物联网竞赛
小刘|1 小时前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
KANGBboy1 小时前
java知识五(继承)
java·开发语言
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试
DIY源码阁1 小时前
JavaSwing饮品管理系统 - MySQL版
java·数据库·mysql·eclipse
开源Z1 小时前
LeetCode 42 · 接雨水:从暴力到双指针的三步优化
算法·leetcode
旖-旎1 小时前
《LeetCode 695 岛屿的最大面积 FloodFill DFS 解法》
c++·算法·力扣·深度优先遍历·floodfill
影视飓风TIM2 小时前
数据结构 | 链表超全笔记(单链表+双链表+高频算法题)
数据结构·笔记·链表