ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:19.46KB ,
资源ID:27818125      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27818125.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(根据以下公式编程序计算e的近似值精度要求为10E6.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

根据以下公式编程序计算e的近似值精度要求为10E6.docx

1、根据以下公式编程序计算e的近似值精度要求为10E61、请编写程序求解下式的值n、k的值从键盘转入:2、教授最近正在研究一个项目,其间涉与到十进制与十六进制之间的转换,然而,手工将大量的十进制转换成十六进制是十分困难的。请编写程序,将给定的非负十进制数转化成相应的十六进制数并输出用A、B、C、D、E、F分别表示十六进制的10、11、12、13、14、15。 3、输入一个字母打印图示图形,该图形中间一行由输入字母组成,其相邻的上下两行由它前面的字母组成,按此规律,直到字母A出现在第一行和最末行为止。如如如下图: A BB CCC DDDD CCC BB A 4、试编程从N位数字串中删去M个数使剩下

2、的数字串所表示的数值最小。 5、孪生数是指两个相差为2的素数,如3和5,5和7,11和13。请编写程序输出15对孪生数。 6、编写程序找出文件中最长和最短的正文行并统计文件中的行数假定最长行不超过80个字符。 7、数列总是有一些奇妙的性质。现有一数列A,它是以递增顺序排列的,并且该数列中所有的数的质因子只有可能是2、3和5。请编写程序输出这个数列中的前N个数字。 8、试编写程序实现两个大的整数的乘法运算。 参考答案:/1、请编写程序求解下式的值n、k的值从键盘转入:#include #include void main(void) int n,k,x; double sum=0; printf

3、(请输入n和k的值:); scanf(%d%d,&n,&k); for(x=1;x=n;x+) sum+=pow(x,k);/注意计算次方的函数 printf(所求结果为:%fn,sum);/2、教授最近正在研究一个项目,其间涉与到十进制与十六进制之间的转换,然而,手工将大量的十进制转换成十六进制是十分困难的。请编写程序,将给定的非负十进制数转化成相应的十六进制数并输出用A、B、C、D、E、F分别表示十六进制的10、11、12、13、14、15。#include void main(void) int data10,beichushu,yushu,shang; char data1610,p=

4、0;/数组data16用于存放十六进制各位上的数 do printf(请输入一个非负十进制数:); scanf(%d,&data10); while(data100); beichushu=data10;/将初始值作为被除数 /以下循环用于完成转换 do shang=beichushu/16;/求商 yushu=beichushu%16;/求余数 if(yushu=0;p-) printf(%c,data16p); printf(n);/3、输入一个字母打印图示图形,该图形中间一行由输入字母组成,其相邻的上下两行由它前面的字母组成,按此规律,直到字母A出现在第一行和最末行为止。如如如下图:#i

5、nclude void main(void) char ch,row,col; do printf(请输入中间行所对应的字母大写:); scanf(%c,&ch); while(chZ); /输出图形的上半局部 for(row=1;row=ch-A+1;row+)/控制行数 for(col=1;col=ch-A-row+1;col+)/输出相应个数空格以控制位置 printf( ); for(col=1;col=row;col+)/输出相应个数字母 printf(%c,row+A-1); printf(n);/换行 /输出图形的下半局部 for(row=1;row=ch-A;row+)/控制行

6、数 for(col=1;col=row;col+)/输出相应个数空格以控制位置 printf( ); for(col=1;col=ch-A-row+1;col+)/输出相应个数字母 printf(%c,ch-row); printf(n);/换行 /4、试编程从N位数字串中删去M个数使剩下的数字串所表示的数值最小。#include stdio.h#include string.h#define N 80void main() char strN+1; int i,j,n,m,yn;/yn用于判断数字串有是否有逆序对,1有,0无 printf(请输入原始数字串:); scanf(%s,str);

7、 printf(原始数字串为:%sn,str); n=strlen(str); do printf(请输入要删除的数的位数0-%d:,n); scanf(%d,&m); while(mn); yn=1; while(m0)&(yn)/有逆序对时删除较大者 yn=0; for(i=0;(stri+1!=0)&(yn=0);i+) if(stristri+1)/有逆序对 for(j=i;strj+1!=0;j+) strj=strj+1; strj=0; m-; yn=1; ; if(m0) strstrlen(str)-m=0; printf(%sn,str);/5、孪生数是指两个相差为2的素数

8、,如3和5,5和7,11和13。请编写程序输出15对孪生数。/注意:1既不是素数,也不是合数,2是最小的素数,也是唯一的偶素数#include /判断x是否为素数,假设是如此返回1,否如此返回0int judge(int x) int i,yn; yn=1;/为1表示是素数 for(i=2;(ix)&(yn=1);i+) if(x%i=0) yn=0; return yn;void main(void) unsigned i=2,count=1,d1,d2; while(count=15) d1=i; d2=d1+2; i+; if(judge(d1)&judge(d2) printf(No.

9、%2d:%10d%10dn,count+,d1,d2); /6、编写程序找出文件中最长和最短的正文行并统计文件中的行数假定最长行不超过80个字符。#include #include #include #define N 80void main(void) unsigned count=1,maxno,minno; char maxN+1,minN+1,curN+1,fnameN+1; FILE *fp; printf(请输入文件名:);/输入文件名 scanf(%s,fname); fp=fopen(fname,r); if(fp=NULL) printf(文件无法打开!n); else wh

