当前位置: 首页 > news >正文

c语言编程题经典100例——(90~95例)

1,写一个函数,实现数字的加密和解密。

下面是一个简单的C语言函数,可以实现数字的加密和解密。这个函数采用简单的加密算法,将输入的数字乘以一个固定的密钥,然后加上一个固定的偏移量。解密过程就是将加密后的数字减去偏移量,然后再除以密钥。

#include <stdio.h>  // 加密函数  
int encrypt(int num, int key, int offset) {  return (num * key) + offset;  
}  // 解密函数  
int decrypt(int encrypted_num, int key, int offset) {  return (encrypted_num - offset) / key;  
}  int main() {  int num = 12345;  int key = 7;  int offset = 100;  // 加密数字  int encrypted_num = encrypt(num, key, offset);  printf("加密后的数字为:%d\n", encrypted_num);  // 解密数字  int decrypted_num = decrypt(encrypted_num, key, offset);  printf("解密后的数字为:%d\n", decrypted_num);  return 0;  
}

在上面的代码中,encrypt()函数将输入的数字乘以密钥并加上偏移量,然后返回加密后的数字。decrypt()函数将加密后的数字减去偏移量,然后除以密钥,返回解密后的数字。在main()函数中,我们定义了一个输入的数字、一个密钥和一个偏移量,然后使用这些参数调用encrypt()decrypt()函数来加密和解密数字。

2,写一个函数,将一个字符串转换为整数。

在C语言中,可以使用库函数 atoi() 来将字符串转换为整数,前前面好像有一篇写过这个功能,但用的是库函数,这里不用。不过下面的代码不用库函数实现这个功能:

#include <stdio.h>  
#include <stdlib.h> // for NULL  int string_to_int(char* str) {  int result = 0;  int sign = 1;  // Handle negative numbers  if (*str == '-') {  sign = -1;  str++;  }  // Convert each character to an integer  while (*str != '\0') {  char c = *str - '0';  if (c < 0 || c > 9) {  // If the character is not a digit, return 0  return 0;  }  result = result * 10 + c;  str++;  }  // Apply the sign  return sign * result;  
}  int main() {  char str[] = "-123";  int num = string_to_int(str);  printf("%d\n", num); // Outputs: -123  return 0;  
}

        这个函数首先检查字符串的第一个字符是否为负号,然后遍历字符串的每一个字符,将其转换为对应的数字,并累加到结果中。最后,根据符号将结果返回。如果字符串中包含非数字的字符,函数将返回0。

3,写一个函数,将一个整数转换为字符串。

下面的功能,也是用不同的方式实现。

#include <stdio.h>  
#include <stdlib.h>  char* int_to_str(int num) {  int i = 0;  int sign = num < 0 ? -1 : 1;  int abs_num = sign * num;  char* str = (char*)malloc(32 * sizeof(char));  if (str == NULL) {  printf("Memory allocation failed.\n");  exit(1);  }  while (abs_num > 0) {  int rem = abs_num % 10;  str[i++] = '0' + rem;  abs_num /= 10;  }  if (sign < 0) {  str[i++] = '-';  }  str[i] = '\0';  int j = i - 1;  while (j >= 0 && str[j] == '0') {  j--;  }  if (j < 0) {  str[0] = '\0';  } else {  for (int k = 0; k < j; k++) {  str[k] = str[j--];  }  str[j] = '\0';  }  return str;  
}

        该函数首先判断输入的整数是否为负数,如果是负数则取其绝对值,否则直接取其绝对值。然后,使用循环将整数转换为字符串,每次取余数并将其转换为字符存储到字符串中,最后将字符串返回。在返回之前,函数会将其符号处理后返回。此外,函数还会对字符串进行优化,删除多余的零。

4,写一个函数,判断一个数字是否为偶数或奇数。

可以写一个函数来判断一个数字是偶数还是奇数。以下是一个简单的示例:

