c语言竟赛试题

c语言竟赛试题

ID:40523714

大小:16.66 KB

页数:6页

时间:2019-08-04

c语言竟赛试题_第1页
c语言竟赛试题_第2页
c语言竟赛试题_第3页
c语言竟赛试题_第4页
c语言竟赛试题_第5页
资源描述:

《c语言竟赛试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言竞赛试题1.分数变小数写出一个程序,接受一个以N/D的形式输入的分数,其中N为分子,D为分母,输出它的小数形式。假如它的小数形式存在循环节,要将其用括号括起来。例如:1/3=.00000...表示为.(3),又如41/333=.123123123...表示为.(123)。一些转化的例子:1/3=.(3)22/5=4.41/7=.(142857)3/8=.37545/46=.803(571428)用上面的分数和11/59来测试你的程序。运行举例:ENTERN,D:171/7=.(142857)本题中,0<=

2、N<=65535,0<=D<=65535,设运算结果小数点后最多保留100位。(1)解题思路本题可以模拟手算除法的形式,重复地进行求商和余数的运算,直到余数为0或出现循环节为止。(2)参考程序ConstMax=100;(小数点后最大位数)VarLeft,Digit:Array[0..Max]of视频教程'>word;(记录每次的余数和商)n,d:Word;q,Top:Word;(q为循环字节的位置)ProcedureInit;BeginWrite('ENTERN,D:');Readln(n,d);End;Pro

3、cedureCacl;(计算)Vari:Word;BeginDigit[0]:=ncss.shtml'target='_blank'title='div视频教程'>divd;Left[0]:=nModd;Top:=0;q:=0;(初始化商和余数)WhileLeft[Top]<>0Do(余数不为0则循环)BeginInc(Top);Digit[Top]:=(Left[Top-1]*10)Divd;Left[Top]:=(Left[Top-1]*10)Modd;Fori:=0ToTop-1DoIfLeft[Top]

4、=Left[i]ThenBeginq:=i+1;Exit;(假如出现循环节则退出)End;End;End;ProcedurePrint;Vari:Word;BeginWrite(n,'',d,'=');If(Digit[0]<>0ThenWrite(Digit[0]);IfTop>0ThenWrite('.');For(i:=1ToTopDoBeginIfi=qThenWrite('(');Write(Digit[i]);End;Ifq>0ThenWrite(')');Writein;End;BeginIni

5、t;{读入数据}Cacl;{计算}Print;;{打印结果}End.(3)运行结果ENTERN,D:115911/59=.(1864406779661016949152542372881355932203389830508474576271)附:改写后的C源程序如下:#include#defineMax100/*小数点后最大位数*/intLeft[Max];intDigit[Max];/*记录每次的余数和商*/intn,d,q,Top;/*q为循环字节的位置*/voidInit(void){ 

6、printf("ENTERN,D:"); scanf("%d%d",&n,&d);}voidCacl(void)/*计算*/{ inti=0,j=1; Digit[0]=n/d;/*求商*/ Left[0]=n%d;/*求余数*/ Top=0; q=0;/*初始化商和余数*/ while(Left[Top]!=0&&j==1&&Top<100) {  Top++;           /*取下一个数组元素*/  Digit[Top]=(Left[Top-1]*10)/d;   /*求商*/  Left[Top]

7、=(int)(Left[Top-1]*10)%d; /*求余数*/  for(i=0;i0)printf("

8、."); for(i=1;i<=Top;i++) {  if(i==q)printf("(");  printf("%d",Digit[i]); } if(q>0)printf(")");}voidmain(void){ Init();      /*读入数据*/ Cacl();/*计算*/ Print();/*打印结果*/2.质数竖式下面的竖式是一个乘法运算问题,它的每个*号可以代入

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。