//题目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岁", + * ( - ));
system("pause");
}

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

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:求它是几位数,先除以10得到一个数,num-这个数,逆序将数字存到数组里递归就OK了
char str3[] = { }; void run3(int n){
if (n==)
{
printf("%c", str3[n]);
}
else{
printf("%c", str3[n]);
run3(n-);
}
} void main(){
scanf("%s", str3);
int index = ;
while (str3[index] != '\0'){
index++;
}
printf("这个数字是%d位数\n",index);
printf("逆序排列\n");
run3(index); system("pause");
}

//题目30:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:很简单,分离出个十百千万位就OK了
//设计出万能获取数字各个位的方法 //获取正整数各个位的值
int * Numcount(int num){
//定义静态数组,以便调用
static int arr[] = { };
if (num >= (int)pow(10.0, 9.0))
{
arr[] = num / (int)pow(10.0, 9.0);
num = num - arr[] * (int)pow(10.0, 9.0);
arr[] = num / (int)pow(10.0, 8.0);
num = num - arr[] * (int)pow(10.0, 8.0);
arr[] = num / (int)pow(10.0, 7.0);
num = num - arr[] * (int)pow(10.0, 7.0);
arr[] = num / (int)pow(10.0, 6.0);
num = num - arr[] * (int)pow(10.0, 6.0);
arr[] = num / (int)pow(10.0, 5.0);
num = num - arr[] * (int)pow(10.0, 5.0);
arr[] = num / (int)pow(10.0, 4.0);
num = num - arr[] * (int)pow(10.0, 4.0);
arr[] = num / (int)pow(10.0, 3.0);
num = num - arr[] * (int)pow(10.0, 3.0);
arr[] = num / (int)pow(10.0, 2.0);
num = num - arr[] * (int)pow(10.0, 2.0);
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else if (num >= (int)pow(10.0, 8.0)){
arr[] = num / (int)pow(10.0, 8.0);
num = num - arr[] * (int)pow(10.0, 8.0);
arr[] = num / (int)pow(10.0, 7.0);
num = num - arr[] * (int)pow(10.0, 7.0);
arr[] = num / (int)pow(10.0, 6.0);
num = num - arr[] * (int)pow(10.0, 6.0);
arr[] = num / (int)pow(10.0, 5.0);
num = num - arr[] * (int)pow(10.0, 5.0);
arr[] = num / (int)pow(10.0, 4.0);
num = num - arr[] * (int)pow(10.0, 4.0);
arr[] = num / (int)pow(10.0, 3.0);
num = num - arr[] * (int)pow(10.0, 3.0);
arr[] = num / (int)pow(10.0, 2.0);
num = num - arr[] * (int)pow(10.0, 2.0);
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else if (num >= (int)pow(10.0, 7.0))
{
arr[] = num / (int)pow(10.0, 7.0);
num = num - arr[] * (int)pow(10.0, 7.0);
arr[] = num / (int)pow(10.0, 6.0);
num = num - arr[] * (int)pow(10.0, 6.0);
arr[] = num / (int)pow(10.0, 5.0);
num = num - arr[] * (int)pow(10.0, 5.0);
arr[] = num / (int)pow(10.0, 4.0);
num = num - arr[] * (int)pow(10.0, 4.0);
arr[] = num / (int)pow(10.0, 3.0);
num = num - arr[] * (int)pow(10.0, 3.0);
arr[] = num / (int)pow(10.0, 2.0);
num = num - arr[] * (int)pow(10.0, 2.0);
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else if (num >= (int)pow(10.0, 6.0))
{
arr[] = num / (int)pow(10.0, 6.0);
num = num - arr[] * (int)pow(10.0, 6.0);
arr[] = num / (int)pow(10.0, 5.0);
num = num - arr[] * (int)pow(10.0, 5.0);
arr[] = num / (int)pow(10.0, 4.0);
num = num - arr[] * (int)pow(10.0, 4.0);
arr[] = num / (int)pow(10.0, 3.0);
num = num - arr[] * (int)pow(10.0, 3.0);
arr[] = num / (int)pow(10.0, 2.0);
num = num - arr[] * (int)pow(10.0, 2.0);
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else if (num >= (int)pow(10.0, 5.0))
{
arr[] = num / (int)pow(10.0, 5.0);
num = num - arr[] * (int)pow(10.0, 5.0);
arr[] = num / (int)pow(10.0, 4.0);
num = num - arr[] * (int)pow(10.0, 4.0);
arr[] = num / (int)pow(10.0, 3.0);
num = num - arr[] * (int)pow(10.0, 3.0);
arr[] = num / (int)pow(10.0, 2.0);
num = num - arr[] * (int)pow(10.0, 2.0);
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else if (num >= (int)pow(10.0, 4.0))
{
arr[] = num / (int)pow(10.0, 4.0);
num = num - arr[] * (int)pow(10.0, 4.0);
arr[] = num / (int)pow(10.0, 3.0);
num = num - arr[] * (int)pow(10.0, 3.0);
arr[] = num / (int)pow(10.0, 2.0);
num = num - arr[] * (int)pow(10.0, 2.0);
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else if (num >= (int)pow(10.0, 3.0))
{
arr[] = num / (int)pow(10.0, 3.0);
num = num - arr[] * (int)pow(10.0, 3.0);
arr[] = num / (int)pow(10.0, 2.0);
num = num - arr[] * (int)pow(10.0, 2.0);
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else if (num >= (int)pow(10.0, 2.0))
{
arr[] = num / (int)pow(10.0, 2.0);
num = num - arr[] * (int)pow(10.0, 2.0);
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else if (num >= (int)pow(10.0, 1.0))
{
arr[] = num / (int)pow(10.0, 1.0);
num = num - arr[] * (int)pow(10.0, 1.0);
arr[] = num;
}
else{
arr[] = num;
}
return arr;
} void main(){
int num = ;
int *p = Numcount(num);
if ((*(p) == *(p + )) && (*(p+) == *(p + )))
{
printf("%d是回文数\n",num);
}
else{
printf("%d不是回文数\n", num);
}
system("pause");
}

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

  1. C语言的10大基础算法

    C语言的10大基础算法 算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手.本文包括了经典的Fibonacci数列.简易 ...

  2. Go语言Windows 10开发环境搭建:Eclipse+GoClipse

    Intel Core i5-8250U,Windows 10家庭中文版,go version go1.11 windows/amd64, Eclipse IDE for C/C++ Developer ...

  3. C语言基础 (10) 变量作用域,生命周期 内存结构

    01 课程回顾 1.指针数组 注意: 对于数组来说,在使用sizeof的时候a和&a[0]是不一样的, 虽然以%x打印出来他们都是地址 2.值传递 int a; fun(a); int *** ...

  4. C语言基础(10)-数组

    一.数组的定义 数组就是在内存中连续的相同类型的变量空间. 二.数组在内存中的存储方式 同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的,数组名是一个地址的常量,代表数组中 ...

  5. C语言 百炼成钢3

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

  6. C语言 百炼成钢2

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

  7. C语言 百炼成钢1

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

  8. C语言 百炼成钢19

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

  9. C语言 百炼成钢18

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

随机推荐

  1. CoreAnimation-05-CABasicAnimation

    概述 简介 CABasicAnimation是抽象类CAPropertyAnimation的子类,可以直接使用 CABasicAnimation又称基本动画,从fromValue到toValue按照指 ...

  2. RunTime(运行时机制)

    1>runtime实现的机制是什么,怎么用,一般用于干嘛? 这个问题我就不跟大家绕弯子了,直接告诉大家, runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语 ...

  3. mysql字段不能为空的字段为空时也能插入的方法

    接手了一个项目,设计数据库的时候字段全部是不能为空,但是空值又可以插入数据,刚拿过来的时候就提示各种sql语法错误,现记录一下解决办法. 将my.ini中设置: #sql-mode=STRICT_TR ...

  4. Erlang数据类型的表示和实现(5)——binary

    binary 是 Erlang 中一个具有特色的数据结构,用于处理大块的“原始的”字节块.如果没有 binary 这种数据类型,在 Erlang 中处理字节流的话可能还需要像列表或元组这样的数据结构. ...

  5. Effective Java 37 Use marker interfaces to define types

    Marker interface is an interface that contains no method declarations, but merely designates (or &qu ...

  6. oracle表相关

    堆表 数据以堆的形式管理,增加数据时会使用段中找到的第一个能放下数据的自由空间,我们见到的绝大部分的表都是堆表.堆表是数据库的默认表类型. 最简单的情况是 create table test (c1 ...

  7. 微信公众平台开发教程--方培工作室,PHP语言版本

    准备工作 微信公众平台的注册 介绍如何注册一个微信公众账号. 入门教程 微信公众平台开发入门教程 内容:1.申请SAE作为服务器; 2.启用开发模式; 3.微信公众平台PHP SDK; 4.接收发送消 ...

  8. 如何在CALayer设置滤镜

    网上有很多关于CALayer中设置filtes属性的相关资料比如如何设置一个带滤镜的layer,代码如下: NSImage* image = [NSImage imageNamed:@"IM ...

  9. malloc calloc 和 realloc

    realloc()函数 原型:extern void *realloc(void *mem_address, unsigned int newsize); 语法:指针名=(数据类型*)realloc( ...

  10. ORA-01034: ORACLE not available如何解决

    一个小小的问题,让我折腾了一个上午,下午三点彻底解决了,分享一个给大家解决方法,尽管在测试服务器上,但是经验是值得总结和分享的. ERROR:ORA-01034: ORACLE not availab ...