算法练习
happy_bigqiang
这个作者很懒,什么都没留下…
展开
-
任意输入一串字符,将下标为奇数的小写字母转 换为大写
/* 任意输入一串字符,将下标为奇数的小写字母转 换为大写(编号从0开始,若该位置上不是字母,则不 转换).举例:若输入abc4Efg,则应输出aBc4EFg(字符串数组) 注意点: 1,字符串的输入用%s; 2,用到strlen函数要引入string.h的头文件; 3,大小写转换问题,ascII中大写在前小写在后,即大写字母A对应的十进制为6原创 2016-12-27 20:58:56 · 6065 阅读 · 0 评论 -
求数列s(n)=s(n-1)+s(n-2)的第n项的值。其中s(1)=s(2)=1。要求任意给定n,输出s(n)
#include <iostream>#include <stdio.h>using namespace std;/*(2008,2007)求数列s(n)=s(n-1)+s(n-2)的第n项的值。其中s(1)=s(2)=1。要求任意给定n,输出s(n)*/int s(int n){ if (n==1||n==2){ return 1; } else原创 2017-02-02 16:46:51 · 1202 阅读 · 0 评论 -
打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
#include <iostream>#include <stdio.h>/* (2008)打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身*/using namespace std;//基本思路是一位一位的拿出来算int isPerfectNumber(int num){ if(num<100||num>1000){原创 2017-02-02 16:45:44 · 7326 阅读 · 0 评论 -
09给定任意俩组字符串S1和S2,请编程输出他们间的最大相同子串
#include <iostream>#include <stdio.h>#include <string.h>#define N 255using namespace std;/* 本题题目:给定任意俩组字符串S1和S2,请编程输出他们间的最大相同子串 本题不能用KMP算法,KMP算法找到额是子串在母串中的位置,即子串是母串的一部分,与本题不一样,不要理解错误了 本解原创 2017-02-14 21:54:47 · 1282 阅读 · 1 评论 -
给出100以上至1000以内的平方回文数
#include <iostream>#include <stdio.h>#include <math.h>/* 写程序给出100以上至1000以内的平方回文数 例如:121, 既是完全平方数, 也是回文数 本题注意看下平方数的判断*/using namespace std;int isSqrt(int x)//判断是否是平方数{ double y =(原创 2017-01-28 18:57:37 · 4966 阅读 · 0 评论 -
递归之hanio
参考链接: https://www.cnblogs.com/yanlingyin/archive/2011/11/14/2247594.html(PS:这篇文章写的不错,可惜有个致命错误就是最后是从b借助a移到c,不是从b借助c移到a,代码也是错的,可惜了,看个思路就好,虽然后半部分思路也是错的。。。)链接2,代码正确,分析的中规中矩: http://blog.csdn.net/geekwang转载 2017-02-21 09:59:25 · 364 阅读 · 0 评论 -
10马踏棋盘之中国象棋
题目:在半个中国象棋棋盘上,马在左下角(1,1)处,马走日字,而且只能往右走,不能向左,可以上下,求起点到(m,n)处有几种不同的走法。基本思想:递归回溯探索算法测试数据: 9 5 37 8 4 20 3 2 1 4 4 2 /* 题目:在半个中国象棋棋盘上,马在左下角(1,1)处,马走日字,而且只能往右走,不能向左,可以上下,求起点到(m,n)处有几种不同的走法。原创 2017-02-14 20:17:43 · 1521 阅读 · 0 评论 -
15骑士周游问题(马踏棋盘问题)
输出5*5棋盘的骑士周游的方法数:#include<stdio.h>#include<stdlib.h>#define X 5#define Y 5int chess[X][Y]={{0}};//二维数组的初始化,两个大括号int count=0;void print(){ int i,j; for(i=0;i<X;++i) { for(j=0;j<Y原创 2017-02-13 20:55:55 · 747 阅读 · 0 评论 -
12约瑟夫环
/* 2012 一群人(排列序号从1到N,N可设定)围成一圈,按一定规则出列,剩余的人仍然围成一圈.出列规则是顺着1到N的方向对圈内的人从1到C计数(C可设定),圈内计数为C的人出列,剩余的人重新计数,按上述规则,让圈内所有的人出列.请编程顺序输出出列编号的序列*/#include <stdio.h>#include <stdlib.h>typedef struct原创 2017-02-17 21:42:21 · 455 阅读 · 0 评论 -
2015输入一个字符串以#结尾,则输出此字符串中连续出现最长的数字串及其开始的下标;
题目: 2015 1、 设计一个程序,输入一个字符串以#结尾,则输出此字符串中连续出现最长的数字串及其开始的下标; 例如: 输入:ab125ef1234567# 输出: 1234567 开始位置为:8#include <stdio.h>#include <stdlib.h>#include <string.h>int continueMax(char *inputStr);原创 2017-01-21 15:51:45 · 4219 阅读 · 0 评论 -
在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;他既是完全平方数,又是两位数字相同,例如144,676等
在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;他既是完全平方数,又是两位数字相同,例如144,676等#include <iostream>#include <stdio.h>#include <math.h>using namespace std;/* (2007)按要求输出:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;原创 2017-02-02 16:48:25 · 8625 阅读 · 0 评论