2014c语言(分章节练习)_第1页
2014c语言(分章节练习)_第2页
2014c语言(分章节练习)_第3页
2014c语言(分章节练习)_第4页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.1.1显ホー・行文字/・显示一行文字“WelcometoCWorld!”的程序*/#include<stdio.h>main(){printf(nWelcometoCWorld!"); }2.1.2两个整数求和/・计算并显示两整数之和的程序・/#include<stdio.h>main(){inta,b,sum;/・变量声明・/printf("Inputfirstinteger");/*显示提示信息・/scanf("%d”,&a);/・读取ー个整数・/printf("Inputsecondinteger");/・显不提示信息・/scanf("%d",&b);/・读取ー个整数・/sum=a+b;/・两数相加・/printf("Sumis%d”,sum);/*显示两数之和・/return0;/・返回〇表示程序成功地结束・/2.1算术运算#include<stdio.h>main(){printf(“Ll:40%%7=%d",40%7);printf(uL2:40%7=%d",40%7);printf(uL3:3.〇/-4.0+1.6*2.0/5.0二%f”,0/-4.0+1.6*2.0/5.0);printf(“L4:2/3*1000二%d",2/3*1000);printf(“L5:2/3*1000二%f",2/3*1000);printf(“L6:2/3*1000哪”,2/3*1000);printf("L7:2.0/3*1000二%f",2.0/3*1000);printf(“L8:2f/3*1000二%f",2f/3*1000);printf("L9:Sizeof3is%d”,sizeof(3));printf(uLIO:Sizeof3.0is%d",sizeof(3.0));}2.2.2赋值运算#include<stdio.h>main(){intk,x,y;k=5;x=k++;/*后缀运算,先把k的值赋给x,然后k的值加1*/printfCL1:k二%d,x二%d〃,k,x);k=5;y二++k;/*前缀运算,先使k的值加1,然后将k的值赋给y*/printf(〃L2:k二%d,y二%d”,k,y);x=y二5;printf(〃L3:--xis%d,y--is%d〃,--x,y--);k=x=y=5;k=++x-++y;printf(,zL4:%d,%d,%d,z,k,x,y);k=++x+y++;printf(,zL5:%d,%d,%d〃,k,x,y);k=x一十—y;printf(,zL6:%d,%d,%d,z,k,x,y);kニーx+++y;printf(zzL7:%d,%d,%d〃,k,x,y);x=y二5;printf(,zL8:x+二x一二x*xis%d〃,x+二x一二x*x);printf(zzL9:y+=y一二y*二yis%d〃,y+二y一二y*二y);2.2.3printf中输出表列求值#include<stdio.h>voidmain(){inti=8;printf(,z%d,%d,%d,%d,%d〃,++i,—i,i-,i++,-i-);}2.2.4交换两个变量的值#include<stdio.h>main(){inta,b,tern;printf("Inputintegeraandb");scanf("%d,%d",&a,&b);tem二a;a=b;b=tem;printf("a二%d,b二%d”,a,b);}2.2.5四舍五入#include<stdio.h>#include<math.h>main(){doublea,b;printf("Inputreala);scanf("%If",&a);b=floor(a*100+0.5)/100;printf(〃b=%.2f〃,b);重庆专升本计算机c语言程序设计辅导分支程序设计4.1.1求绝对值#include“stdio.h"main(){intx,y;scanf("%d",&x);if(x<0)y=一x;printf(“x二%d,|x|二%d”,x,y);}4.1.2显示三数中的奇数main()(intx,y,z;printf("inputx,y,z:");scanf(u%d,%d,%d”,&x,&y,&z);if(x%2)printf("%disoddnumber!”,x);if(y%2)printf("%disoddnumber!”,y);if(z%2)printf("%disoddnumber!”,z);4.1.3三数中取极值main(){inta,b,c,max,min;printf("inputa,b,c:");scanf("%d,%d,%d”,&a,&b,&c);max=a;if(b>max)max=b;if(c>max)max=c;printf("themaximumis:%d”,max);min=a;if(min>b)min=b;if(min>c)min=c;printf("theminimumis:%d”,min);4.2.1两数的比较#include”stdio.h"main(){intx,y;printf("inputx,y:");scanf("%d,%d",&x,&y);if(x>y)printf("themaximumis:%dv,x);elseprintf("themaximumis:%d”,y);4.2.2判定一数能否被另ー数整除main(){intx,y;printf("inputx,y:");scanf("%d,%dv,&x,&y);if(x%y)printf("NO");elseprintf("YES");4.3.1分段函数求解main(){intx,y;scanf("%d",&x);if(x>=0)if(x>0)y=x+l;elsey=x;elsey=x-l;printf(“x=%d,尸%d”,x,y);)4.3.2一元二次方程求解#include,zmath.h〃main(){floata,b,c,d,a2,xl,x2;printf(,zInputa,b,c〃);scanf(,z%f,%f,%fzz,&a,&b,&c);if(a=0)/・解一元一次方程・/{xl二一c/b;printf("root二%f〃,xl);/・输出一次方程根・/}else/・解一元二次方程・/d=b*b-4*a*c;a2=2*a;xl二一b/a2;if(d>=0){x2=sqrt(d)/a2;printf(,zrealroot:〃);/・输出实根・/printf(,,rootl=%f,root2=%f〃,xl+x2,xl-x2);}else(x2=sqrt(-d)/a2;printf(,zcomplexroot:zz);/・输出复根・/printf(z,rootl=%f+%fi〃,xl,x2);printf(〃root2=%f-%fi〃,xl,x2);4.3.3闰年判断问题#include“stdio.h"main(){intyear,leap=O;/*leap=O:预置为非闰年・/printf(,zPleaseinputtheyear:");scanf("%d",&year);if(year%100!=0){if(year%4==0)leap=l;}else{if(year%400ニニ〇)leap=l;}if(leap)printf("%disaleapyear.",year);elseprintf("%disnotaleapyear.",year);}4.3.4显示学生成绩与等级main(){intx;printf("pleaseinputx(0く二xく二100):“);scanf("%d",&x);if(x>100||x<0)printf("x=%ddataerror!”,x);elseif(x>=90)printf("x=%disgradeA!”,x);elseif(x>=80)printf("x=%disgradeB!”,x);elseif(x>=60)printf("x二%disgradeC!”,x);elseprintf(へ二%。isgradeD!”,x);4.3.5个人所得税计算(1)用嵌套的if语句编写程序main()floats,m,t;printflpleaseinputtheincome:,z);scanf(〃%f〃,&s);s二sT600;if(s>100000)m=s-100000;t二m・0.45+20000*0.4+20000*0.35+20000*0.3+20000・〇.25+15000*0.2+3000*0.15+1500*0.1+50〇・〇.05;elseif(s>80000)]m=s-80000;t二m・〇.4+2000〇・〇.35+2000〇・〇.3+2000〇*〇.25+15000*0.2+3000*0.15+1500*0.1+50〇・〇.05;卜elseif(s>60000)(m=s-60000;t二m・〇.35+2000〇・〇.3+2000〇・〇.25+1500〇・〇.2+3000*0.15+1500*0.1+50〇・〇.05;}elseif(s>40000)m二s-4000〇;t二m・0.3+20000*0.25+1500〇・〇.2+3000*0.15+1500*0.1+500*0.05;)elseif(s>20000)(m二s-20000;t=m*O.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;)elseif(s>5000){m=s-5000;t=m*O.2+3000*0.15+1500*0.1+500*0.05;}elseif(s>2000){m二s-2000;t=m*O.15+1500*0.1+500*0.05;elseif(s>500){m=s-500;t=m*O.1+500*0.05;}else(m=s;t=m*0.05;}printf(,zthetaxis:%7.2f〃,t);getchO;}(2)用switch语句编写程序main(){floatm,s,r;intt;printf(,zinputtheincome:z,);scanf(〃%f〃,&s);s=sT600;t=s/10000;switch(t){case〇:if(sく二50〇)(m二s・0.05;printf(/zthetaxis:%エ,m);}elseif(s<=2000)(s=s-500;m=s*0.1+50〇・〇.05;printf("thetaxis:%f",m);}elseif(s<=5000)(s=s-2000;m=s*O.15+1500*0.1+500*0.05;printf(,zthetaxis:%f〃,m);elseif(s<=10000)(s-s-5000;in二s・0.2+3000*0.15+1500*0.1+500*0.05;printf(z/thetaxis:%エ,m);}break;case1:s=s-5000;m二s・0.2+3000*0.15+1500*0.1+500*0.05;printf(z/thetaxis:%エ,m);break;case2:if(sニニ20000){s二s-5000;m二s・〇.2+3000*0.15+1500*0.1+50〇・〇.05;printf(zzthetaxis:%エ)in);case3:s=s-2000〇;m二s・〇.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;printf(,zthetaxis:%f〃,m);break;case4:if(s==40000)(s二s-20000;m=s*O.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;printf(,zthetaxis:%fzz,m);}case5:s=s-40000;m=s*O.3+20000*0.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;printf(zzthetaxis:%fzz,m);break;case6:if(s==60000)s二s-4000〇;m二s・0.3+20000*0.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;printf(,zthetaxis:%f〃,m);}case7:s=s-60000;m=s*0.35+20000*0.3+20000*0.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;printf(,zthetaxis:%fzz,m);break;case8:if(s==80000){s=s-60000;m=s*0.35+20000*0.3+20000*0.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;printf(zzthetaxis:%fzz,m);case9:s=s-80000;m=s・〇.4+20000*(0.35+0.3+0.25)+1500〇・〇.2+3000*0.15+1500*0.1+50〇・〇.05;printf(,zthetaxis:%f〃,m);break;}if(s=100000)(s=s-80000;m二s・〇.4+2000〇*(0.35+0.3+0.25)+1500〇・〇.2+3000*0.15+1500*0.1+50〇・〇.05;printf(,zthetaxis:%fzz,m);}else(s二sTOOOOO;m二s・〇.45+20000*(〇.4+0.35+0.3+0.25)+1500〇・〇.2+3000*0.15+1500*0.1+50〇・〇.05;printf(zzthetaxis:%fzz,m);重庆专升本计算机C语言程序设计辅导循环程序设计5.1.1累加和程序L应用for循环设计/*for循环求s=1*2+2*3+…99*100*/main(){longi,s;s二〇;for(i=l;i〈=99;i++)/・设置循环i=l,2,••,99*/s十二i*(i+l);/*把通项i*(i+l)累加到s中・/printf(〃l*2+2*3+…+99*100二%Id”,s);]程序2:应用while循环设计/*while循环求s=1*2+2*3+…+99*100*/main(){longi,s;i二1;s二〇;while(i<=99)/・设置循环i=1,2,…,99*/{s+=i*(i+l);i++;}/・把通项i*(i+l)累加到s中・/printf(“l*2+2*3+…+99*100二%Id",s);程序3I应用dowhile循环设计/*dowhile循环求s=l*2+2*3+・・・+99*100*/main(){longi,s;i=l;s=0;do{s+=i*(i+l);i++;}/・把通项i*(i+l)累加到s中・/while(i<=99);/*设置循环i=l,2,…,99*/printf(〃l*2+2*3+…+99*100二%Id”,s);}5.1.2代数和/・求s=l-l/2+l/3T/4+•••-1/100*/main(){intk,n;floats=0;for(k=l;k<=100;k++)if(k%2=l)s+=1.0/k;/・应用分支实现符号一正ー负・/elses-=l.0/k;printf(〃s=%9.6f〃,s);5.1.3阶乘计算/・循环累乘求阶乘n!*/main(){inti,n;longt;scanf(〃%d〃,&n);t=l;/・积变量t赋初值1*/for(i=l;i<=n;i++)t=t*i;/・循环变量i累乘到t,体现阶乘运算・/printf(,z%d!=%ld〃,n,t);}/*递归求阶乘N!*/floatfac(n)intn;{longf;if(n==0)f=l;/・初始条件・/elsef=n*fac(nT);/・递归关系・/return(f);}main(){intn;longy;printflinputn:〃);scanf(〃%d〃,&n);y=fac(n);printf1%d!二%Id,n,y);#include,zmath.h〃main(){inti,n=1000;floata,b,h,tl,t2,s,x;printf(〃请输入积分限a,b:〃);scanf(〃%f,%f”,&a,&b);h=(b-a)/n;for(s=0,i=l;i<=n;i++){x=a+(i-l)*h;tl=exp(-x*x/2);t2=exp(-(x+h)*(x+h)/2);s+=(tl+t2)*h/2;}/・梯形面积累加・/printf(〃梯形法算得积分值:%f.〃,s);}5.2.1百鸡问题main(){intx,y,z;for(x=l;x<=19;x++)for(y=l;y<=33;y++)for(z=l;zく=100;z++)if(z%3-0&&x+y+z—100&&5*x+3*y+z/3=100)printf(〃x=%d,y=%d,z=%d〃,x,y,z);/・同时满足时打印・/}5.2.2解Pel!方程/・解PELL方程:x^2-nyへ2=1.*/ttinclude<math.h>main(){intn,m,t;longa,x,y;printf(〃解PELL方程:x2-ny2=1.〃);printf(〃请输入非平方正整数n:〃);scanf(〃%d〃,&n);m=sqrt(n);if(m*m=n){printf(〃n为平方数,方程无正整数解!〃);return;}printf(〃解PELし方程:x-2-%dyへ2=1〃,n);for(y=l;y<=10000;y++)/・实施穷举,约定10000内・/{a=n*y*y;x=sqrt(a+1);if(x*xニニa+1){printf(〃方程的基本解为:〃);printf(,zx=%Id,y=%Id”,x,y);break;}})2.3牛顿迭代法解方程#include<math.h>floatsolut(a,b,c,d)floata,b,c,d;{floatx二1,xO,f,fl;do{xO二x;/*在循环中实施迭代*/f=((a*xO+b)*xO+c)*xO+d;fl二(3*a*x0+2*b)*xO+c;x二xO-f/f1;while(fabs(x-xO)>=le-5);return(x);}main(){floata,b,c,d;printf(,zinputa,b,c,d:〃);scanf(〃%f,%f,%f,%f,z,&a,&b,&c,&d);printf(,zx二%10.6fsolut(a,b,c,d));5.2.4水手分椰子main(){intk,n;longx,y;printf(〃n=〃);scanf(〃%d〃,&n);/*输入水手个数n*/for(x=n-l;x<1000000;x+=n-l){y=x;for(k=l;k<=n;k++){y二y/(n-l)*n+l;/・迭代求前ー个水手时的椰子*/if(y%(n-l)!=0)break;}if(k>n){y=y/(n-l)*n+l;printf(〃%d个水手分椰子,原有椰子至少有:%ld个.〃,n,y);for(k=1;kく=n;k++){printf(〃第%d个分:%ld=%d*%ld+l,〃,k,y,n,(yT)/n);y=(y-l)/n*(n-l);printf(〃分后剩余:%ld=%d*%ld〃,y,n-l,y/(n-l));}printf(〃最后一起分:%ld=%d*%ld+l,z,y,n,(y-l)/n);break;}}}5.3.1探求区间素数main(){longinta,b,k,t,j,n;n=0;printf(〃请输入区间:〃);scanf(〃%ld,%ld,z,&a,&b);printf(〃[%ld--%ld]〃,a,b);for(k二a;kく=b;k++){t二〇;for(j=2;j<=k/2;j++)/・实施试商判别*/if(k%j==O)t=l;if(t==0)n++;}printf(〃n=%Id〃,n);}5.3.2梅森素数#include<math.h>main(){longintk,t,j,m,n,x;x=0;t=2;for(n=2;n<=30;n++){t*=2;k=t-l;m=0;for(j=3;j<=sqrt(k);j+=2)/・实施试商判别*/if(k%j-O)m=l;if(m-0){x++;printf(z,2%ld-l=%ld”,n,k);}}printf(,zx=%ld”,x);}5.3.3合数世纪#include<math.h>main(){longa,b,k;ints,x;for(a=21;aく20000〇;a++)/*在约定区间内穷举世纪・/{s=0;for(b=a*100-99;b<=a*100-1;b+=2)/・穷举每个奇数年号b*/{x=0;for(k=3;k<=sqrt(b);k+=2)if(b%k—0){x=l;break;}s=s+x;}/・年号b为合数时,x=l,s增1*/if(s==50)/*s=50,即有50个合数・/{printf(〃最早出现的合数世纪为:%Id世纪!〃,a);break;}}}5.3.4质因数分解/・质因数分解乘积形式・/#include,zmath.h〃main(){longintb,i,k,m,n,w=0;printf(〃[田,n]中整数分解质因数.〃);printf(〃请输入m,n:〃);scanf(〃%ld,%ld〃,&m,&n);for(i=m;i<=n;i++)/*i为待分解的整数・/{printf(〃机d=〃,i);b=i;k=2;while(k<=sqrt(i))/*k为试商因数・/{if(b%k—0){b=b/k;if(b>l){printf(〃%ld・〃,k);continue;}/*k为质因数,返回・/if(b==l)printf(〃%ld〃,k);}k++;}if(b>l&&b<i)printf(/z%ld〃,b);/・输出大于i平方根的因数・/if(b==i){printf(〃(素数!)〃);w++;}/*b=i,表示i无质因数・/}printf(〃其中共%d个素数.”,w);}5.4.1最大公约与最小公倍数main(){longinta,b,r,k;scanf(,z%ld,%ld〃,&a,&b);k=a*b;r=a%b;while(r>0){a=b;b=r;r=a%b;}/・实施辗转相除・/printf(〃最大公约数为:%ld〃,b);printf(〃最小公倍数为:%ld〃,k/b);}5.4.2水仙花数main(){inti,j,k,n;for(n=100;n<1000;n++){i=n/100;j=(n/10)%10;k=n%10;/・分离n各位数字i,j,k*/if(nニニi*i*i+j*j*j+k*k*k)/・检验是否符合条件・/printf(,z%d〃,n);}}5.4.3完全数#include"math,h"main(){intb,i,k,m,n,c[100];longa,s,x,y,d[100];printf(〃求区间[x,y]中的完全数.〃);printf(〃请输入整数x,y:〃);scanf(〃%ld,%ld”,&x,&y);printf(〃[%ld,%ld]中的完全数有:〃,x,y);for(a二x;aく二y;a++){s二1;n二〇;b二sqrt(a);for(k二2;k〈二b;k++)/・试商寻求a的因数k*/if(a%kニニ〇){s二s+k+a/k;n++;c[n]二k;d[n]=a/k;}/*a/k也是a的因数・/if(a==b*b){s=s-b;m=n-l;}/・若a=bへ2,去掉ー个b重复因数*/elsem=n;if(a-s){printf(/,%ld=r,,a);/*分两段从小到大打印因数之和・/for(i=l;i〈=n;i++)printf(〃+%d〃,c[i]);for(i=m;i>=l;i--)printf(〃+%ld〃,d[i]);if(a%2—l)printf(z,奇完全数!〃);printf(,Z〃);})}5.4.4勾股数/・勾股数组・/#include“math,h”main(){longa,b,x,y,z,d,n=0;scanf(“%ld,%ld",&a,&b);printf(“在[%ld,%ld]范围内,寻求勾股数组:");for(x二a;xく=b-2;x++)/・设x〈y〈z,循环判别・/for(y=x+l;y<=b-l;y++){d=x*x+y*y;z=sqrt(d);if(dニニz*z&&z<=b){n++;printf(u%ld,%ld,%ld”,x,y,z);}}printf("共有%Id组勾股数。",n);}5.4.5倍反序数main(){intn,k,t,m,j二〇;for(n二!,000;nく二9999;n++)/*n穷举四位数・/{m二〇;t二n;for(k二].;kく二4;k++){m=m*10+t%10;t=t/10;}/・求四位数n的反序数m*/if(mニ二4*n){j++;printf(〃%d",n);}}printf(〃共%d个解.〃,j);}5.5.1n个1整除问题main(){inta,b,c,n;printf(uinputb=,J);scanf(“刎",&b);n二4;c二1111;while(c!=0)/・余数为零时结束・/{a=c*10+1;c=a%b;n++;}/・模拟整数除法・/printf(,zn=%d”,n);}5.5.2尾数前移问题/・模拟除法求解尾数前移问题・/main(){inta,b,m,x,y,z;printf(〃把整数n的尾数a前移到n的最前面,〃);printf(〃其值为原n值的b倍,原数n记为n(a,b).、、printf(〃整数a,b满足:2くbWaく9〃);printf(〃请输入整数n的指定尾数a:〃);scanf&a);/・输入处理数据・/printf(〃请输入尾数a前移后为n的倍数b:〃);scanf(〃%d〃,&b);x=a/b;y=a%b;m=l;/*确定初始条件・/printf(〃n(%d,%d)=%d〃,a,b,x);while(y!=0||x!=a)/・递推试商处理・/{z=y*10+x;x=z/b;y=z%b;m++;/*模拟整数除法printf(〃%d〃,x);printf(〃共%d位。〃,m);}5.6.1金字塔main(){intn,k,m;printf(〃请输入金字塔的行数n:〃);scanf(〃%d”,&n);for(k=l;k<=n;k++)/・控制循环n次,打印n行{for(m=l;m<=50-k;m++)printf("%c〃,32);/・每行先打印50-k个空格・/for(m=l;m<=2*k-l;m++)printf(〃%c〃,42);/・接着打印2kT个”*"*/printf(,Z〃);)}5.6.2空心菱形#include<math.h>main(){intd,e,n,k,m;printf(〃请输入菱形的行数n(奇数):〃);scanf(〃%d〃,&n);d=(n+l)/2;for(k=l;k<=n;k++)/・控制循环n次,打印n行*/{e=fabs(k-d);/・菱形上下对称,应用fabs(k-d)函数・/for(m=l;mく=e+45;m++)printf(〃%c〃,32);/*打印每行前面空格・/printf(〃祝〃,42);/・打印每行的前一个星号・/if(e<d-l){for(m=l;mく=2*(d-e)-3;m++)printf(〃紀〃,32);/・打印中间空格・/printf(〃%c〃,42);}/・打印中间各行的后一个星号・/printf(,Z〃);)}6.3数字菱形#include<math.h>main(){intd,e,n,k,m;printf(〃请输入菱形的行数n(奇数):〃);scanf("%d〃,&n);d=(n+l)/2;for(k=l;k<=n;k++)/・控制循环n次,打印n行{e=fabs(k-d);for(m=l;mく=2*e+45;m++)printf(〃%c〃,32);/*打印每行前的空格*/for(m=l;m<=d-e;m++)printf(〃%d〃,d-e);/・打印前d~e个数字・/if(e<d-l){for(m=0;m<=2*(d-eT)-2;m++)printf(〃%c〃,32);/*打印每行中空格・/for(m=l;m<=d-e;m++)printf(,,%d,,Jd-e);}/・打印后d-e个数字・/printf(,Z〃);)重庆专升本计算机c语言程序设计辅导数组程序设计1.1Fibonacci数列/*Fibonacci数列递推求解・/main(){intk,n;longs,f[50];printf(〃求数列的第n项与前n项和,请输入n:〃);scanf(〃%d”,&n);f[l]=l;f[2]=l;s=2;A数组元素与和变量赋初值・/for(k=3;k<=n;k++){f[k]=f[k-l]+f[k-2];/・实施递推*/s+=f[k];}/・实施求和・/printf(〃F数列第%d项为:%ld”,n,f[n]);printf("F数前%d项之和为:%ld",n,s);}1.2累序列/・幕序列程序・/main(){intk,n;longa,b,s,f[100];printf("求数列的第n项与前n项和,请输入n:");scanf("%d",&n);a=2;b=3;s=。;for(k=l;k<=n;k++){if(a<b){f[k]=a;a=a*2;}/・用2的幕给f[k]赋值*/else{f[k]=b;b=b*3;}/・用3的幕给f[k]赋值s+=f[k];}printf(〃数列的第%d项为:%ld”,n,f[n]);printf(〃数列的前%d项之和为数列〃,n,s);}3双关系递推数列/・双关系2x+l,3x+l递推・/main(){intn,i,j,h,m[1500];m[l]=l;scanf("%d",&n);for(i=l;i〈=n;i++){m[2*i]=2*m[i]+l;m[2*i+l]=3*m[i]+l;for(j=i+2;jく=2*i+l;j++){if(m[i+l]>m[j])/*m(i+l)与m(j)比较・/{h=m[j];m[j]=m[i+l];m[i+l]=h;}/・交换,使m(i+l)最小・/if(m[i+l]—m[j])m[j]=20000+j;}}/・置m(j)为一出界大数,以避免重复・/for(i=l;i<=n;i++){printf(,z%4d,z,m[i]);if(!(i%10))printf(〃〃);}}6.1.4复杂递推数列/*2x+3y递推程序・/main(){intm,n,t,k,i,h,j,w,a[30000];printf(,zinput川:〃);scanf(〃%d〃,&m);a[l]=l;a[2]=2;t=2;n=0;for(k=2;k<=m;k++){for(i=l;i<=k-l;i++){w=2*a[k]+3*a[i];if(w<=m&&a[k]!=a[i])a[++t]=w;/・判断w是否为递推项・/w=2*a[i]+3*a[k];if(w<=m&&a[k]!=a[i])a[++t]=w;}}/・判断w是否为递推项・/for(j=l;j<=m;j++){for(k=1;k〈=t;k++)if(a[k]==j){n++;printf(〃%4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论