你的位置:首页 > 操作系统

[操作系统]C试题,欢迎大家在下面写下题目的结果


1,求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:22+222+2222+22222(此时n=5),n和a都从键盘输入。 OK2,猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。ok3,如果要将整钱换成零钱,那么一元钱可兑换成一角、两角、五角,问有多少种兑换方式 ok4,一农户在集市上卖西瓜,他总共有1020个西瓜,第一天卖掉一半多两个,第二天卖掉剩下的一半多两个,问照此规律卖下去,该农户几天能将所有的西瓜卖完? OK5,假设五年期的年利息为2.5%,现在某人手里有一笔钱,预计在今后的五年当中每年年底取出1000,到第五年的时候刚好取完,计算在最开始存钱的时候要存多少钱? OK6,4.有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁,问第4个人岁数,他说比第3个人大两岁,问第3个人岁数,他又说比第2个人大两岁,问第2个人岁数,他说比第1个人大两岁,最后问第1个人他说10岁。编写程序,当输入第几个人时求出其对应的年龄。OK7,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时便是右移OK9,有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代表箱子*/输出一个菱形