如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
稀有编程算法实例关于数字上的一些编程算法输出9*9口诀乘法表。分析:分行与列考虑,共9行9列,i把持行,j把持列。#include"stdio.h"main(){inti,j,result;printf("\n");for(i=1;i<10;i++){for(j=1;j<=i;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}}求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。比如2+22+222+2222+22222(现在共有5个数相加),多少多个数相加有键盘把持。分析:关键是打算出每一项的值。main(){inta,n,count=1;longintsn=0,tn=0;printf("pleaseinputaandn\n");scanf("%d,%d",&a,&n);printf("a=%d,n=%d\n",a,n);while(count<=n){tn=tn+a;sn=sn+tn;a=a*10;++count;}printf("a+aa+...=%ld\n",sn);}公式∏/4=1-1/3+1/5-1/7+...+1/n,求∏的近似值,直到最后一项1/n的绝对值小于0.000001。#include<stdio.h>#include<math.h>main(){intf=1;doublepi=0,t=1,v=1;while(fabs(t)>1e-6){pi=pi+t;v+=2;f=-f;t=f/v;}pi*=4;printf("∏=%f\n",pi);}有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出谁人数列的前20项之跟。法那么:分子是前一项分子分母之跟,分母是前一项的分子。main(){intn,t,number=20;floata=2,b=1,s=0;for(n=1;n<=number;n++){s=s+a/b;t=a;a=a+b;b=t;/*序列法那么的完成*/}printf("sumis%9.6f\n",s);}揣摸11<=x<=10000中的数那些是回文数,统计回文数个数,回文数每行输出10个。分析:(1)让x重新构成新的数t,假设x==t那么是回文数.(2)分析出x的各位,停顿首尾比较,假设都相当那么是回文数。fun1()//算法一{longx,i,t=0,s=10,cnt=0;for(x=11;x<10000;x++){i=x;while(i!=0)//构成新的数{t=t*s+i%10;i=i/10;}if(t==x){printf("%5d",x);cnt++;if(cnt%10==0)printf("\n");}t=0;}printf("\ncnt=%5d",cnt);}fun2()//算法二{longx,i,t=0,j=0,s=10,x1,cnt=0;inta[10];for(x=11;x<10000;x++){x1=x;while(x1!=0)//分析出各位{a[j]=x1%10;x1=x1/10;j++;}i=0;j--;while(i<j)//首尾比较if(a[i]==a[j])i++,j--;elsebreak;if(i>=j){printf("%5d",x);cnt++;if(cnt%10==0)printf("\n");}j=0;}printf("\ncnt=%5d",cnt);}main(){fun1();}求1+2!+3!+...+20!的跟。main(){floatn,s=0,t=1;for(n=1;n<=20;n++){t*=n;//完成阶乘s+=t;//将阶乘累加}printf("1+2!+3!...+20!=%e\n",s);//%e为科学计数法输出}输出一个年份揣摸它是否是闰年,称心下眼条件之一就称为闰年:〔1〕.能被4整除而不克不迭被100整除。〔2〕.能被100整除也能被400整除。#include<stdio.h>main(){longintyear;printf("inputyear:");scanf("%d",&year);if(year%4==0&&year%100!=0||year%100==0&&year%400==0)printf("yes");elseprintf("No");