C算法提高训练题.docx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C提高题二题1:高精度加法 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263。要想计算更加规模的数,就要用软件来扩展了,比如用数组或字符串来模拟更多规模的数及共运算。 现在输入两个整数,请输出它们的和。输入格式 两行,每行一个整数,每个整数不超过1000位输出格式 一行,两个整数的和。样例输入15464315464465465482321654151样例输出15464797786119616数据规模和约定 每个整数不超过1000位题2:6-9删除数组中的0元素 编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。 输入时首先读入数组长度,再依次读入每个元素。 将调用此函数后得到的数组和函数返回值输出。样例输入72 0 4 3 0 0 5样例输出2 4 3 54?题3: 3-2字符串输入输出函数 编写函数GetReal和GetString,在main函数中分别调用这两个函数。在读入一个实数和一个字符串后,将读入的结果依次用printf输出。 两次输入前要输出的提示信息分别是please input a number:\n”和please input a string:\n样例输入9.56hello样例输出please input a number:please input a string:9.56hello题4:?进制转换 程序提示用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出。 输入格式:输入只有一行,即三个字符。 输出格式:输出只有一行,包括三个整数,中间用空格隔开。 输入输出样例样例输入FFF样例输出FFF 4095 7777题5:c++_ch06_02  编写并测试如下函数: void Add (int a[], int m, int b[], int n); 该函数将数组b的前n个元素追加到数组a的前m个元素后,假定数组a具有至少存放m+n个元素的空间。例如,如果数组a为{22,33,44,55,66,77,88,99},数组b为{20,30,40,50,60,70,80,90},则调用Add(a,5,b,3)后,将把数组a变为{22,33,44,55,66,20,30,40}。注意数组b并没有改变,而且数组a中只需改变n个元素。测试 输入:4行。第一行为两个整数:m,n,并以空格隔开,分别表示将要输入的数组a和数组b的元素的个数。第二行为m个整数,为数组a的元素;第三行为n个整数,为数组b的元素。第四行为两个整数m1,n1,表示把数组b的前n1个元素追加到数组a的前m1个元素后。 输出:1行。第一行为最后数组a中的元素,两个元素之间以逗号隔开。最后一个元素输出后,输出一个空行。参考程序#include cassert #include iostream using namespace std; void Disp(int a[], int n) { for (int i=0; in-1; i++) cout a[i] , ; cout a[n-1] endl; } void Add(int a[], int m, int b[], int n) { //...请补充完整 } int main() { int* a = NULL; int* b = NULL; int i = 0; int m, n; cin m n; a = new int[m + n]; b = new int[n]; for(i = 0; i m; i++) cin a[i]; for(i = 0; i n; i++) cin b[i]; int m1, n1; cin m1 n1; // 请补充完整 return 0; }题6:c++_ch03_02 PASCAL三角是形状如下的三角矩阵: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 在PASCAL三角中的每个数是一个组合C(n,k)。 C(n,k)=(((((((n/1)(n-1))/2(n-2))/3)***(n-k+2))/(k-1))(n-k+1))/k 公式中交替使用乘法和除法,每次将从n开始递减的一个值相乘,然后除以下一个从1开始递增的值。 如果对行和列从0开始计数,则数字C(n,k)在n行k列。例如C(6,2)在第6行第2列。编程输出指定阶数的PASCAL三角矩阵。例如下面给出的是12阶PASCAL三角形矩阵。

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档