资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
【程序1】用筛选法求100之内的素数筛选法又称筛法,是求不超过自然数N(N1)的所有质数的一种方法。据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274194年)发明的,又称埃拉托斯特尼筛子。 具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。因为希腊人是把数写在涂腊的板上,每要划去一个数,就在上面记以小点,寻求质数的工作完毕后,这许多小点就像一个筛子,所以就把埃拉托斯特尼的方法叫做“埃拉托斯特尼筛”,简称“筛法”。#include #include void main()int i,j;int a100;for(i=0;i100;i+)ai=i+1;for(i=1;i100;i+)if(ai=0)continue;for(j=i+1;j100;j+)if(aj%ai=0)aj=0;for(j=1;j100;j+) /j从1开始,去除a0(其值为1),因为1既不是质数,也不是合数if(aj!=0)printf(%d,aj);printf(n);【程序2】题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=123.编程找出1000以内的所有完数。程序源代码:#include int main()int k10;int i,j,n,s;for(j=2;j1000;j+)n=-1;s=j;for(i=1;ij;i+)if (j%i)=0)n+;s=s-i;kn=i;if(s=0) /说明是完数printf(%d is a wanshu:,j);for(i=0;i=n;i+)printf(%d ,ki);printf(n);return 1;【程序3】题目:用选择法对10个数进行从大到小排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。 2.程序源代码:#include #define N 10int main()int i,j,max,tem,aN;/*input data*/printf(please input ten num:n);for(i=0;iN;i+)printf(a%d=,i);scanf(%d,&ai);printf(n);printf(Before sorted n);for(i=0;iN;i+)printf(%5d,ai);printf(n);/*sort ten num*/for(i=0;iN-1;i+)max=i;for(j=i+1;jN;j+)if(amaxaj) max=j;if (max!=i)tem=ai;ai=amax;amax=tem;/*output data*/printf(After sorted n);for(i=0;iN;i+)printf(%5d,ai); printf(n);return 1;=【程序4】题目:求一个3*3矩阵对角线元素之和 1.程序分析:利用双重for循环控制输入二维数组,再将aii累加后输出。2.程序源代码:#include int main()float a33,sum=0;int i,j;printf(please input rectangle element:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%f,&aij);for(i=0;i3;i+)sum=sum+aii;printf(duijiaoxian he is %6.2f,sum);return 1;【程序5】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#define N 5int main() int aN=9,6,5,4,1,i,temp;printf(n original array:n);for(i=0;iN;i+)printf(%4d,ai);for(i=0;iN/2;i+)temp=ai;ai=aN-i-1;aN-i-1=temp;printf(n sorted array:n);for(i=0;iN;i+)printf(%4d,ai);printf(n);return 1;1QrP,jRCDC0#,?eOG/M+f9B051Testing软件测试网;S$p-$a i【程序6】W ?#At0uP+D0打印出以下杨辉三角形(要求打印出10行)。xW(d0151Testing软件测试网2tk O;11&Dz8H;qA6A6k%A,*|.|012151Testing软件测试网2QX Vzau4b133151Testing软件测试网Q jM+qd1Qq1464151Testing软件测试网AY MDU(Q15101051&9tS 6YW W0#include void main()int n,i;int a10,b10;a0=1;a1=1;printf(%-4dn,a0);printf(%-4d%-4dn,a0,a1);for(n=3;n=10;n+)b0=1;for(i=1;in-1;i+)bi=ai-1+ai;bn-1=1;for(i=0;in;i+)printf(%-4d,bi);ai=bi;printf(n);r.vXMF3FL.DPXp0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出无此数51Testing软件测试网+VeC7jpT5Si#i#includeint main()int a15=1,4,9,13,21,34,55,89,144,233,377,570,671,703,812;int w,l,m,h;printf(please enter search number:);scanf(%d,&w);for(l=0,h=14;)m=(l+h)/2;if(w=am)break;if(wam)l=m+1;if(wh)break;if(lh)printf(无此数n);if(w=am)printf(it is at %d n,m+1); return 1;【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。w:Gm TP7u0#include #include int main()char a381;int i,j,len;int num5=0,0,0,0,0;for(i=0;i3;i+)gets(ai);for(i=0;i3;i+)len=strlen(ai);for(j=0;j=a&aij=A&aij=1&aij=9)num3+;elsenum4+;printf(英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%dn,num0,num1,num2,num3,num4); return 1;51Testing软件测试网,f*hISB4kP9G*Z【程序9】打印以下图案51Testing软件测试网gxy cua HtF*YD(MsYY0 *Y+PQlxI&Qi_8n0 *51Testing软件测试网:j+w+v8S r * *51Testing软件测试网5$t D/s*v?bFFdj0#include #define N 5int main()int i,j;for(i=0;iN;i+)for(j=0;ji;j+)printf( );for(j=0;jZa-z51Test
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号