C语言 百炼成钢10

//题目28:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第
//3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后
//问第一个人,他说是10岁。请问第五个人多大?

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

//分析:经过阅读,发现f(5)=f(4)+2;f(4)=f(3)+2;f(3)=f(2)+2;f(2)=f(1)+2;所以可以使用递归,也可以直接求出
//f(5)=f(4)+2=f(3)+2+2=f(3)+2*2=f(2)+2+2+2=f(2)+2*3=f(2)+2*(5-2)=f(1)+2*(5-1)=18;
//由于太过简单,此处不使用递归

void main(){
    printf("第五个人%d岁", 10 + 2 * (5 - 1));
    system("pause");
}

//题目29:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

//分析:求它是几位数,先除以10得到一个数,num-这个数,逆序将数字存到数组里递归就OK了
char str3[8] = { 0 };

void run3(int n){
    if (n==0)
    {
        printf("%c", str3[n]);
    }
    else{
        printf("%c", str3[n]);
        run3(n-1);
    }
}

void main(){
    scanf("%s", str3);
    int index = 0;
    while (str3[index] != ‘\0‘){
        index++;
    }
    printf("这个数字是%d位数\n",index);
    printf("逆序排列\n");
    run3(index);

    system("pause");
}

时间: 2024-11-03 03:24:41

C语言 百炼成钢10的相关文章

C语言将10进制转为2进制

第一种方法: #include<stdio.h> void dectobin(int n); int main() { int x=0; scanf("%d",&x);//只能正数 dectobin(x); printf("\n"); return 0; } void dectobin(int n) { if(n/2>0) { dectobin(n/2); printf("%d",n%2); } else { print

C 语言 整理 10

//#import 与 #include 相比能够防止重复导入,保证内容值只复制一个.//#include "A.h"//#include "A.h"//多个include 修改如下:#ifndef lessonPointHigher_A_h#define lessonPointHigher_A_h int max(int x ,int y){    return x > y ? x :y;} #endif //宏  ,只做替换  //#开头 指令//命名规则

C语言的10大基础算法

C语言的10大基础算法 算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手.本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列.简易计算器.回文检查.质数检查等算法.也许他们能在你的毕业设计或者面试中派上用场. 1.计算Fibonacci数列 Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21. C语言实现的代码如下: /* Displ

c语言章节10

本文目录 前言 一.编写第一个C语言程序-Hello World 二.编译程序 三.链接程序 四.运行程序 五.总结 六.学习建议 七.clang指令汇总 回到顶部 前言 前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法.学习任何一门语言,首先要掌握的肯定是语法.学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算机.手机等硬件设备)进行交互.由于我们的最终目的是学习iOS开发,学习iOS开发的话必须在Mac系统下,因此我就在Mac系统环境下开发

C语言求10个整数中的最大值

我们知道求三个整数的最大值可以先定义三个变量来存放这三个数值,但是如果有十个,一百个,一千个,我们不可能定义那么多变量出来,没有什么意义.怎么解决呢?这个时候我们可以用一个数组来存放我们需要比较的数值,比如十个值,我们就用a[10].美观简洁高效!数据的存放解决了,下来就是比较,先定义一个变量比如:MAX来存放这十个数其中的一个值再一一进行比较就可以了,但为了方便起见,我们通常选择数组的第一个值即a[0]赋值给变量,然后依次和a[1].a[2]....顺序比较.如果MAX小于a[1]则把a[1]

两周自制脚本语言-第10天 无法割舍的数组

第10天 无法割舍的数组 目标:为Stone语言添加简单的数组功能,下标(index)只能使用整数值. 10.1扩展语法分析器 代码清单10.1 与数组相关的语法规则 elements : expr { "," expr } primary : ( "[" [ elements ] "]" | "(" expr ")" | NUMBER | IDENTIFIER | STRING ) { postfix }

C语言 百炼成钢17

//题目49:老师将糖果分成若干份,让学生按任意次序领取,第一个领取的,得到1份加上剩余糖果的1/10, //第二个领取的,得到2份加上剩余糖果的1/10,第三个领取的,得到3份加上剩余糖果的1/10,以此类推, //求共有多少个学生,多少份糖果 #include<stdio.h> #include<stdlib.h> //思路:该题的要求是求一个糖果的数量,这个数量必须保证每个学生领取到的糖果都是整份数,并不要求所有学生分的糖果分数一样 //根据多定义变量,简化运算难度规则,定义

笔记-Microsoft SQL Server 2008技术内幕:T-SQL语言基础-10 可编程对象

关于批处理 下列语句不能在同一批处理中和其他语句同时编译:CREATE DEFAULT.CREATE FUNCTION.CREATE PROCEDURE.CREATE RULE.CREATE SCHEMA.CREATE TRIGGER及CREATE VIEW.例如,以下代码包含一个IF语句,之后在同一批处理中跟着一个CREATE VIEW语句,SQL Server将会报错: IF OBJECT_ID('Sales.MyView', 'V') IS NOT NULL DROP VIEW Sales

C语言基础(10)-数组

一.数组的定义 数组就是在内存中连续的相同类型的变量空间. 二.数组在内存中的存储方式 同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的,数组名是一个地址的常量,代表数组中首元素的地址. 三.数组的初始化 3.1 一维数组初始化 int a[10] = { 1, 2, 3 }; int a[10] = { 0 }; int a[10] = {1,2,3,4,5,6,7,8,9,10}; int a[] = {1,2,3,4,5,6,7,8,9,10}; // 此写法与