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:猜数字游戏 我们今天来来开始简单的项目实战. 第一个简单项目是猜数字游戏. 简单来说,系统给了 ...
随机推荐
- 论HashMap、Hashtable、TreeMap、LinkedHashMap的内部排序
参考文章 论HashMap.Hashtable.TreeMap.LinkedHashMap的内部排序
- Spring Boot 整合 minio(一步到位)
按照这个步骤来,宝贝保你一步到位 一.minio版本安装:这里我安装的新版本 新版本安装 # docker 下载镜像 docker pull minio/minio # 安装镜像 docker run ...
- map集合中对应key的value为null处理办法
问题: Map集合中对应key的value为null,但是现在需要将这个value转为Integer类型,这个value如果不是null,那么get到的是long类型或者是Bigdecimal类型 处 ...
- Node.js精进(7)——日志
在 Node.js 中,提供了console模块,这是一个简单的调试控制台,其功能类似于浏览器提供的 JavaScript 控制台. 本系列所有的示例源码都已上传至Github,点击此处获取. 一.原 ...
- lerna源码阅读
能够找到入口文件 能够本地调试
- 最优化:凸集、凸函数、KKT条件极其解释
1.凸集(大概定义) 2.凸函数 3.KK条件
- pytorch 基础内容
一些基础的操作: import torch as th a=th.rand(3,4) #随机数,维度为3,4的tensor b=th.rand(4)print(a)print(b) a+b tenso ...
- Linux教我们丢掉键盘
前言 本篇博客并非博主编写,而是跟着黑马教程整理的. 因为Linux都是一些操作命令,也不想深入研究,所以就用此博客记录一下平时的基本知识,方便日后查找. 一.常用命令 命令 对应英文 作用 ls l ...
- springboot 中如何正确在异步线程中使用request
起因: 有后端同事反馈在异步线程中获取了request中的参数,然后下一个请求是get请求的话,发现会偶尔出现参数丢失的问题. 示例代码: @GetMapping("/getParams&q ...
- 5-2 SpringCloud | 微服务
服务器端项目演进 服务器初期状态 最早的服务器就是安装部署了一些静态页面 功能非常单一,只能做信息的呈现和输出 服务器动态页面 后来因为业务和技术的发展,页面连接了数据库,页面中大部分数据来自于数据库 ...