C算法提高训练题

2019-01-19 18:23

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输出。

两次输入前要输出的提示信息分别是\”和\

样例输入

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 #include using namespace std;

void Disp(int a[], int n) {

for (int i=0; i

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三角形矩阵。

编写程序,使运行结果为: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1

该题的详细文档及程序框架请从网络学堂下载!

题7: c++_ch02_03

编写程序实现“剪刀,石头,布”游戏。在这个游戏中,两个人同时说“剪刀”,“石头”或“布”,压过另一方的为胜者。规则是:“布”胜过“石头”,“石头”胜过“剪刀”,“剪刀”胜过“布”。要求:选择结构中使用枚举类型,结果的输出也使用枚举类型表示。

输入:两个数,范围为{0,1,2},用空格隔开。0表示石头,1表示布,2表示剪刀。这两个数分别表示两个人所说的物品。

输出:如果前者赢,输出1。如果后者赢,输出-1。如果是平局,输出0。

题8:c++_ch02_02

使用Switch语句编写一个模拟简单计算器的程序。依次输入两个整数和一个字符,并用空格隔开。如果该字符是一个“+”,则打印和;如果该字符是一个“-”,则打印差;如果该字符是一个“*”,则打印积;如果该字符是“/”,则打印商;如果该字符是一个“%”,则打印余数。打印结果后输出一个空行。

题9:Quadratic Equation

求解方程ax2+bx+c=0的根。要求a, b, c由用户输入,并且可以为任意实数。 输入格式:输入只有一行,包括三个系数,之间用空格格开。

输出格式:输出只有一行,包括两个根,大根在前,小根在后,无需考虑特殊情况,保留小数点后两位。

输入输出样例

样例输入

2.5 7.5 1.0

样例输出

-0.14 -2.86

题10:温度转换

编写一个程序,输入一个摄氏温度,输出相应的华氏温度。在输出时,保留小数点后面两位。 输入格式:输入只有一个整数,即摄氏温度。 输出格式:输出只有一实数,即相应的华氏温度。 输入输出样例

样例输入

35

样例输出

95.00

题11:征税程序

税务局希望你帮他们编写一个征税程序,该程序的功能是:首先输入某公司的年销售额sale和税率rate,然后程序将计算出相应的税额tax,并把它显示在屏幕上。计算公式是: tax = sale * rate。

输入格式:输入只有一行,包括两个数据,即年销售额和税率。

输出格式:输出只有一行,包括一个实数,即相应的税额,保留到小数点后两位。 输入输出样例

样例输入

50000.5 0.1

样例输出

5000.50


C算法提高训练题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于校园文化建设的建议

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: