C语言的几个入门关于函数调用练习
1.找素数(素数:除了1和本身之外不能被任何整数整除的的数)(被某数整除=除以某数是整数)
问题:输出2到200(包括2和200)的使有素数,从小到大排序。
思路:检查所有比i小的数,取余。
涉及的知识点:函数的传值调用,循环语句等
#include <stdio.h>
int num(int r) {
int j = 0;
for (j = 2; j < r; j++) {
if (r%j == 0)
return 0;
}
return 1;
}
int main() {
int i = 0;
for (i = 2; i <= 200; i++) {
if (num(i) == 1) {
printf("%d%s\n", i, "是素数");
}
}
return 0;
2.写一个函数判断一年是不是闰年
思路:闰年:普通年能被四整除,不能被100整除的为闰年,或者世纪年能被四百整除的是闰年
#include <stdio.h>
int is_leap_year(int j) {
if (j % 4 == 0 && j % 100 != 0 || (j % 400 == 0))
return 0;
else
return 1;
}
int main() {
int i = 0;
for (i = 1000; i <= 2000; i++) {
if (is_leap_year(i) == 0)
printf("%d%s\n", i, "是闰年");
}
return 0;
}
3.写一个函数,实现一个整形有序数组的二分查找
思路:创建一个函数,如果找到值返回索引,找不到返回-1
#include <stdio.h>
int binaey_search(int key1, int arr1[]) {
int i = 0;
for (i = 0; i <= sizeof(arr1); i++) {
if (key1 == arr1[i]) {
return 0,i;
}
}
return -1;
}
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9 };
int key = 4;
int ret = binaey_search(key,arr);//数组arr传参,实际不是传递数组本身,而是仅仅传了第一个数组元素的地址
if (ret == -1) {
printf("没有找到所查找的值");
}
else {
printf("%s%d\n%s%d", "找到的值为:", arr[binaey_search(key,arr)],
"索引是:",ret);
}
return 0;
}
4.写一个函数,每调用一次这个函数,将num的值增加1
思路:通过传址调用来实现
#include <stdio.h>
void Add(int *p){
(*p)++;
}
int main() {
int num = 0;
Add(&num);
printf("%d\n", num);
Add(&num);
printf("%d\n", num);
Add(&num);
printf("%d\n", num);
return 0;
}
C语言的几个入门关于函数调用练习的更多相关文章
- C语言与数据库操作入门
https://blog.csdn.net/flyingqd/article/details/78763652 C语言与数据库操作入门(Win版) 2017年12月10日 17:30:17 阅读数:1 ...
- C语言与数据库操作入门(Win版)
C语言与数据库操作入门(Win版) 2017年12月10日 17:30:17 阅读数:1387 数据库,DataBase,学C语言的是不是想说,很想爱她却并不容易呢?不用着急,C语言也可以操作数据库的 ...
- Kotlin新语言简介和快速入门知识点
Kotlin新语言简介和快速入门知识点 简介:Kotlin是最近由JetBrains发布的一种基于JVM的编程语言,已经被Google宣布为开发Android App的一级语言Kotlin有着与Jav ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具]
[易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具] 项目实战 实战5:实现BTC价格转换工具 今天我们来开发一个简单的BTC实时价格转换工具. 我们首先 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链]
[易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链] 项目实战 实战4:从零实现BTC区块链 我们今天来开发我们的BTC区块链系统. 简单来说,从数据结构的 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)]
[易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)] 项目实战 实战3:Http服务器 我们今天来进一步开发我们的Http服务器,用多线程实现. 我 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)]
[易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)] 项目实战 实战2:命令行工具minigrep 我们继续开发我们的minigrep. 我们现 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)]
[易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)] 项目实战 实战2:命令行工具minigrep 有了昨天的基础,我们今天来开始另一个稍微有点 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(23)|实战1:猜数字游戏]
[易学易懂系列|rustlang语言|零基础|快速入门|(23)|实战1:猜数字游戏] 项目实战 实战1:猜数字游戏 我们今天来来开始简单的项目实战. 第一个简单项目是猜数字游戏. 简单来说,系统给了 ...
随机推荐
- python实现人脸关键部位检测(附源码)
人脸特征提取 本文主要使用dlib库中的人脸特征识别功能. dlib库使用68个特征点标注出人脸特征,通过对应序列的特征点,获得对应的脸部特征.下图展示了68个特征点.比如我们要提 取眼睛特征,获取3 ...
- Day01 对前端的初步了解
了解了工作性质以及流程 产品经理+UI+前端程序员+后端程序员+测试人员 了解了工作会做到的项目 pc端项目,后台管理系统,APP,小程序,移动端网页 了解了后续需要学到的课程 HTML+CSS Ja ...
- SpringBoot启动代码和自动装配源码分析
随着互联网的快速发展,各种组件层出不穷,需要框架集成的组件越来越多.每一种组件与Spring容器整合需要实现相关代码.SpringMVC框架配置由于太过于繁琐和依赖XML文件:为了方便快速集成第三 ...
- 【UR #2】猪猪侠再战括号序列 题解
题目链接 前言 是的没脑子选手只会做签到题. 思路分析 一开始把题目看成反转括号的状态,直接浪费 \(40\ mins\) . 我们考虑把不确定的"正确括号"转换成一个固定的括号序 ...
- .NET自定义认证虽然简单,但好用
前言 有这样一种场景,就是新项目已经集成了认证中心,或者是都用了统一的认证方式(比如现在常用的JWT),这样对于项目之间的对接就显得比较方便,至少在认证这块还是能减少一些工作量的.但当上线的老项目需要 ...
- Mac上安装proxychains4
brew install proxychains-ng vim /usr/local/etc/proxychains.conf proxychains4 wget www.google.com
- Qt点名器
项目已开源,点击跳转 废话不多说,直接上代码. CMakeLists.txt cmake_minimum_required(VERSION 3.10) project(qt-caller) find_ ...
- -bash: nignx: 未找到命令
nignx -t 如果报错: 因为没有配置环境变量吧,把nginx路径 配置到环境变量里面就可以. 按照配置: 1:进入 vim /etc/profile 文件 在配置文件的最后面添加PATH(PAT ...
- 开发实践丨昇腾CANN的推理应用开发体验
摘要:这是关于一次 Ascend 在线实验的记录,主要内容是通过网络模型加载.推理.结果输出的部署全流程展示,从而快速熟悉并掌握 ACL(Ascend Computing Language)基本开发流 ...
- angr原理与实践(一)——原理
1本文系原创,转载请说明出处 关注微信公众号 信安科研人,获取更多的原创安全资讯 编辑 网上已经有很多介绍angr的官方文档的博客,但是怎么去用angr做一次有意义且成就感满满的分析的教程很少 ...