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

2018-12-21 12:06

用例 2 1. 1.2345 e-3? 1. 0.00123450? 1640 测以文本方式显示 以文本方式显示 试秒M 用1. 2.23456789123456789123451. 223456789123456789123.4567例6789 e 20? 8900? 3 测试以文本方式显示 用例1. 1 E 0? 4 以文本方式显示 1. 1.00000000? 1640 秒M 测以文本方式显示 试以文本方式显示 用1. 2.2345678901234567890 E 例1. 22.34567890? 1? 6 #include \ int main() {

int p=-1,n,i=0,j,sign=0,flag=0;char c,s[100]; while(scanf(\ if(c=='.')p=i-1;

else if(c<='9'&&c>='0')s[i]=c,i++; else if(c=='-')sign=1; else if(p<0)p=i-1; for(j=i;j<=60;j++) s[j]='0'; scanf(\ p+=n;

if(sign)printf(\ if(p<0) {

p=-p-1; printf(\

for(i=1;i<=p&&i<=8;i++) printf(\ for(i=1;i<=8-p;i++) printf(\

1640 秒M } else {

i=0;

while(i<=p) {

if(s[i]=='0'&&!flag&&i

printf(\

for(j=1;j<=8;j++)

printf(\ }

printf(\ return 0; }

37 大数分解

成绩: 5 / 折扣: 0.8

2007级在“计算机科学导论”的期末考试中有一道试题。下面请你看看那题目应该如何编写。 从键盘输入的一个大于 1 的整数,通过算法将该整数分解为若干因子的乘积。

输入:

一个正整数。

输出:

分解后的各个因子。

测试输入 期待的输出 时间限制 内存限制64M 额外进程0 以文本方式显示 1秒 以文本方式显示 测试用例 1 1. 24? 1. 2. 3. 4. 2? 2? 2? 3? 测试用例 2 以文本方式显示 以文本方式显示 1秒 64M 0 1. 17? 1. 17? 64M 0 以文本方式显示 1秒 以文本方式显示 测试用例 3 1. 15? 1. 3? 2. 5? 以文本方式显示 以文本方式显示 1秒 测试用例 4 1. 3? 1. 3? 64M 0 #include void main() { int n,i;

scanf(\ for(i=2;n>1;) { if(n%i==0) {

printf(\ }

else i++; } }

38 回文字符串——递归

成绩: 5 / 折扣: 0.8

有一种特殊形式的字符串,其正反序相同,被称为“回文字符串”。例如LeveL就是一个回文字符串。 输入: 字符串 输出:

Yes或者No

说明:

如输出Yes,说明输入的字符串是一个回文字符串 输出No,说明输入的字符串不是一个回文字符串 请使用递归算法实现。

测试输入 期待的输出 时间限制 内存限制 额外进程 以文本方式显示 测试用例 1 1. LeveL? 以文本方式显示 1秒 1. Yes? 64M 0 #include #include

int fun(char str[],int a,int b) { if(str[a]!=str[b]) return 0 ; else if(a==b||a+1==b&&str[a+1]==str[b]) return 1; else if(str[a]==str[b]) return 1&&fun(str,a+1,b-1); }

void main() { char str[100]; scanf(\ int n; n=strlen(str); switch(fun(str,0,n-1)) { case 1:printf(\ case 0:printf(\ } }

39 求最大公约数——递归

成绩: 5 / 折扣: 0.8

请使用递归算法计算正整数n和m的最大公约数GCD(n,m)。 = m 当 m<=n 且 n mod m =0 GCD(N,M) = GCD(m,n) 当n

输出:

n和m的最大公约数

测试输入 期待的输出 时间限制 内存限制64M 额外进程0 以文本方式显示 以文本方式显示 1秒 测试用例 1 1. 24 48? 1. 24? 以文本方式显示 以文本方式显示 1秒 测试用例 2 1. 13 15? 1. 1? 64M 0 #include int gcd(int n,int m) { if(m<=n&&n%m==0) return m; else if(n

void main() { int n,m; scanf(\ printf(\ }

40 求序列之和——递归

成绩: 5 / 折扣: 0.8

请使用递归算法求下列序列的前n项之和。 1 + 1/2 - 1/3 + 1/4 -1/5 ...... 输入: n

输出:

序列的前n项和(精确到小数点之后第6位)

测试输入 期待的输出 时间限制 内存限制 额外进程


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

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

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

马上注册会员

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