#include <stdio.h>  // 判断数字是偶数还是奇数  
void checkNumber(int num) {  if (num % 2 == 0) {  printf("%d 是偶数\n", num);  } else {  printf("%d 是奇数\n", num);  }  
}  int main() {  int num;  printf("请输入一个数字: ");  scanf("%d", &num);  checkNumber(num);  return 0;  
}

        在这个程序中,我们首先定义了一个函数 checkNumber,它接收一个整数作为参数,并使用模数运算符 % 来检查这个数是否可被2整除。如果数字可以被2整除,那么它就是偶数,否则它就是奇数。然后,我们从用户那里获取一个数字,并使用 checkNumber 函数来检查这个数字是偶数还是奇数。

5,写一个函数,求一个立方数的和。

#include <stdio.h>  int sumOfCubes(int n) {  int sum = 0;  for (int i = 1; i <= n; i++) {  sum += i * i * i;  }  return sum;  
}  int main() {  int n = 10;  int result = sumOfCubes(n);  printf("The sum of cubes from 1 to %d is %d\n", n, result);  return 0;  
}

        这个函数使用一个循环来计算从1到给定数字n的每个整数的立方和。最后,它返回这个和。在主函数中,我们调用这个函数并打印结果。

相关文章:

c语言编程题经典100例——(90~95例)

1,写一个函数&#xff0c;实现数字的加密和解密。 下面是一个简单的C语言函数&#xff0c;可以实现数字的加密和解密。这个函数采用简单的加密算法&#xff0c;将输入的数字乘以一个固定的密钥&#xff0c;然后加上一个固定的偏移量。解密过程就是将加密后的数字减去偏移量&am…...

Redis核心知识点总结

1.Redis介绍 Redis 是 NoSQL&#xff0c;但是可处理 1 秒 10w 的并发&#xff08;数据都在内存中&#xff09; 使用 java 对 redis 进行操作类似 jdbc 接口标准对 mysql&#xff0c;有各类实现他的实现类&#xff0c;我们常用的是 druid 其中对 redis&#xff0c;我们通常用 J…...

stm32Flash操作

//G0B0 flash大小 0x08000000-0x0807FFFF 512K(0400 1K)//2k 1页 //初始化标记数据地址 放最前面 脱机烧写器可擦除掉 #define CONST_INITMARKDATA_ADDRESS (0x0807D000UL) //2k 1页 //射频数据地址 #define CONST_FREQDATA_ADDRESS (0x0807F000UL) //2…...

云原生系列1

1、虚拟机集群环境准备 VirtualBox类似vmware的虚拟化软件&#xff0c;去官网https://www.virtualbox.org/下载最新版本免费的&#xff0c;VirtualBox中鼠标右ctrl加home跳出鼠标到wins中。 VirtualBox安装步骤 https://blog.csdn.net/rfc2544/article/details/131338906 cent…...

设计原则 | 里式替换原则

一、里式替换原则&#xff08;Liskov Substitution Principle &#xff09; 1、原理 子类型必须能替换掉它们的基类型&#xff0c;在使用继承时&#xff0c;遵循里式替换原则&#xff0c;在子类中尽量不要重写父类中的方法。里式替换原则告诉我们&#xff0c;继承实际上让两个…...

第7节:Vue3 动态绑定多个属性

可以使用v-bind指令将多个属性动态绑定到元素上。以下是一个简单的实例&#xff1a; <template><view class"container"><text v-bind"dynamicProps">{{ message }}</text><button click"toggleActive">切换激活…...

【文件上传系列】No.1 大文件分片、进度图展示(原生前端 + Node 后端 Koa)

分片&#xff08;500MB&#xff09;进度效果展示 效果展示&#xff0c;一个分片是 500MB 的 分片&#xff08;10MB&#xff09;进度效果展示 大文件分片上传效果展示 前端 思路 前端的思路&#xff1a;将大文件切分成多个小文件&#xff0c;然后并发给后端。 页面构建 先在页…...

性能测试 —— Jmeter分布式测试的注意事项和常见问题

Jmeter是一款开源的性能测试工具&#xff0c;使用Jmeter进行分布式测试时&#xff0c;也需要注意一些细节和问题&#xff0c;否则可能会影响测试结果的准确性和可靠性。 Jmeter分布式测试时需要特别注意的几个方面 1. 参数化文件的位置和内容 如果使用csv文件进行参数化&#x…...

“SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展应用

近年来&#xff0c;国内外学者在生态系统的敏感性、适应能力和潜在影响等方面开展了大量的生态脆弱性研究&#xff0c;他们普遍将生态脆弱性概念与农牧交错带、喀斯特地区、黄土高原区、流域、城市等相结合&#xff0c;评价不同类型研究区的生态脆弱特征&#xff0c;其研究内容…...

总结|哪些平台有大模型知识库的Web API服务

截止2023/12/6 笔者个人的调研&#xff0c;有三家有大模型知识库的web api服务&#xff1a; 平台类型文档数量文档上传并解析的结构api情况返回页码文心一言插件版多文档有问答api&#xff0c;文档上传是通过网页进行上传有&#xff0c;而且是具体的chunk id&#xff0c;需要设…...

TOMCAT9安装

1、官网下载 2、解压到任意盘符&#xff0c;注意路径不要有中文 3、环境变量 path 下 配置 %CATALINA_HOME%\bin 4、找到tomcat9/bin&#xff0c; 点击 start.bat启动 tomcat...

QT中时间时区处理总结

最近项目中要做跨国设备时间校正功能&#xff0c;用到了时区时间&#xff0c;在此做一下记录。 目录 1.常见时区名 2.测试代码 3.运行效果 1.常见时区名 "Pacific/Midway": "中途岛 (UTC-11:00)", …...

OpenAtom OpenHarmony三方库创建发布及安全隐私检测

OpenAtom OpenHarmony 三方库&#xff08;以下简称“三方库”或“包”&#xff09;&#xff0c;是经过验证可在 OpenHarmony 系统上可重复使用的软件组件&#xff0c;可帮助开发者快速开发 OpenHarmony 应用。三方库根据其开发语言分为 2 种&#xff0c;一种是使用 JavaScript …...

【1】一文读懂PyQt简介和环境搭建

目录 1. PyQt简介 1.1. Qt 1.2. PyQt 1.3. 关于PyQt和PySide 2. 通过pip安装PyQt5 3. 无法运行处理 4. VSCode配置PYQT插件 PyQt官网:Riverbank Computing | Introduction 1. PyQt简介 PyQt是一套Python的GUI开发框架,即图形用户界面开发框架。 Python中经常使用的GU…...

windows install git

refer: https://developers.weixin.qq.com/miniprogram/dev/devtools/wechatvcs.html https://blog.csdn.net/weixin_40228200/article/details/128451324 在使用小程序的时候&#xff0c;需要初始化项目&#xff0c;需要注册Git账号 1.在本地确认cmd没有安装Git,进入Git官网…...

【华为数据之道学习笔记】3-7 报告数据治理

报告数据是指对数据进行处理加工后&#xff0c;用作业务决策依据的数据。它用于支持报告和报表的生成。 用于报告和报表的数据可以分为如下几种。 用于报表项数据生成的事实表、指标数据、维度。 用于报表项统计和计算的统计函数、趋势函数及报告规则。 用于报表和报告展示的…...

SpringDataRedis 操作 Redis,并指定数据序列化器

文章目录 1. SpringDataRedis 概述2. 快速入门2.1 导入pom坐标2.2 配置文件2.3 测试代码2.4 数据序列化器2.5 StringRedisTemplate2.6 总结 1. SpringDataRedis 概述 SpringData 是Spring 中数据操作的模块&#xff0c;包含对各种数据库的集成&#xff0c;其中对Redis的集成模…...

useradd 在Linux原生应用开发过程中的简单应用

useradd命令是用于在Linux系统中创建新用户的命令。它可以创建一个新用户&#xff0c;并设置该用户的属性、家目录、默认shell等。useradd命令实际上是一个包装了一系列系统调用的高级命令。 在Linux系统中&#xff0c;用户信息存储在/etc/passwd文件中。当执行useradd命令时&…...

Linux 删除文件名乱码的文件

现象&#xff1a; 处理&#xff1a; 1.>ls -li 获取文件对应的ID号 2.把删除指定文件&#xff08;ID号 &#xff09;执行&#xff1a; find ./ -inum 268648910 -exec rm {} \;...

