计算导论与C语言基础week12期末题
2017-05-29 18:07
351 查看
前两题简单了..
3.最大距离(简单)
描述
给定一组点(x,y),求距离最远的两个点之间的距离。
输入
第一行是点数n(n大于等于2)
接着每一行代表一个点,由两个浮点数x y组成。
输出
输出一行是最远两点之间的距离。
使用cout << fixed << setprecision(4) << dis << endl;输出距离值并精确到小数点后4位。
5.字符串插入(简单)
描述
有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。(字符个数不包括字符串结尾处的’\0’。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。
输入
输入包括若干行,每一行为一组测试数据,格式为
str substr
输出
对于每一组测试数据,输出插入之后的字符串。
期末题有一道简单计算器没A出来,也没找到逻辑错误,一度以为是正确的》。但OJ通不过,跳过了..测试下边缘值可能更容易找到错》。
那么这门课结束,开始下一项C++进阶
2017.5.29
3.最大距离(简单)
描述
给定一组点(x,y),求距离最远的两个点之间的距离。
输入
第一行是点数n(n大于等于2)
接着每一行代表一个点,由两个浮点数x y组成。
输出
输出一行是最远两点之间的距离。
使用cout << fixed << setprecision(4) << dis << endl;输出距离值并精确到小数点后4位。
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { int n,i; double point[100][2];//100x2的二维数组存坐标 cin >> n; for (i = 0; i < n; i++) cin >> point[i][0] >> point[i][1]; double len[10000];//存两点距离 int k = 0; for(i=0;i<n;i++) for (int j = i; j < n; j++) { len[k] = sqrt(pow(point[i][0] - point[j][0], 2) + pow(point[i][1] - point[j][1], 2)); k += 1; }//算每一对点的距离,存进len[] double max=len[0]; for(i=0;i<=k;i++){ if (len[i] > max) max = len[i]; }//最大距离 cout <<fixed<<setprecision(4)<< max << endl; return 0; }
5.字符串插入(简单)
描述
有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。(字符个数不包括字符串结尾处的’\0’。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。
输入
输入包括若干行,每一行为一组测试数据,格式为
str substr
输出
对于每一组测试数据,输出插入之后的字符串。
#include <iostream> #include<cstring> using namespace std; //用了cstring int main() { char str[10], substr[3]; while (cin >> str >> substr) {//读输入 int i, maxnum = 0, len = strlen(str); int max = str[0]; for (i = 0; i < len; i++) { if (str[i] > max) { max = str[i]; maxnum = i; } }//算最大ASCII及其序号 char s[13]; for (i = 0; i <= maxnum; i++)s[i] = str[i]; for (i = 0; i < 3; i++)s[maxnum+1+i] = substr[i]; for (i =0; i < len-maxnum-1; i++)s[maxnum+4+i] = str[maxnum+1+i]; //这写得有点乱.. for (i = 0; i < len + 3; i++) cout << s[i]; cout << endl; } return 0; }
期末题有一道简单计算器没A出来,也没找到逻辑错误,一度以为是正确的》。但OJ通不过,跳过了..测试下边缘值可能更容易找到错》。
那么这门课结束,开始下一项C++进阶
2017.5.29
相关文章推荐
- 计算导论与C语言基础week7
- 计算导论与C语言基础week8
- [Coursera 计算导论与C语言基础] 期末编程测试
- [Coursera 计算导论与C语言基础] 第六周作业
- 计算导论与C语言基础week10_1
- Coursera_程序设计与算法_计算导论与C语言基础_数组应用练习
- 计算导论与C语言基础(专项课程之一)
- [Coursera 计算导论与C语言基础] 第七周作业
- [Coursera 计算导论与C语言基础] 第十周作业(下)
- 计算导论与C语言基础week10_2
- 计算导论与C语言基础week6
- [Coursera 计算导论与C语言基础] 第十周作业(上)
- 【C语言基础一百题12】93-100题文件和常用库函数
- 寄存器(CPU工作原理)07 - 零基础入门学习汇编语言12
- C 语言基础——程序运行时间的计算
- JavaScript语言基础12
- 自动机理论、语言和计算导论---有穷自动机:确定型有穷自动机(DFA)
- Java基础语言设计-基础篇-习题6.3计算数字的出现次数
- 20161214C语言基础12_循环
- 例题:计算运费。c#语言基础,比较简单。看代码输入格式和方法。同样方法可以做一个 出租车打车的程序