c语言编程题经典100例——(61~65例)

1,写一个函数,判断一个数是否为正数。


#include <stdio.h>  
#include <stdbool.h>  bool isPositive(int num) {  if (num > 0) {  return true;  } else {  return false;  }  
}int main() {  int num, cube;  printf("请输入一个整数:");  scanf("%d", &num);  bool iRet = isPositive(num);if( iRet)printf("%d的是正数\n", num);  elseprintf("%d的是负数\n", num);  return 0;  }

函数isPositive使用bool类型,返回值为true或false,表示输入的整数是否为正数。如果输入的整数大于0,则返回true;否则返回false。

2,写一个函数,计算一个整数的位数。

以下是一个C语言函数,可以计算一个整数的位数:

#include <stdio.h>  int count_digits(int num) {  int count = 0;  // 如果 num 是负数,先将其取绝对值  if (num < 0) {  num = -num;  }  // 循环计算 num 的位数  do {  count++;  num /= 10;  } while (num > 0);  return count;  
}  int main() {  int num = 12345;  printf("The number of digits in %d is %d\n", num, count_digits(num));  return 0;  
}

这个函数首先检查传入的整数是否为负数,如果是,则将其取绝对值。然后使用 do-while 循环来除以 10,直到 num 的值变为 0,同时将 count 值加一,以计算 num 的位数。最后返回 count 的值即可。

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

下面我简单写个例子

#include <stdio.h>  
#include <ctype.h>  void to_lower(char *str) {  while (*str != '\0') {  *str = tolower(*str);  str++;  }  
}  int main() {  char str[] = "HELLO, WORLD!";  printf("Original string: %s\n", str);  to_lower(str);  printf("Lowercase string: %s\n", str);  return 0;  
}

        这个函数使用了C标准库中的 tolower() 函数,将字符串中的每个字符转换为小写形式。函数中使用了指针来遍历字符串中的每个字符,并通过 tolower() 函数将其转换为小写形式。在主函数中,我们声明了一个字符串变量 str,并将其传递给 to_lower() 函数以将其转换为小写形式。最后,我们在屏幕上打印出原始字符串和转换后的字符串。

4,写一个函数,计算两个数的最大公约数。

下面写一个可以计算两个数的最大公约数demo:

#include <stdio.h>  int gcd(int a, int b) {  if (b == 0) {  return a;  } else {  return gcd(b, a % b);  }  
}  int main() {  int num1 = 48, num2 = 36;  printf("The GCD of %d and %d is %d\n", num1, num2, gcd(num1, num2));  return 0;  
}

        这个函数使用了递归算法来计算两个数的最大公约数。在每次递归调用中,函数将第二个参数与第一个参数取模,然后将第二个参数和取模的结果作为新的参数传递给递归函数,直到第二个参数为0为止。此时,第一个参数就是两个数的最大公约数。最后,函数返回最大公约数的值。在主函数中,我们声明了两个整数变量 num1 和 num2,并将它们传递给 gcd() 函数以计算它们的最大公约数。最后,我们在屏幕上打印出结果。

5,写一个函数,计算一个数的阶乘。

下面我写一个可以计算一个数的阶乘demo

#include <stdio.h>  int factorial(int n) {  int result = 1;  for (int i = 1; i <= n; i++) {  result *= i;  }  return result;  
}  int main() {  int num = 5;  printf("%d! = %d\n", num, factorial(num));  return 0;  
}

        这个函数使用了一个循环来计算阶乘。函数接受一个整数参数 n,并返回 n 的阶乘。在函数中,我们初始化结果变量 result 为1,然后使用一个循环将 result 乘以从1到 n 的每个整数。最后,函数返回 result 的值,即 n 的阶乘。在主函数中,我们声明一个整数变量 num,并将它传递给 factorial() 函数以计算它的阶乘。最后,我们在屏幕上打印出结果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初始化 Clouder Manager 数据库报错Unable to find JDBC driver for database type: MySQL

CDH部署初始化 Clouder Manager 数据库报错。 解决方法&#xff1a; 把mysql驱动放到 /usr/share/java/目录下面(没有的新建&#xff09;&#xff0c;驱动名称也要修改为mysql-connector-java.jar 再次执行后成功&#xff1a; sudo /opt/cloudera/cm/schema/scm_prepare_data…

SpringBoot之自定义Starter

目录 一、自己的理解 1. 理解一 2. 理解二 二、自定义starter&#xff08;重点&#xff09; 三、以mybatis-spring-boot-starter为例进行分析 1. 写好自己的自动配置类逻辑 2. 创建自己的starter项目并引入自动配置类项目的依赖 3. 在其它项目中使用自定义的starter 一…

c++遍历算法的transform算法

transform 算法函数用于对指定范围内的元素进行一个操作&#xff0c;并将结果存储到另一个范围中。 template<class InputIterator, class OutputIterator, class UnaryOperation> OutputIterator transform(InputIterator first, InputIterator last, OutputIterator r…

共享智能指针shared_ptr

共享智能指针 在C中没有垃圾回收机制&#xff0c;必须自己释放分配的内存&#xff0c;否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针&#xff08;smart pointer&#xff09;。智能指针是存储指向动态分配&#xff08;堆&#xff09;对象指针的类&#xff0c;…

[ 云计算 | AWS 实践 ] 使用 Java 检查指定的密钥是否存在于给定的 Amazon S3 存储桶中

本文收录于【#云计算入门与实践 - AWS】专栏中&#xff0c;收录 AWS 入门与实践相关博文。 本文同步于个人公众号&#xff1a;【云计算洞察】 更多关于云计算技术内容敬请关注&#xff1a;CSDN【#云计算入门与实践 - AWS】专栏。 本系列已更新博文&#xff1a; [ 云计算 | …

