



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.【程序 1】用筛选法求 100 之内的素数筛选法又称筛法,是求不超过自然数N ( N>1 )的所有 质数 的一种方法 。 据说是古希腊的埃拉托斯特尼 ( Eratosthenes ,约公元前274 194 年)发明的 ,又称埃拉托斯特尼筛子。具体做法是 :先把 N 个自然数按次序排列起来。 1 不是质数 ,也不是合数 ,要划去 。第二个数 2 是质数留下来 ,而把 2 后面所有能被2 整除的数都划去。 2 后面第一个没划去的数是3,把 3 留下 ,再把 3 后面所有能被3 整除的数都划去 。 3 后面第一个没划去的数是5,把5 留下 ,再把 5 后面所有能被 5整除的数都划去 。 这样
2、一直做下去 ,就会把不超过N 的全部合数都筛掉 ,留下的就是不超过N 的全部质数 。 因为希腊人是把数写在涂腊的板上,每要划去一个数 ,就在上面记以小点,寻求质数的工作完毕后 ,这许多小点就像一个筛子,所以就把埃拉托斯特尼的方法叫做“埃拉托斯特尼筛”,简称 “筛法 ”。#include <stdio.h>#include <math.h>void main()int i,j;int a100;for(i=0;i<100;i+)ai=i+1;for(i=1;i<100;i+)if(ai=0).专业专注.continue;for(j=i+1;j<100;j
3、+)if(aj%ai=0)aj=0;for(j=1;j<100;j+)/j从 1 开始,去除 a0 (其值为 1), 因为 1 既不是质数 ,也不是合数if(aj!=0)printf("%d,",aj);printf("n");【程序 2】题目 :一个数如果恰好等于它的因子之和,这个数就称为“完数 ”。例如6=1 2 3.编程找出 1000 以内的所有完数 。程序源代码 :#include <stdio.h>int main()int k10;int i,j,n,s;for( j=2;j<1000;j+).专业专注.n=-1;s=
4、j;for(i=1;i<j;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
5、 <stdio.h>#define N 10int main()int i,j,max,tem,aN;/*input data*/printf("please input ten num:n");for(i=0;i<N;i+)printf("a%d=",i);scanf("%d",&ai);printf("n");printf("Before sorted n");for(i=0;i<N;i+)printf("%5d",ai);.专业专注.pr
6、intf("n");/*sort ten num*/for(i=0;i<N-1;i+)max=i;for( j=i+1;j<N;j+)if(amax<aj) max=j;if (max!=i)tem=ai;ai=amax;amax=tem;/*output data*/printf("After sorted n");for(i=0;i<N;i+)printf("%5d",ai);printf("n");return 1;.专业专注.=【程序 4】题目 :求一个 3*3 矩阵对角线元素之和1
7、.程序分析 :利用双重for 循环控制输入二维数组,再将 aii 累加后输出 。2.程序源代码 :#include <stdio.h>int main()float a33,sum=0;int i,j;printf("please input rectangle element:n");for(i=0;i<3;i+)for( j=0;j<3;j+)scanf("%f",&aij);for(i=0;i<3;i+)sum=sum+aii;printf("duijiaoxian he is %6.2f"
8、,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;i<N;i+)printf("%4d",ai);for(i=0;i<N/2;i+)temp=ai;ai=aN-i-1;aN-i-1=temp;printf("n sorted array:n");for(i=0;i<N
9、;i+)printf("%4d",ai);printf("n");return 1;.专业专注.【程序 6】打印出以下杨辉三角形 (要求打印出 10 行)。11112113311464115101051#include <stdio.h>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;i<n-1;i
10、+)bi=ai-1+ai;bn-1=1;for(i=0;i<n;i+)printf("%-4d",bi);ai=bi;printf("n");【程序 7】有个 15 数按由小到大顺序存放在一个数组中,输入一个数 ,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中 ,则打印出 "无此数 "#include<stdio.h>int main()int a15=1,4,9,13,21,34,55,89,144,233,377,570,671,703,812;int w,l,m,h;printf("p
11、lease enter search number:");scanf("%d",&w);for(l=0,h=14;).专业专注.m=(l+h)/2;if(w=am)break;if(w>am)l=m+1;if(w<am)h=m-1;if(l>h)break;if(l>h)printf(" 无此数 n");if(w=am)printf("it is at %d n",m+1);return 1;【程序 8】有一篇文章 ,共有 3 行文字,每行有个 80 字符 。 要求分别统计出其中英文大写字母、
12、小写字母 、空格以及其它字符的个数。#include <stdio.h>#include <string.h>.专业专注.int main()char a381;int i,j,len;int num5=0,0,0,0,0;for(i=0;i<3;i+)gets(ai);for(i=0;i<3;i+)len=strlen(ai);for(j=0;j<len;j+)if(aij>='a'&&aij<='z')num0+;else if(aij>='A'&&a
13、ij<='Z')num1+;else if(aij=' ')num2+;else if(aij>='1'&&aij<='9')num3+;elsenum4+;.专业专注.printf(" 英文小写字母、大写字母 、空格 、数字 、其他字符的个数分别为 %d,%d,%d,%d,%dn",num0,num1,num2,num3,num4);return 1;【程序 9】打印以下图案* *#include <stdio.h>#define N 5int main()int
14、 i,j;for(i=0;i<N;i+).专业专注.for(j=0;j<i;j+)printf("");for(j=0;j<N;j+)printf("* ");printf("n");return 1;【程序 10】有一行电文译文下面规律译成密码:A->Za->zB->Yb->yC->Xc->x即第一个字母变成第26 个字母 ,第 i 个字母变成第( 26-i+1 )个字母 。 非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。#include <stdio.h&g
15、t;int main()int i;char str1100,str2100;.专业专注.gets(str1);for(i=0;str1i!='0'i+)if(str1i>='A'&&str1i<='Z')str2i=2*'A'+25-str1i;/*str1i 表示第 ( str1i-'A'+1) 个字母 ,变成 ( 26- ( str1i-'A'+1 ) +1 )个字母,对应的 ASCII 是 26- ( str1i-'A'+1 )+1+'A&
16、#39;-1=2*'A"+25-str1i*/else if(str1i>=97&&str1i<=122)str2i=2*'a'+25-str1i;elsestr2i=str1i;str2i='0'printf("miwen is:%snyuanwen is:%sn",str2,str1);return 1;【程序 11】编一个程序 ,将两个字符串S1 和 S2 比较,如果S1>S2,输出一个正数 ;S1=S2,输出 0; S1<S2,输出一个负数 。不要用 strcmp 函数 。 两
17、个字符串用gets 函数读入 。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的 ASCII 码的差值 。例如 ,A与 C相比 ,由于 A<C,应输出负数 ,由于 A与 C的码差值为 2,因此应输出 "-2" 。同理 :"And" 和"Aid" 比较,根据第 2 个字符比较结果 ,n比i大 5,因此应输出 "5" 。.专业专注.#include <stdio.h>#include <string.h>int main()int result=0;int i=0;char a2
18、0,b20;gets(a);gets(b);while(ai!='0'&&bi!='0')if(ai!=bi)result=ai-bi;break;i+;if(ai='0'&&bi!='0')result=-bi;else if(ai!='0'&&bi='0').专业专注.result=ai;printf(" 返回值为 %dn",result);return 1;【程序 12】编写一个程序 ,将字符数组 s2 中的全部字符拷贝到字符
19、数组s1 中,不用 strcpy 函数 。拷贝时 ,0 也要拷贝过去 ,0 后面的字符不拷贝 。#include <stdio.h>#include <string.h>void main()int i;char a20;char b20;gets(a);i=-1;doi+;bi=ai;while(ai!='0');.专业专注.printf(" 拷贝后为 %sn",b);【程序 13 】从键盘输入若干个整数 ,其值在 0 至 4 范围内 ,用 -1 作为输入结束的标志 。统计每个整数的个数 。参考程序 :#include <st
20、dio.h>int main()int i,s5=0,x;printf("Input some numbers(between 0 to 4):");scanf("%d",&x);while(x!=-1)if (x>=0&&x<=4)sx+;scanf("%d",&x);for(i=0;i<=4;i+)printf("%d: %dn",i,si);.专业专注.return 1;【程序 14 】从键盘输入两个字符串a 和 b ,要求不用库函数strcat 把串 b 的前五个字符连接到串 a 中;如果 b 的长度小于 5,则把 b 的所有元素都连接到a 中。试编程。参考程序 :#include <stdio.h>#include <
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中物理教师资格证考试课程设计教学设计
- 《青春舞曲》教学设计及说课稿
- 体育室内课奥运会知识教学设计图文稿
- 盲袢综合征的临床护理
- 2025年个人按揭还款合同
- 深圳二轮二阶试卷及答案
- 陕西四级考试卷子及答案
- 北美财富管理的发展及借鉴意义
- 2025铝板幕墙合同示范文本
- 2025年中国刺绣贺卡数据监测报告
- 给水泵检修方案
- 设备出入库管理办法
- KEGG代谢通路中文翻译
- 消火栓月检查表
- GB∕T 17832-2021 银合金首饰 银含量的测定 溴化钾容量法(电位滴定法)
- 低成本自动化的开展与案例77页PPT课件
- 人防工程竣工资料(全套)
- 《电子病历模板》word版参考模板
- (高清版)JGJ123-2012既有建筑地基基础加固技术规范
- 梅州市部分饮用水源保护区调整方案
- “重庆环保”标志说明
评论
0/150
提交评论