10、ile(!feof(fp)/文件没完毕时反复读取并判断 fgets(cur,N,fp);/读取一行 if(count=1)/假设为第一行如此当其为目前的最长与最短行 maxno=1; minno=1; strcpy(max,cur); strcpy(min,cur); else/假设不是第一行 if(strlen(max)strlen(cur)/新的最短行 minno=count; strcpy(min,cur); count+;/行号增1 ; fclose(fp); printf(文件共有%d行n,count-1); printf(最长行为第%d行,其容为:%sn,maxno,max); p

11、rintf(最短行为第%d行,其容为:%sn,minno,min); /7、数列总是有一些奇妙的性质。现有一数列A,它是以递增顺序排列的,并且该数列中所有的数的质因子只有可能是2、3和5。请编写程序输出这个数列中的前N个数字。#include /此题的关键是如何分解出一个数x所有的质因子/下面函数用于判断x的质因子是否仅为2、3或5,是如此返回1,否如此返回0int judge(int x) int i=2,yn; yn=1; while(x=i)&(yn) if(x%i=0)/如果能整除 if(!(i=2)|(i=3)|(i=5)/质因子不是2、3或5 yn=0; while(x%i=0)&

12、(yn) x/=i; i+; ; return yn;void main(void) int n,i,count=0; do printf(请输入要求的数列元素的个数=1:); scanf(%d,&n); while(n1); for(i=2;countn;i+) if(judge(i) printf(No.%5d: %10dn,+count,i); printf(n);/8、试编写程序实现两个大的整数的乘法运算。#include #include #include #define N 100/逆置,因为计算机中数据的上下位跟现实中的习惯刚好相反void revert(char t) int

13、i,len; char temp; len=strlen(t); for(i=1;iN)|(strlen(b)N);/对两个数实现乘法运算char * multiply(char a,char b) char *p; unsigned int i,j,x,y,r1,r2,r3; p=(char *)malloc(1+strlen(a)+strlen(b); /对存放乘积的空间进展初始化 pstrlen(a)+strlen(b)=0; for(i=0;istrlen(p);i+) pi=0; /进展乘法运算 for(i=0;istrlen(b);i+) y=bi-0; for(j=0;j=0)&

14、(pi-1=0);i-) pi-1=0; return(p);void main() char aN,bN,c2*N; input(a,b); /逆置,以方便运算 revert(a); revert(b); strcpy(c,multiply(a,b); /逆置,以便于跟现实中的上下位顺序一致 revert(a); revert(b); revert(c); printf(%s*%s=%sn,a,b,c); system(pause);/一种改良算法/以下程序实现两个比拟大的正整数相乘,可以得出准确/的结果:#include #include #include #define WEISHU 4

15、 /每组包含的位数#define MAXLEN 10000 /单个数字最多位数/逆置,因为计算机中数据的上下位跟现实中的习惯刚好相反void revert (char *data) unsigned short i,len; char temp; len=strlen (data) ; for (i=1;i=len/2;i+) temp=datai-1; datai-1=datalen-i; datalen-i=temp; /将字符串形式的数据分组并转换成 unsigned short 形式/的数据,每组长度为 weishu,0 号元素存放组数 (系数个数)void stoi (char *s

16、tr,unsigned short *data) unsigned short s=0,i,j=1,quan=1; for(i=0;stri!=0;i+) s=s+quan*(stri-0); quan*=10; if(i+1)%WEISHU=0) data j+ =s; s=0; quan=1; if(i%WEISHU!=0) data j+ =s; data 0 =j-1;/从键盘输入数据并暂存入一个字符数组void input (char *str,unsigned short *data) printf(请输入一个正整数:n) ; scanf(%s,str); revert(str)

17、;/逆置 stoi(str,data) ;/分组并转换/对两个数实现乘法运算unsigned short * multiply (unsigned short *a,unsigned short *b) unsigned short *p,i,j,base=1; unsigned int temp; for(i=1;i=WEISHU;i+) /计算相应的基 base*=10; /给乘积的存放准备空间 p=(unsigned short *)malloc(a0+b0+1)*sizeof(unsigned short); if(p=NULL) return NULL;/存分配不成功,无法进展运算

18、else p0=a0+b0; /对存放乘积的空间进展初始化 for(i=1;i=p0;i+) pi=0; /进展乘法运算 for(i=1;i=b0;i+) for(j=1;j=1;i-) printf(%04d,datai); printf(n);void main() unsigned short len,reallen,*a,*b,*p; char *str; do/输入最大位数 printf(请输入单个数的最大位数 (1-%d): ,MAXLEN); scanf(%d,&len); while(lenMAXLEN); reallen=(len-1+WEISHU)/WEISHU;/计算实际

19、组数,下面两行分配所需空间 a=(unsigned short *)malloc(reallen+1)*sizeof(unsigned short); b=(unsigned short *)malloc(reallen+1)*sizeof(unsigned short); str=(char *)malloc(len+1)*sizeof(char); if(a=NULL)|(b=NULL)|str=NULL) free(a);free(b);free(str); printf ( 存分配不成功,无法继续进展操作!n) ; else input(str,a); input(str,b);/输入被乘数与乘数 p=multiply(a,b); output(p) ;/计算乘积并输出

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1