1,求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:22+222+2222+22222(此时n=5),n和a都从键盘输入。 OK 2,猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。ok 3,如果要将整钱换成零钱,那么一元钱可兑换成一角、两角、五角,问有多少种兑换方式 ok 4,一农户在集市上卖西瓜,他总共有1020个西瓜,第一天卖掉一半多两个,第二天卖掉剩下的一半多两个,问照此规律卖下去,该农户几天能将所有的西瓜卖完? OK 5,假设五年期的年利息为2.5%,现在某人手里有一笔钱,预计在今后的五年当中每年年底取出1000,到第五年的时候刚好取完,计算在最开始存钱的时候要存多少钱? OK 6,4.有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁,问第4个人岁数,他说比第3个人大两岁,问第3个人岁数,他又说比第2个人大两岁,问第2个人岁数,他说比第1个人大两岁,最后问第1个人他说10岁。编写程序,当输入第几个人时求出其对应的年龄。 OK 7,A/B/C/D/E 5个人在某天夜里合伙去捕鱼,到凌晨时都疲惫不堪,于是各自找地方睡觉,第二天,A第一个醒来,他将鱼分成5份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分成5份,把多余的一条鱼扔掉,拿走自己的一份。C/D/E依次醒来,按同样的方法拿鱼。问他们合伙至少捕了多少条鱼? #include <stdio.h> int sum = 0; int count = 0; int main() { for (int i=6; 1; i++) { sum = i; for (int j=0; j<5; j++) { if (sum % 5 == 1) { count++; if (count == 5) { printf("%d", i); return 0; } sum =(sum-1)*4/5; }else { count = 0; } } } 8,编写一个移位函数,使移位函数既能循环左移又能循环右移。参数n大于0时便是左移,参数n小于0时便是右移 OK 9,有1000000个数,每个数取值范围是0-999999,找出其中重复的数。 10, 选择排序法的两种 11,冒泡排序法 12, 折半查找法 13,耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒。请找出它原来的序号。 14,编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。 23 , 掷骰子题,掷骰子100次,输出每个号出现的次数 15,输入6个字符串,并对它们按从小到大的顺序排序后输出。 #include <stdio.h> #include <string.h> int main() { char str[6][30]={0}; char temp[100] = {0}; long maxlen = 0; long nowlen = 0; printf("请输入6个字符串:"); for (int i=0; i<6; i++) { scanf("%s", str[i]); } for (int j=0; j<5; j++) { for (int i=0; i<5; i++) { nowlen = strlen(str[i]); //获取现在字符串长度 maxlen = strlen(str[i+1]); if (nowlen > maxlen) //用现在字符串长度 和最长字符串长度进行对比,如果大于那么交换 { strcpy(temp,str[i]); strcpy(str[i], str[i+1]); strcpy(str[i+1],temp); } } } for (int i=0; i<6; i++) { printf("%s " ,str[i]); } return 0; } 16,随机生成一个三维数组,编程求深度的平均值,保存在一个二维数组中。 17,找出一个二维数组中的“鞍点”,即该位置上的元素在该行中最大,在该列中最小(也可能没鞍点),打印出有关信息。 22,判定用户输入的正整数是否为“回文数”,所谓“回文数”是指正读反读都相同的数。 24 , 输出一个字符串中每个字符出现的次数 25 , 从键盘输入一大堆字符串,统计A、B、C、D的出现次数,最后出现次数由高到低输出字母和出现次数。 26 , 编程实现将任意的十进制整数转换成任意R进制数(R在2-16之间) 27, 小明从2006年1月1日开始,每三天结识一个美女两天结识一个帅哥,编程实现当输入2006年1月1日之后的任意一天,输出小明那天是结识美女还是帅哥(注意润年问题)(C语言) 28,求出1.2.3.4四个数,随意组成一个里面没有相同数字的三位数,总共有多少种组合方式 29,编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。(C语言) 30,找出多个字符串中的最大公共子字符串,如“nbitheimanb”和“itheia”的最大子串是:”ithei”。 将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变 统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。 计算一个字符串中子串出现的次数。 1,推箱子游戏: /* 游戏说明:玩家通过键盘录入 w,s,a,d控制小人向不同方向移动, 其中w代表向上移动,s代表向下移动,a代表向左移动,d 代表向右移动, 当小人在箱子后面的时候可以推着箱子向前移动,当箱子移动到出口的位置,玩家胜利 地图如下: ########## #0 #### # # x#### # # # ###### # # #### # # # # ###### # ########## 说明: # 代表墙, O代表小人 ,' ' 代表路, X代表箱子 */ 输出一个菱形