初学者C语言练习题-函数

news2024/9/20 8:58:36

二、函数

一个C程序有且只有一个主函数,即main函数。

  • C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口
  • 而main前面的int就是主函数的类型.
  • printf()是格式输出函数,这里就记住它的功能就是在屏幕上输出指定的信息
  • return是函数的返回值,根据函数类型的不同,返回的值也是不同的。
  • \n是转义字符中的换行符。(注意:C程序一定是从主函数开始执行的)

1、有三座塔,ABC,开始时A上有n 个盘子,大小不等,大在上,小在下,要将盘子从A移到C座,每此只能移一个,输入盘子的数量,输出移动的步骤,利用递归完成?

#include "stdio.h"
int move(char x,char y){
    printf("%c to %c\n", x, y);
}int hanoi(int n,char a,char b,char c){
    if(n==1) move(a,c);
        else 
       {
        hanoi(n-1,a,c,b);
                    move(a,c);
                     hanoi(n-1,b,a,c);
    }
   	return 0;
}
int main(){int n,count;
	scanf("%d", &n);
    count=hanoi(n,'A','B','C');
	return 0;
}

2、求取斐波那契数列的第n项?

#include <stdio.h>int fibo(int t){
 if(t==1) return 0;
else if(t==2) return 1;
 else return fibo(t-1)+fibo(t-2);
}int main(){
	int n,s;
   scanf("%d", &n);
    s=fibo(n);
	printf("%d", s);
	return 0;
}

3、利用递归函数求n!

