1 数字字符串转换为整型数(4分) 题目内容:从键盘输入一串字符(假设字符数少于8个),以回车表示输入结束,编程将其中的数字部分转换为整型数并以整型的形式输出。 函数原型为 int Myatoi(char str[]);
其中,形参数组str[]对应用户输入的字符串,函数返回值为转换后的整型数。解题思路的关键是:1)判断字符串中的字符是否是数字字符;2)如何将数字字符转换为其对应的数字值;3)如何将每一个转换后的数字值加起来形成一个整型数。程序运行结果示例1:Input a string:7hg09y↙
709
程序运行结果示例2:Input a string:9w2k7m0↙
9270
程序运行结果示例3:Input a string:happy↙0
输入提示信息:"Input a string:"输入格式: “%7s"输出格式:”%d\n"注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

//数字字符串转换为整型数
#include <stdio.h>
#include<math.h>
//形参数组str[]对应用户输入的字符串,函数返回值为转换后的整型数
int Myatoi(char str[]);
int main()
{int t;char a[8];printf("Input a string:");scanf("%7s", a);t = Myatoi(a);printf("%d\n", t);return 0;
}
int Myatoi(char str[])
{int i, j[8], k = 0, t = 0;for (i = 0; i < 8; i++){if (str[i] < 58 && str[i]>47) {j[k] = str[i] - 48;k++;}}for (i = 0; i < k; i++) {j[i] = j[i] * pow(10, k - 1 - i);t =t + j[i];}return t;
}

2 查找子串(4分) 题目内容:用字符数组作函数参数,编程实现在从键盘输入的字符串(假设长度小于80)中查找与指定的子串,并输出该子串在字符串中首次出现的位置,如果该字符不存在,则输出"Not found!"。函数原型:int SearchString(char s[], char d[])函数功能:在字符数组s中查找子串d,返回d在s中首次出现的位置,若找不到,则返回-1。
程序运行结果示例1:Input a string:How are you!↙Input another string:are↙Searching results:5
程序运行结果示例2:Input a string:hello↙Input another string:are↙Not found!
程序运行结果示例3:Input a string:You are a student.↙Input another string:you↙Not found!
输入第一个字符串的提示信息:“Input a string:”
输入第二个字符串的提示信息:"Input another string:"输入格式: gets()输出格式:"Searching results:%d\n"没找到子串的输出提示信息: "Not found!\n"注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

//查找子串
#include<stdio.h>
#include<string.h>
//在字符数组s中查找子串d,返回d在s中首次出现的位置,若找不到,则返回-1
int SearchString(char s[], char d[]);
int main()
{int t;char s[80], d[80];printf("Input a string:");gets(s);printf("Input another string:");gets(d);t = SearchString(s, d);if (t != -1) {printf("Searching results:%d\n", t);}else {printf("Not found!\n");}return 0;
}
int SearchString(char s[], char d[])
{int i, j = 0, k, z, t;k = strlen(s);z = strlen(d);for (i = 0; i <= k; i++) {if (j == z) {return t;break;}if (s[i] == d[j]) {t = i - z + 2;j++;}}return -1;
}

3 统计重复字符(4分) 题目内容:输入一串字符(字符数小于80),以回车表示输入结束,编程计算并输出这串字符中连续重复次数最多的字符和重复次数。如果重复次数最多的字符有两个,则输出最后出现的那一个。已知函数原型://函数功能:统计字符串中连续重复次数最多的字符及其重复的次数//函数参数:str指向待统计的字符串,指针形参tag返回重复字符最后出现的下标位置 //函数返回值:返回字符重复的次数int CountRepeatStr(char str[], int *tag);求解思路:设置一个计数器,遍历字符串中的所有字符,若str[i] == str[i+1],则计数器加1,同时判断计数器的值是否大于记录的最大重复次数max,若大于,则用计数器的值更新max,并记录该字符最后出现的位置i+1.若str[i] != str[i+1],则计数器重新初始化为1。遍历结束时,函数返回max的值。
程序运行结果示例1:Input a string:2344455555↙
5:5
程序运行结果示例2:
Input a string:
sgf222257↙2:4
输入提示信息:“Input a string:\n"输入格式: 用gets()输入字符串输出格式:”%c:%d\n"注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

//统计重复字符
#include<stdio.h>
#include<string.h>
//函数功能:统计字符串中连续重复次数最多的字符及其重复的次数
//函数参数:str指向待统计的字符串,指针形参tag返回重复字符最后出现的下标位置
//函数返回值:返回字符重复的次数
int CountRepeatStr(char str[], int *tag);
int main()
{char str[80];int tag;char t;printf("Input a string:\n");gets(str);t = CountRepeatStr(str, &tag);printf("%c:%d\n", str[tag], t);return 0;
}
int CountRepeatStr(char str[], int *tag)
{char strr[80];char jishu[80] = { 0 };int max;int i, j, k;k = strlen(str);for (i = 0; i < k; i++) {strr[i] = str[i];for (j = 0; j < k; j++) {if (strr[i] == str[j]) {jishu[i]++;}}}*tag = 0;max = jishu[0];for (i = 0; i < k; i++) {if (max < jishu[i]) {max = jishu[i];*tag = i;}}return max;
}

4 凯撒密码(4分) 题目内容:凯撒密码是罗马扩张时期朱利斯•凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令,其原理很简单,就是通过将字母表中的字母移动一定位置而实现加密。例如,每个字母按字母表顺序向后移3位,如a加密后变成d,b加密后变成e,……x加密后变成a,y加密后变成b,z加密后变成c。请编写一个程序,将用户从键盘输入的文本字符串(只包含a~z的字符且长度小于100)进行加密后输出。函数原型:void Caesar(char c[]);函数功能:计算凯撒密码程序的运行结果示例1:Input a string:baidu↙edlgx程序的运行结果示例2:Input a string:xyz↙abc
输入提示信息:“Input a string:”
输入格式: 用 gets()函数输出格式:用 puts()函数为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

//凯撒密码
#include<stdio.h>
#include<string.h>
//函数功能:计算凯撒密码
void Caesar(char c[]);
int main()
{char str[100];printf("Input a string:");gets(str);Caesar(str);puts(str);
}
void Caesar(char c[])
{int i, j, k;k = strlen(c);for (i = 0; i < k; i++) {c[i] = c[i] + 3;if (c[i] > 122) {c[i] = c[i] - 26;}}
}

中国大学MOOC第10周编程题在线测试相关推荐

  1. 中国大学MOOC第11周编程题在线测试

    1 山地训练(4分) 题目内容:为了能在下一次跑步比赛中有好的发挥,小白在一条山路上开始了她的跑步训练.她希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定:女孩子独自进山的时间不得超过M秒 ...

  2. 中国大学慕课第六周编程题

    1.绘制金字塔(4分) 题目内容:要求用户从键盘输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案: A ABA ABCBA ABCDCBA 程序运行结果示例1: Please input a ...

  3. 中国大学MOOC哈工大C语言程序设计第9周编程题在线测试

    中国大学MOOC哈工大C语言程序设计第9周编程题在线测试 1.重复数字检查(4分) 题目内容: 从键盘输入一个数,检查这个数中是否有重复出现的数字.如果这个数中有重复出现的数字,则显示"Re ...

  4. 哈工大C语言程序设计精髓MOOC 第十三周编程题

    第13周--原来内存也可以这么玩,我是指针我怕谁 练兵区--编程题--不计入总分 2寻找最高分成绩的学生(4分) 题目内容: 下面程序的功能是用动态数组编程输入任意m个班学生(每班n个学生)的某门课的 ...

  5. 中国大学Mocca哈工大C语言第8周编程题在线测试

    1 摘苹果(4分) 题目内容: 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当他不能直接用手摘到苹果的时候,就会踩到板凳上 ...

  6. python中国大学慕课平台_中国大学MOOC(慕课)_Python程序设计_题库及答案

    中国的性目标质和我国卫生发展试述事业. 压下在常,大学最高温度可达水的. )的以(传热进行方式,慕课对流传导传递辐射.人口然属具有性和自生物属性.2捣点小车上装置在A固车安装激光接收.包括地缘群体,党 ...

  7. 中国大学 MOOC C语言程序设计----编程部分答案解析

    C语言程序设计----编程部分答案解析 编程题目1 1.求解矩形的面积.(10分) 题目内容:编写一个程序,从键盘读入一个矩形的两个边的值(整数),输出矩形面积. 输入样例:3,5 输出样例:15 时 ...

  8. 中国大学MOOC第六周作业孔融分梨

    3 孔融分梨(4分) 题目内容: 孔融没有兄弟姐妹,到了周末,就找堂兄孔明.堂姐孔茹.堂弟孔伟等7个堂兄妹来到家里玩.孔融妈妈买了8个梨给孩子们吃,结果小黄狗桐桐淘气叼走了一个,大花猫鑫鑫偷偷藏了一个 ...

  9. 中国大学MOOC文学欣赏与批评题库及答案

    选择题(搜题找答案就在优题宝) 1.下列不能反映<雨巷>中诗人内心的选项是: A.愉悦明朗 B.混沌迷惘 C.孤独寂寞 D.忧愁苦闷 2.卞之琳的<断章>主要反映了何种观点 A ...

最新文章

  1. mysql为什么要压测_mysql集群压测的详细介绍
  2. Logstash Introduction
  3. html代码 打开本地文件,打开本地HTML文件
  4. 谈谈结构体部分成员排序(重载的利用/sort)
  5. 精通ASP.NET MVC ——模型绑定
  6. 数据不够,游戏来凑!随机三维人物实现可泛化的行人再辨识(ReID)
  7. C++指针和引用的区别
  8. Android安卓小程序-随机数生成器
  9. VirtualBox 教程
  10. linux格式化命令,Linux怎么格式化磁盘啊?
  11. 计算机应用程序通过文件打不开,应用程序打不开|exe文件关联修复器|打开方式还原 - 所有应用程序文件打不开的解决方法 - 安全专题...
  12. 实物补贴和货币补贴的权衡
  13. MarkdownPad2 插入数学公式Mathjax
  14. 绘画入门新手要学的绘画基础有哪些
  15. 怎样为爱犬挑选合适的狗粮
  16. Java春招面试复习:JDK 5-15都有哪些经典新特性
  17. Scan的使用方式以及Spring redis的坑
  18. Java实现 LeetCode 21 合并两个有序链表
  19. 1099:零起点学算法06——再来一题除法算术题
  20. 新手nvm npm 卸载不用依赖包,项识别为 cmdlet、函数、脚本文件,等命令集合

热门文章

  1. 小米手环4无需密钥获取心率(JAVA,安卓)
  2. SpringMVC——文件上传下载,异步请求和SSM整合
  3. 【OI向】快速傅里叶变换(Fast Fourier Transform)
  4. 蓝桥杯切面条java_[蓝桥杯][历届试题]切面条-题解(C++代码)
  5. win7 64下RegOpenKeyEx返回的值不正确(转)
  6. Java中字符串数组的输入与输出
  7. 柳传志详解联想控股资本棋局:2018年后子公司将分拆上市
  8. 计算机主机干什么,电脑硬盘是干什么用的
  9. 18.查询好友动态和推荐动态
  10. 离线安装cmake错误