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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(整理根据以下公式编程序计算e的近似值精度要求为10E6.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至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=

3、0; printf(请输入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

4、 data1610,p=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出现在第一行和最末

5、行为止。如下图:#include 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

6、-A;row+)/控制行数 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(请输入原始数字串:); sc

7、anf(%s,str); 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、

8、孪生数是指两个相差为2的素数,如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)

9、 printf(No.%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(文件无法

10、打开!n); else while(!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,m

11、axno,max); printf(最短行为第%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; wh

12、ile(x%i=0)&(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

13、(char t) int 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;

14、for(j=0;j=0)&(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 #de

15、fine WEISHU 4 /每组包含的位数#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

16、stoi (char *str,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);

17、 revert(str) ;/逆置 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

19、)/WEISHU;/计算实际组数,下面两行分配所需空间 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