- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言经典例题解析
代码算法积累:1:兔子数列覆盖思想,控制每行输出数据个数的办法#include stdio.hint main(){double f1,f2;//防止数据溢出int i;f1=f2=1;printf(%.0lf\t%0.lf\t,f1,f2);for(i=1;i=10;i++){f1=f1+f2;f2=f1+f2;if(i % 2 == 0)//每行输出4个数据,一次输了2个数据嘛{printf(\n);}printf(%.0lf\t%.0lf\t,f1,f2);// \t也可以用成 %12d 靠左嘛}return 0;}递归的办法:#include stdio.hint tuzi(int n) ; int a[100];int main(){int f1 = 1 , f2 = 1 ,n;scanf(%d,n);if( n == 1 || n == 2){printf(1\n);return 0 ;}tuzi(n);return 0;}int tuzi(int n){int z;if( n == 1 || n == 2){z = 1 ;}else { z = tuzi(n-2) + tuzi(n-1); }if( a[n] == 0 ) //打印出来的数据的办法{a[n] = 1 ;printf(%d\n,z);}return z ;}这种是用a[i] == 0 来控制的。。但是并不一定按顺序,只是1、2刚好是一样的。#include stdio.hint tol(int n) ;int a[13] = {0} ;int main(){int a,i,b;for( i = 1 ; i = 12 ; i++ ){printf(%4d,tol(i));} //调用12次来打印就是了printf(\nTotal=%d\n,tol(12));return 0;}int tol(int n){int z ;if( n == 1 ){z = 1 ;}else if( n == 2 ){z = 2 ;}else{z = tol( n - 2 )+tol( n - 1 ) ;}return z;}2;打星星,研究行数与输出个数的关系#include stdio.hint main(){int j,i,k;for(j=0;j6;j++){for(k=5;kj;k--){printf( );//每一轮打印空格数从5逐减. } for(i=0;i=j;i++)//j-i+1= {1,2,3,4,5,6} [每进行一轮外层循环,内层循环数+1] {printf(*);}printf(\n);//循环一次换行 }return 0; } 3:研究对输入字节的统计#include stdio.hint main(){char c;int n=0;for(n=0 ; c=getchar(),c != \n ; ){n++; //每进行了一次,循环内的变量就++}printf(%d,n);return 0;}4:统计各种字母出现的次数#include stdio.hint main(){int a[150]={0},i,c;//可以优化下数组a[i - 65]int j;while((j=getchar()) != \n)/*先用一个变量j存储ASCII码,再用一个变量i循环*/{for(i=65;i=122;i++)/*用这两 个变量相互比较,相等时,a【第一个变量j】++ */{if(j == i){a[i]++;}}}for(c=65;c=122;c++){if( a[c] != 0 ){printf(%c出现过%d次。,c,a[c]);}}return 0;}5:找数组中最大的数#include stdio.hint main(){int max,a[10],i,j,temp;for(i=0;i10;i++){scanf(%d,a[i]);}max=a[0];for(i=1;i10;i++){if(a[i]max){max=a[i];} /*把a【0】先给max,再用a【i】与max比较,*//*每次都把大的给max*/}printf(max number is %d,max);return 0;}6:给数组赋值的表示:for(i=0;i3;i++){for(j=0;j3;j++){printf(a[%d][%d]= ,i,j);scanf(%d,a[i][j]);}}7:利息计算公式:输入存款金额money,存期year和年利
文档评论(0)