2017-03-06

1.用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意的整数。

#include <stdio.h>
void zifu(int n);
int main()
{
    int n;
    printf("请输入数字n\n");
    scanf("%d",&n);
    zifu(n);
    printf("%c",n);
    return 0;
}
void zifu(int n)
{
    int a;
    char b;
    if(n!=0)
    {
        zifu(n/10);
        a=n%10;
        b=a+‘0‘;
        printf("%c",b);
    }
}

总结:1.在调用一个函数过程中又出现直接或间接的调用函数自身称为函数的递归调用。

2.递归的两个条件(1)回推公式:将大规模问题转化成小规模问题 (2)边界条件:就是递归的终止条件

3.这道题主要把函数的调用和算法弄懂 输入一个数在自定义函数里通过函数公式一直调用自己本身直到为零为止 再将各数字依次输出

2.用递归法写出1+2+3+·······+99+100的程序。

#include <stdio.h>
int leijia(int n);
int main()
{
    int a;
    a=leijia(100);
    printf("%d",a);
    return 0;
}
int leijia(int n)
{
    if(n==1)
    return 1;
    else
    return n+leijia(n-1);
}

3.用指针改写交换两个数

#include <stdio.h>
void jiaohuan(int *m,int *n);
int main()
{
    int m,n;
    printf("请输入两个数m和n\n");
    scanf("%d%d",&m,&n);
    jiaohuan(&m,&n);
    printf("%d %d",m,n);
    return 0;
}
void jiaohuan(int *m,int *n)
{
    int temp;
    temp=*m;
    *m=*n;
    *n=temp;
}

总结:1.指针就是变量的地址  指针变量存储是变量的地址  指针变量量的存储空间中存放的是一个地址

2.*指针变量=初始地址值

3.

4.

int ia;

int *pi;

ia=100;

pi=&ia;      //&ia的计算结果为变量ia的地址      对&后面的变量进行取地址运算

5.指针变量只能指向定义时所规定类型的变量

时间: 2024-10-06 21:39:37

2017-03-06的相关文章

2017/03/06学习笔记

char *p="abcdef";//在栈上开辟4字节空间存放指针p,在常量区开辟7空间存放字符串常量"abcdef",并将字符串常量的地址赋值给指针p.所以p指向的内存空间不能被修改 #include <stdio.h> //字符串反转(普通) void inverse(char *p){ int len = strlen(p); int i=0,j=len-1; while(i<j){ char tmp = p[i]; p[i] = p[j];

2017年06月30号课堂笔记

2017年06月30号 星期五 多云 空气质量:中度污染 内容:MySQL第三节课 一.delete 和 truncate的区别 01.delete begin (开启事务)select * from grade;(查询年级表中所有的数据) delete from grade; (删除年级表中所有的数据)select * from grade;(查询年级表中所有的数据,没有数据) rollback; (事务回滚)select * from grade;(查询年级表中所有的数据,删除的数据恢复)

Java转换Json日期/Date(1487053489965+0800)/格式以及js时间格式 Tue Feb 14 2017 14:06:32 GMT+0800

/Date(1487053489965+0800)/用Java怎么转换成yyyy-MM-dd的格式 Tue Feb 14 2017 14:06:32 GMT+0800用Java怎么转换成yyyy-MM-dd的格式 跟普通的日期不太一样 public static void main(String[] args) { String str="/Date(1487053489965+0800)/"; str=str.replace("/Date(","&quo

2017年06月07号课堂笔记

2017年06月07号 晴 空气质量:中度污染->良 内容:jQuery第二节:基本选择器,层次选择器,属性选择器, 基本过滤选择器,可见性过滤选择器 备注:代课老师:李老师 一.基本选择器 1)老师代码: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(

2014年至今的博文目录(更新至2017年06月12日)

拓扑学中凝聚点的几个等价定义(2017-06-12 07:51) 江苏省2017年高等数学竞赛本二试题(含解答)(2017-06-10 20:59) 裴礼文数学分析中的典型问题与方法第4章一元函数积分学练习(2017-06-10 11:04) 2017年厦门大学第十四届景润杯数学竞赛试卷(数学类)评分标准(2017-06-05 15:31) 2017年华东师范大学数学竞赛(数学类)试题(2017-06-05 15:28) 裴礼文数学分析中的典型问题与方法第3章一元微分学练习(2017-05-30

Cheatsheet: 2017 03.01 ~ 03.31

Web New Year, New Blog Day 10 - Using JetBrains Rider with a .NET Core Console Application JavaScript Interview Day # 1: How to create a Class Using React, Redux and Webpack with Dotnet Core to build a modern web frontend Learn Redis the hard way (in

2017/03/31学习笔记

双向链表 单向链表的节点都只有一个指向下一个节点的指针单向链表的数据元素无法直接访问其前驱元素逆序访问单向链表中的元素时极其耗时的操作双向链表在单向链表的基础上增加了指向前驱的指针功能上双向链表可以完全取代单向链表的使用 栈是一种特殊的线性表 栈仅能在线性表的一端进行操作栈顶:允许操作的一端栈底:不允许操作的一端首先它是一个线性表,也就是说,栈元素具有线性关系,即前驱后继关系.只不过它是一种特殊的线性表.定义中说是在线性表的表尾进行插入和删除操作,这里表尾是指栈顶,而不是栈底.他的特殊之处就在于

2017/03/27学习笔记

程序的输入是指从输入文件讲数据传送给程序,程序的输出是指从程序将数据传送输出文件.C++输入输出包含以下三方面内容:对系统指定标准设备的输入和输出.即从键盘输入数据,输出到显示器.这种输入输出称为标准输入输出,简称标准IO.以外出磁盘文件为对象进行输入输出,即从磁盘文件输入数据,将数据输出到文件.以外存为对象的输入输出称为文件的输入输出,简称文件IO.度内存中指定的空间进行输入输出,通常指定一个字符串数组作为储存空间(实际上可以利用该空间储存任何信息).这种输入输出称为字符串输入输出,简称串IO

场景 工作项序号123:用户过关卡,最后修改时间2017.07.06

1.背景 1)典型用户:小王 2)用户的需求/迫切需要解决的问题 a.小王:由于个人能力及关卡难度所限,无法解答出当前关卡的几何问题,所以无法进行之后的关卡. b.小王:用户需求可以获得关卡提示,关卡解锁视频,直接跳过该关卡所消耗的"钻石"(当前假设消耗品为"钻石"). c.小王:如何获得"钻石",仅通过花钱购买的话获得方法过于单一,并且有"坑钱"的嫌疑. 3)假设:a.游戏奖励钻石系统已经完成.(包括新用户奖励,老用户回馈,

2017/03/24学习笔记

类型转换 C语言中的强制类型转换很简单,不管什么类型的转换都是TYPE b=(TYPE)a; C++中类型转换提供了4种类型转换操作符来应对不同场合的应用.static_cast 静态转换.如int转换成charreinterpreter_cast 重新解释类型dynamic_cast 命名上理解是动态类型转换.如子类和父类之间的多态类型转换 (父类转子类,向下转型)const_cast 字面理解就是去const属性. 4种类型转换格式TYPE b=static_cast<TYPE>(a);