//题目25:求1+2!+3!+...+20!的和

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:这题用函数很好解决,表面看起来很复杂,但是我们写一个函数来求n!(n的阶乘)
//然后写一个for循环不断调用函数就OK了 float run9(int n){
float res = 1.0;
for (int i = ; i <= n; i++)
{
res = res*i;
}
return res;
} void main(){
//方法2
float n, s = , t = ;
for (n = ; n <= ; n++)
{
//n的阶乘 就是(n-1)*n
t *= n;//1*1+1*2+2*3+6(2*3)*4
s += t;
}
printf("1+2!+3!...+20!=%f\n", s);
//方法1
/*float sun = 0.0;
for (int i = 1; i <= 20; i++)
{
sun = sun + run9(i);
}
printf("求1+2!+3!+...+20!的和%f", sun);*/
system("pause");
}

//题目26:利用递归方法求5!。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:如题递归,n!=(n-1)!*n float run8(int n){
if (n==)
{
return ;
}
else{
return run8(n - )*n;
}
} void main(){
//方法1
printf("5!===%f", run8());
system("pause");
}

//题目27:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:把字符放入数组中,逆序,就是调用本身放在输出前面就OK了
char str[] = "abcde"; void run1(int n){
if (n==)
{
printf("%c",str[n]);
}
else{
printf("%c", str[n]);
run1(n-); }
} void main(){
char *p = str;
//char *p = "sdfasd";//错误 "sdfasd"字符串指针是个常量,不可以修改,能修改的只有字符串数组
scanf("%s", p);//正确
//scanf("%s", str);//正确 run1();
system("pause");
}

C语言 百炼成钢9的更多相关文章

  1. C语言 百炼成钢19

    /* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...

  2. C语言 百炼成钢3

    //题目7:用*号输出空心菱形图案 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...

  3. C语言 百炼成钢2

    //题目4:输入某年某月某日,判断这一天是这一年的第几天? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<st ...

  4. C语言 百炼成钢1

    //题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> ...

  5. C语言 百炼成钢18

    //题目52:用递归打印以下图形 //* //*.*. //*..*..*.. //*...*...*...*... //*....*....*....*....*.... #include<s ...

  6. C语言 百炼成钢17

    //题目49:老师将糖果分成若干份,让学生按任意次序领取,第一个领取的,得到1份加上剩余糖果的1/10, //第二个领取的,得到2份加上剩余糖果的1/10,第三个领取的,得到3份加上剩余糖果的1/10 ...

  7. C语言 百炼成钢16

    //题目46:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只 //猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了 //一个,它同样把 ...

  8. C语言 百炼成钢15

    //题目43:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出 //圈子,问最后留下的是原来第几号的那位. #include<stdio.h> #inclu ...

  9. C语言 百炼成钢14

    //题目40:输入3个数a,b,c,按大小顺序输出.(使用指针完成) #include<stdio.h> #include<stdlib.h> //分析:用指针完成,说明不可以 ...

  10. C语言 百炼成钢13

    //题目37:将一个数组逆序输出.用第一个与最后一个交换. #include<stdio.h> #include<stdlib.h> #include<math.h> ...

随机推荐

  1. Android 程序目录及UI的简介

    Android程序的目录结构 src:源码的组织管理目录. gen:自动生成的目录,会生成一些重要的文件,如R.java,该目录一般不需要我们编写. assets:该目录文件不会被编译成二进制编码,多 ...

  2. java多线程系列6-阻塞队列

    这篇文章将使用经典的生产者消费者的例子来进一步巩固java多线程通信,介绍使用阻塞队列来简化程序 下面是一个经典的生产者消费者的例子: 假设使用缓冲区存储整数,缓冲区的大小是受限制的.缓冲区提供wri ...

  3. C语言指针的长度和类型

    本文地址:http://www.cnblogs.com/archimedes/p/point-length-type.html,转载请注明源地址. 如果考虑应用程序的兼容性和可移植性,指针的长度就是一 ...

  4. 如何在Eclipse卸载之前添加的android 的 ADT

    Android开发环境配置中,怎么卸载ADT? 在Android开发环境配置中,可能会遇到很多问题,其中ADT安装失败需要卸载,怎么卸载呢?下面讲一种方法,希望能够对你有所帮助. 我采用的是Eclip ...

  5. JDBC demo

    package com.zhangbz.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...

  6. nodeJS创建工程

    转http://blog.csdn.net/i348018533/article/details/47258449 设置镜像地址 1.通过config命令 npm config set registr ...

  7. 安装node.js+express for win7的Web开发环境配置

    1.安装 node.js. 进入官网的下载地址:http://www.nodejs.org/download/ . 选择Windows Installer或者选择Windows Installer ( ...

  8. PHP笔试题(转载)

    整理了一份PHP高级工程师的笔试题,问题很全面.嗯,基本上这些题都答得不错,那么你应该可以胜任大部分互联网企业的PHP职位了.下面直接上题. 1. 基本知识点 HTTP协议中几个状态码的含义:503, ...

  9. dubbo学习之服务提供者

    1.简介 这里主要记录如何搭建一个spring框架,提供一个dubbo服务,包括详细的步骤. 2.详细步骤 2.1 项目目录结构 2.2 创建maven项目 new --> Web Projec ...

  10. WIN7下VPN服务器的建立 我又在给自己挖坑了。。。

    先说一下为什么会有这篇文章吧,和同学们玩局域网对战游戏一般都会用各种游戏对战平台,比如浩方之类的.但是用过这类东西的人都知道,抢房间.高延迟等等问题也是很麻烦的.于是我一个同学下了个VPN软件,但是与 ...