网站大量收购独家精品文档,联系QQ:2885784924

C算法提高训练题教程.docx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C算法提高训练题教程

C提高题二 题1:高精度加法   在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263。要想计算更加规模的数,就要用软件来扩展了,比如用数组或字符串来模拟更多规模的数及共运算。   现在输入两个整数,请输出它们的和。 输入格式   两行,每行一个整数,每个整数不超过1000位 输出格式   一行,两个整数的和。 样例输入 15464315464465465 482321654151 样例输出 15464797786119616 数据规模和约定   每个整数不超过1000位 题2:6-9删除数组中的0元素   编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。   输入时首先读入数组长度,再依次读入每个元素。   将调用此函数后得到的数组和函数返回值输出。 样例输入 7 2 0 4 3 0 0 5 样例输出 2 4 3 5 4 ?题3: 3-2字符串输入输出函数   编写函数GetReal和GetString,在main函数中分别调用这两个函数。在读入一个实数和一个字符串后,将读入的结果依次用printf输出。   两次输入前要输出的提示信息分别是please input a number:\n”和please input a string:\n 样例输入 9.56 hello 样例输出 please input a number: please input a string: 9.56 hello 题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

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档