#include <stdio.h>
int fun(int n){
    if(n<0) return 0;
    else if(n==0||n==1)
    return 1;
    else return (n*fun(n-1));
}
int main({
	int n;
    scanf("%d", &n);
    printf("%d", fun(n));
	return 0;
}

4、输入正整数,转化为二进制输出

#include<stdio.h>
void dectobin(int n);int main(){
    int n;
    scanf("%d",&n);
    dectobin(n);
    return 0; 
void dectobin(int n)
{
    int i=0,a[32];
    while(n>0)
    {
        a[i]=n%2;
        i++;
        n=n/2;
    }
    for(i--;i>=0;i--)
    printf("%d",a[i]);
}

5、返回number逆序数

#include<stdio.h>int reverse(int n)
{
    int i,m=0;
        while(n/10!=0)
         {
 i=n%10;
 n=n/10; m=m*10+i;
    }
       if(n!=0)
    {
m=m*10+n;
}
   return m;
}int main(){
    int n;
	scanf("%d",&n);
	printf("%d",reverse(n));
return 0;
}

6、给定俩个正整数m,n,求最小公约数

#include "stdio.h"
int fun(int m,int n)
{
    int r;
    if(m==n) return m;
    else 
    while((r=m%n)!=0)
    {
        m=n;
        n=r;
    }
    return n;
}
int main()
{
    int m,n,i;
    scanf("%d %d",&m,&n);
    i=fun(m,n);
    printf("%d",i);
    return 0;
}

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

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

相关文章

MATLAB-自动控制原理-控制系统的数学模型

目录 一、利用MATLAB进行数学模型转换 语法&#xff1a; 例&#xff08;将传递函数写成零极点的形式&#xff09;&#xff1a; 例&#xff08;将传递函数写成因子式的形式&#xff09;&#xff1a; 二、利用MATLAB求系统传递函数 串联等效&#xff1a; 并联等效&#xf…

uboot启动流程详细分析(基于i.m6ull)

uboot介绍 uboot就是一段引导程序&#xff0c;在加载系统内核之前&#xff0c;完成硬件初始化&#xff0c;内存映射&#xff0c;为后续内核的引导提供一个良好的环境。uboot是bootloader的一种&#xff0c;全称为universal boot loader。 一、uboot的makefile 1.1 makefile整…

ccc-sklearn-16-XGBoost(2)

文章目录XGBoost的其他参数选择弱评估器&#xff1a;参数boosterXGB的目标函数&#xff1a;参数objectiveXGB目标函数的求解参数化决策树ftf_tft​&#xff1a;参数alpha&#xff0c;lambda寻找最佳树结构&#xff1a;求解w和T寻找最佳分枝&#xff1a;结构分数之差让树停止生长…

C++ 函数重载:女友说的话到底是什么意思?

&#x1f451;专栏内容&#xff1a;C学习笔记⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;日拱一卒&#xff0c;功不唐捐 目录一、前言二、函数重载1、函数重载概念2、函数重载的分类Ⅰ、参数类型不同Ⅱ、参数个数不同Ⅲ、参数类型顺序不同3、函数重载…

vs code,platform下载Arduino程序到ESP8266,并传送文件到flash

参考视频&#xff1a;https://www.bilibili.com/video/BV1yR4y1X72D/ 首先要知道 存储空间中有程序的存储地址和文件存储地址&#xff0c;可以对单独一个部分的写入不影响另一部分内容。 vs code 的platformIO插件进行程序和文件的上传 基本创建工程和程序可以参考&#x…

启明欣欣STM32开发板移植FreeRTOS

承接这篇文章&#xff0c;本篇讲述如何把FreeRTOS移植到启明欣欣STM32开发板里&#xff0c;比较简单&#xff0c;网上也有各种教程&#xff0c;本文也是参考其它文章&#xff0c;这里再记录一下。 一 搭建基础工程 启明欣欣STM32开发板上的MCU是STM32F407ZGT6&#xff0c;根据…

智能电视机安装App

每年的12月18日是世界电视机日&#xff0c;电视机诞生于1925年&#xff0c;最初是电子机械式电视机&#xff1b;到了1933年&#xff0c;诞生CRT电视&#xff0c;即黑白电视&#xff0c;它只有黑色或白色&#xff0c;看任何物品都是黑色或者白色。又过了20年&#xff0c;1953年彩…

Java之collection集合、常见数据结构、List和泛型

目录集合概述总结Collection集合的体系特点总结Collection集合常用APICollection集合的遍历方式方式一&#xff1a;迭代器总结方式二&#xff1a;foreach/增强for循环方式三&#xff1a;lambda表达式Collection集合存储自定义类型的对象总结常见数据结构数据结构概述、栈、队列…

【C++初阶】C++基础(一)

C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式等。熟悉C语言之后&#xff0c;对C学习有一定的帮助&#xff0c;本文主要目标&#xff1a;1. 补充C语言语法的不足&#xff0c;以及C是如何对C语言设计不合理…

尚医通-首页显示-前端数据整合(二十六)

目录&#xff1a; &#xff08;1&#xff09;前台用户系统-首页显示-整合静态页面 &#xff08;2&#xff09;前台用户系统-首页显示-数据接口开发 &#xff08;3&#xff09;前端用户系统-首页显示-前端整合 &#xff08;1&#xff09;前台用户系统-首页显示-整合静态页面 …

代码随想录第七天(541、剑指05)

文章目录541. 反转字符串 II发现了三个基础知识的问题看答案改进剑指 Offer 05. 替换空格答案方法1答案方法2知识点一、二、三、总结541. 反转字符串 II 发现了三个基础知识的问题 第一个 这个题目发现了一个非常大的问题&#xff0c;有点不知道自己的Java基础到底有多少窟窿…

C++ 20 新特性 ranges 精讲

C 20 新特性 ranges 精讲 C20 中的 ranges 库使得使用 STL 更加舒适和强大。ranges 库中的算法是惰性的&#xff0c;可以直接在容器上工作&#xff0c;并且可以很容易地组合。简而言之&#xff0c;ranges 库的舒适性和强大性都源于它的函数思想。 在深入细节之前&#xff0c;…

程序员的7个被动收入途径——我如何每月赚 5万

每个人都想过时间和财富自由的生活&#xff0c;世界上有70亿人&#xff0c;但只有不到18000人能做到这一点&#xff0c;大多数人一生都在为钱工作。 研究表明&#xff0c;全世界65.8万富人至少有三种收入来源&#xff0c;而且都是被动收入。换句话说&#xff0c;大多数富人知道…

Create Realtime-chat app

Tech:React,Node.js,Socket.io,MongoDB styled-component ​​​​​​​ 目录 Base setup Register funcitonality Login funcitonality set Avatar/profile picture Chat container setup useEffect basic hook ChatHeader ChatInput ChatMessage Set socket an…

I.MX6ULL裸机开发笔记2:镜像文件

目录 一、boot ROM程序 二、镜像文件五要素 三、芯片手册 四、芯片手册数据解读 1、空偏移 2、IVT表 3、DCD表 一、boot ROM程序 选择内部启动方式&#xff0c;启动boot ROM程序 初始化时钟&#xff0c;外部DDR3从外部存储介质加载代码 boot ROM程序是芯片厂…

十五天学会Autodesk Inventor,看完这一系列就够了(十一),放样和螺旋扫掠(绘弹簧)

众所周知&#xff0c;Autocad是一款用于二维绘图、详细绘制、设计文档和基本三维设计&#xff0c;现已经成为国际上广为流行的绘图工具。Autodesk Inventor软件也是美国AutoDesk公司推出的三维可视化实体模拟软件。因为很多人都熟悉Autocad&#xff0c;所以再学习Inventor&…

Redis缓存数据 | 黑马点评

目录 一、什么是缓存 二、添加Redis缓存操作 三、缓存更新策略 缓存的更新策略 ​编辑 业务场景 主动更新策略 案例 四、缓存穿透 1、是什么 2、解决方案 &#xff08;1&#xff09;缓存空对象 &#xff08;2&#xff09;布隆过滤器 &#xff08;3&#xff09;其…

【春节安全保障有我们】安全狗春节放假值班通知

兔年纳福 辛勤拼搏了一年 终于迎来了福兔吉祥年 众人沉浸于准备过年的氛围中 却有些人为春节期间的网络安全担忧 因为春节也是不法分子们 伺机而动、“搞事情”的“好时机” 2023 NEW YEAR 不得不防的安全风险 1、主机安全遭受威胁 &#xff08;云&#xff09;主机系统…

Rust语言基础

安装 Rust 官网&#xff1a;https://www.rust-lang.org/Linux or Mac: curl https://rustup.rs -sSf | sh Windows: 按官网指示操作 Windows Subsystem for Linux: curl --proto ‘https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh 查看是否安装成功 rustc --version 更…

【openEuler】x2openEuler工具使用

文章目录一、关于x2openEuler二、工具准备三、前期准备1、安装CentOS72、下载x2openEuler3、安装x2openEuler4、执行bash5、访问上述网站6、安装x2openEuler-client&#xff08;1&#xff09;在CentOS-7.6Evetything1上找到x2openEuler-client&#xff08;2&#xff09;把x2ope…