C++ 智能指针和内存管理:使用指南和技巧

C是一门强大的编程语言&#xff0c;但是在内存管理方面却存在着一些问题。手动管理内存不仅费时费力&#xff0c;而且容易出错。因此&#xff0c;C中引入了智能指针这一概念&#xff0c;以更好地管理内存。 什么是智能指针&#xff1f; 在C中&#xff0c;内存的分配和释放都是…

AttributeError: ‘FieldInfo‘ object has no attribute ‘required‘.

诸神缄默不语-个人CSDN博文目录 这个bug是在安装doccano包之后&#xff0c;在运行transformers代码时出现的。 核心报错信息&#xff1a; RuntimeError: Failed to import transformers.models.bert.modeling_bert because of the following error (look up to see its trac…

Java 数组另类用法(字符来当数组下标使用)

一、原因 看力扣的时候发现有位大佬使用字符来当数组下标使用。 class Solution {public int lengthOfLongestSubstring(String s) {int result 0;int[] hash new int[130];int i 0;for(int j 0; j < s.length(); j) {while(hash[s.charAt(j)] > 0) {hash[s.charAt…

服务器入侵如何防护,业务被攻击如何处理,服务器安全防护方案

服务器是算是家用电脑的一种使用方法,主机不在用户家中,需要远程使用,在目前互联网时代占用很重要的位置&#xff0c;当然生活中也是应用广泛。服务器比普通计算机运行更快、负载更高、价格更贵。很多娱乐,工作都需要依靠服务器来运行整个体系&#xff0c;因此服务器的安全防护…

虚拟化逻辑架构: VM VirtualBox 指定6.0.24版本开启硬件辅助虚拟化功能

目录 一、实验 1.安装VM VirtualBox-6.0.24 2.安装VM VirtualBox-6.1.26 3.再次重新安装VM VirtualBox-6.0.24 二、问题 1.系统开机报错 2.Ubuntu系统无法自适应VM VirtualBox系统边框 3.VirtualBox如何开启无缝模式 3.Ubuntu如何查询软件是否已经安装 一、实验 1.安…

SCAU:主对角线上的元素之和

主对角线上的元素之和 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: G;GCC 描述 输入一个3行4列的整数矩阵&#xff0c;计算并输出主对角线上的元素之和输入格式 3行4列整数矩阵输出格式 主对角线上的元素之和输入样例 1 2 3 4 5 6 7 8 9 10 11 12输出…

react二次封装Modal和Drawer组件

目录 react二次封装Modal和Drawer组件01&#xff1a;Modal组件01-1 BaseModal.jsx01-2 使用BaseModal组件01-3 效果 02&#xff1a;Drawer组件02-1 BaseDrawer.jsx组件02-2 使用BaseDrawer组件02-3效果 react二次封装Modal和Drawer组件 npm i styled-components 01&#xff1…

详细学习PyQt5中的多线程

Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图&#xff08;Item View&#xff09; 快速弄懂Pyqt5的4种项目部件&#xff08;Item Widget&#xff09; 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…

【Shell3】日常巡检1

#!/usr/bin/env bash# --------------------------------------------------------------------------------- # 控制台颜色 BLACK"\033[1;30m" RED"\033[1;31m" GREEN"\033[1;32m" YELLOW"\033[1;33m" BLUE"\033[1;34m" PU…

go语言学习-包管理

1、概念 1.1 什么是包 ***Go语言的包(package) ***是一种源码封装的方式,可以被看做是组相关的,并且通用的代码集合。这些包都有自己的独立的功能,然后在编写代码时,如果需要用到这些功能,可以导入包直接使用。 打印一些内容:fmt处理一些时间相关的: time处理一些数学相关…

移除元素、合并两个有序数组(leetcode)

一、移除元素 思路三&#xff1a; while(src<numsSize) 使用一个 while 循环来遍历数组。循环的条件是 src 必须小于 numsSize&#xff0c;以确保不会越界。 if(nums[src]!val) 如果当前 src 指向的元素不等于给定的值 val&#xff0c;则执行以下操作&#xff1a; nums[ds…

Leetcode 第 374 场双周赛 Problem D 100146. 统计感冒序列的数目(组合数学+阶乘+逆元)

Leetcode 第 374 场双周赛 Problem D 100146. 统计感冒序列的数目&#xff08;组合数学阶乘逆元&#xff09;题目 给你一个整数 n 和一个下标从 0 开始的整数数组 sick &#xff0c;数组按 升序 排序。有 n 位小朋友站成一排&#xff0c;按顺序编号为 0 到 n - 1 。数组 sick 包…

[RoFormer]论文实现:ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING

文章目录 一、完整代码二、论文解读2.1 注意力机制2.2 绝对位置编码2.3 相对位置编码2.4 旋转位置编码Long-term decayAdaption for linear attention 2.5 模型效果 三、过程实现四、整体总结 论文&#xff1a;ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING …

Java 使用itextpdf创建Pdf文件

DOM文件添加Maven依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.2.0</version><type>pom</type></dependency> 主要代码&#xff1a; PdfFont font PdfFo…

【数据结构】拆分详解 - 二叉树的链式存储结构

文章目录 一、前置说明二、二叉树的遍历  1. 前序、中序以及后序遍历   1.1 前序遍历   1.2 中序遍历   1.3 后序遍历 2. 层序遍历 三、常见接口实现  0. 递归中的分治思想  1. 查找与节点个数   1.1 节点个数   1.2 叶子节点个数   1.3 第k层节…