北理C语言作业及答案2(5)

2018-12-21 12:06

以文本方式显示 以文本方式显示 测试用例 1 1. 1? 1. 1? 1秒 64M 0 以文本方式显示 以文本方式显示 测试用例 2 1. 2? 1. 1.500000? 1秒 64M 0 以文本方式显示 以文本方式显示 测试用例 3 1. 3? 1. 1.166667? 1秒 64M 0 #include double fun(int n) { if(n==1) return 1; if(n%2==0) return fun(n-1)+1.0/n; if(n%2==1) return fun(n-1)-1.0/n; }

void main() { int n,m; scanf(\ if(n==1) printf(\ else printf(\ }

42 子串反向——递归

成绩: 10 / 折扣: 0.8

请编写一个递归函数 reverse(char str[], int start, int end ) ,该函数的功能是将串 str 中下标从 start 开始到 end 结束的字符颠倒顺序。假设 start 和 end 都在合理的取值范围。 例如:

执行前:str[]=\;start=1 ;end=4 执行后:strr[]=\

要求在该函数中不使用新的数组,没有循环。

注意:只需要编写递归函数 reverse,系统中已经设置好了main函数。 预设代码 前置代码 view plaincopy to clipboardprint? 1. /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ 2. 3. #include 4. int main( ) 5. { char str[100]; 6. int start, end; 7. gets(str); 8. scanf(\, &start, &end); 9. reverse( str, start, end ); 10. printf(\, str); 11. return 0; 12. } 13. 14. /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */#include int main( ){char str[100];int start, end;gets(str);scanf(\%d%d\, &start, &end);reverse( str, start, end );printf(\%s\\n\, str);return 0;}/* PRESET CODE END - NEVER TOUCH CODE ABOVE */ 测试输入以文本方式显示 测试用例 1 1. 0123456? 2. 1 4? 期待的输出以文本方式显示 1. 0432156? 时间限制 1秒 64M 内存限制 0 额外进程 以文本方式显示 测试用例 6 1. 0123456? 2. 6 10? 以文本方式显示 测试用例 7 1. 0123456? 2. 0 10? 以文本方式显示 1. 0123456? 1秒 64M 0 以文本方式显示 1. 6543210? 1秒 64M 0 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */

#include int main( )

{ char str[100]; int start, end; gets(str); scanf(\ reverse( str, start, end ); printf(\ return 0; }

/* PRESET CODE END - NEVER TOUCH CODE ABOVE */

void reverse( char str[], int start,int end ) { int i=start,j=end,p=0; char temporary; while(str[p]!='\\0') p++; if(start=p) { j=p-1;

for(;i<=j;i++,j--) { temporary=str[i];

}

str[i]=str[j];

str[j]=temporary; } }

H17:高精度加减法(选作)

成绩: 10 / 折扣: 0.8

背景:

计算机所能完成的一个基本功能就是完成数据的计算,譬如加法、减法等等。但是在任何一种计算机上,计算中能够使用的数字都是有一定范围的,超过了范围,就没法得到精确的结果。

你现在接受了一个任务,要编写一个高精度计算器的核心部分。所谓高精度计算器,就是可以计算很大很大的数据的计算器。

输入:

输入的第一行是一个正整数,表示下面有几组数据需要计算。之后的每一行是两个十进制的正整数和一个运算符,每个整数可以由最多 500 个数字组成。运算符可以是加号或者减号。

输出:

对应着输入的每一行数据,输出计算的结果,每个结果占一行。

时额内间外存限进限制程制 测以文本方式显示 试用1. 2? 例2. 213914+23466123? 3. 32862934-23481243? 1 测以文本方式显示 以文本方式显示 1. 23680037? 2. 9381691? 测试输入 期待的输出 1640 秒M 以文本方式显示 1640 试用例 2 1. 3? 2. 483291674192731231+1236187236812735123? 3. 123129678463287562378-28935687264871236? 4. 999999999+1? 秒M 1. 17194789110054663 54? 2. 123100742776022691142? 3. 1000000000? 以文本方式显示 1. 11? 2. 56789+56789? 3. 45555+44445? 4. 1+12345? 5. 12345+1? 6. 98765-98760? 7. 12345-9876? 8. 12345-12345? 9. 12345-12346? 10. 1-54321? 11. 0-0? 12. 0+0? 以文本方式显示 1. 113578? 2. 90000? 3. 12346? 4. 12346? 5. 5? 6. 2469? 7. 0? 8. -1? 9. -54320? 10. 0? 11. 0? 1640 秒M 测试用例 3 #include #include #include #include \

void main() {

int n=0,i=0,j=0,k=0,b=0; char a[3][500]={0}; int n1=0,n2=0; char s[500]={0}; int n3=0; int c=0,c1=0; int temp=0; char op;

char str[1001]={0}; char *result;

scanf(\

result=(char *)malloc(501*n);//根据输入的n申请内存空间


北理C语言作业及答案2(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中化学二轮复习高考压轴大题特训题型六物质结构与性质

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

马上注册会员

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