【测试人生】数据同步和迁移的变更注意事项

数据同步或者迁移操作也算是线上数据变更的一种类型。由于涉及的数据量非常大&#xff0c;一旦发生故障&#xff0c;会直接影响线上业务&#xff0c;并且较难止损。从变更风险管控的角度考虑&#xff0c;数据同步或迁移操作也需要走合理的发布窗口&#xff0c;并且在操作前也需…...

Windows上安装APK文件的终极指南:告别臃肿模拟器,轻松实现跨平台应用安装

Windows上安装APK文件的终极指南&#xff1a;告别臃肿模拟器&#xff0c;轻松实现跨平台应用安装 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你知道吗&#xff1f;…...

量子机器学习模型安全:反向工程威胁与防御策略解析

1. 量子机器学习模型的反向工程&#xff1a;安全威胁与防御策略量子计算与机器学习的结合&#xff0c;正以前所未有的方式重塑我们处理复杂问题的能力。作为一名长期关注量子算法与信息安全交叉领域的研究者&#xff0c;我亲眼见证了量子机器学习从理论构想走向实际应用的飞速发…...

TVA视觉智能体专栏(三):零基础看懂TVA智能体:不是大模型噱头,是工业落地刚需技术

摘要&#xff1a;很多新人误以为TVA是概念炒作&#xff0c;实则是智能制造柔性质检的核心解决方案。本文用通俗工程视角拆解TVA核心架构&#xff0c;详解Transformer注意力机制、DRL强化学习、FRA因式分解的协同逻辑&#xff0c;新手也能快速读懂智能体视觉底层逻辑。一、前言&…...

线段树入门:算法分析

算法分析线段树采用了分而治之的策略&#xff0c;其点更新、区间更新、区间查询都可以在 时间内完成。树状数组和线段树都用于解决频繁修改和查询的问题&#xff0c;树状数组比线段树更节省空间、代码简单易懂&#xff0c;但是先单数用途更广、更加灵活&#xff0c;凡是可以使用…...

遗传算法融合线性规划:超参数调优的高效双层优化策略

1. 项目概述&#xff1a;当遗传算法遇上线性规划&#xff0c;超参数调优的新思路在机器学习项目的落地过程中&#xff0c;有一个环节既让人着迷又令人头疼&#xff0c;那就是超参数调优。模型架构的层数、神经元的数量、学习率、正则化强度……这些“旋钮”的微小转动&#xff…...

Nodejs后端服务集成Taotoken多模型API的实践路径

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Nodejs后端服务集成Taotoken多模型API的实践路径 对于Node.js后端开发者而言&#xff0c;将大模型能力集成到现有应用中是常见的需…...

终极指南:如何用novel-downloader小说下载器批量保存网络小说

终极指南&#xff1a;如何用novel-downloader小说下载器批量保存网络小说 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 你是否曾遇到过这种情况&#xff1a;熬夜追更的小说突然从网…...

AppImageLauncher:3步破解Linux应用安装难题的终极解决方案

AppImageLauncher&#xff1a;3步破解Linux应用安装难题的终极解决方案 【免费下载链接】AppImageLauncher Helper application for Linux distributions serving as a kind of "entry point" for running and integrating AppImages 项目地址: https://gitcode.co…...

如何用一款免费工具,让20+平台直播内容成为你的数字资产?

如何用一款免费工具&#xff0c;让20平台直播内容成为你的数字资产&#xff1f; 【免费下载链接】fideo-live-record A convenient live broadcast recording software! Supports Tiktok, Youtube, Twitch, Bilibili, Bigo!(一款方便的直播录制软件! 支持tiktok, youtube, twit…...

机器学习数据安全新视角:高价值样本的脆弱性与差异化防御策略

1. 项目概述与核心问题在机器学习的实际部署中&#xff0c;我们常常面临一个看似矛盾的局面&#xff1a;那些对模型性能提升贡献最大的“高价值”数据&#xff0c;是否也恰恰是系统中最脆弱的环节&#xff1f;这个问题在过去几年里一直萦绕在我的心头。无论是构建一个图像分类器…...