//题目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");
}

最新文章

  1. 1.初识Linux
  2. C++学习之重载、覆盖与隐藏
  3. oracle触发器如何使用2
  4. RocketMQ在Windows平台下环境搭建
  5. LwIP编译方法以及选项说明
  6. JS中比較2个字符串内元素的不同(字符1, 字符2, 分隔符可选)
  7. weblogic开机启动-超简单
  8. 剑指offer面试题6 重建二叉树(c)
  9. TestNG详解-深度好文
  10. 安装Mediamanager 后Messenger后无法登录
  11. Exploit-Exercises nebule 旅行日志(五)
  12. SpringAOP学习第一天 @Pointcut注解
  13. in文件
  14. 通过windows powershell 修改 Office 365默认的 35MB 的邮件大小限制
  15. BZOJ3309 DZY Loves Math(莫比乌斯反演+线性筛)
  16. web前端时间戳转时间类型显示
  17. java引用Arcface,实现人脸识别(demo)
  18. win7右键新建文件夹不见了
  19. python6
  20. Python读写改Excel的方法

热门文章

  1. Android项目实战(四):ViewPager切换动画(3.0版本以上有效果)
  2. [Android]ViewPager如何只初始化一个页面
  3. 谷歌的网页排序算法(PageRank Algorithm)
  4. iOS设计模式之代理模式
  5. Linux 基础知识----shell
  6. FPGA speed grade
  7. 【SQL查询】集合查询之INTERSECT
  8. C# listview 拖动节点
  9. linux64位android项目R文件无法生成以及Cannot run program adb
  10. Shell basic1