c语言二级常考算法大全,二级C语言 常用算法.doc
二级C语言 常用算法
C语言常用算法
一、计数、求和、求阶乘等简单算法
此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。
例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。
本题使用数组来处理,用数组a[100]存放产生的确100个随机整数,数组x[10]来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0 的数的个数。即个位是1的个数存放在x[1]中,个位是2的个数存放在x[2]中,……个位是0的个数存放在x[10]。
void main()
{ int a[101],x[11],i,p;
for(i=0;i<=11;i++)
x[i]=0;
for(i=1;i<=100;i++)
{ a[i]=rand() % 100;
printf("%4d",a[i]);
if(i%10==0)printf("\n");
}
for(i=1;i<=100;i++)
{ p=a[i]%10;
if(p==0) p=10;
x[p]=x[p]+1;
}
for(i=1;i<=10;i++)
{ p=i;
if(i==10) p=0;
printf("%d,%d\n",p,x[i]);
}
printf("\n");
}
二、求两个整数的最大公约数、最小公倍数
分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数)
(1) 对于已知两数m,n,使得m>n;
(2) m除以n得余数r;
(3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4);
(4) m←n,n←r,再重复执行(2)。
例如: 求 m=14 ,n=6 的最大公约数. m n r
14 6 2
6 2 0
void main()
{ int nm,r,n,m,t;
printf("please input two numbers:\n");
scanf("%d,%d",&m,&n);
nm=n*m;
if (m
{ t=n; n=m; m=t; }
r=m%n;
while (r!=0)
{ m=n; n=r; r=m%n; }
printf("最大公约数:%d\n",n);
printf("最小公倍数:%d\n",nm/n);
}
三、判断素数
只能被1或本身整除的数称为素数 基本思想:把m作为被除数,将2—INT( )作为除数,如果都除不尽,m就是素数,否则就不是。(可用以下程序段实现)
void main()
{ int m,i,k;
printf("please input a number:\n");
scanf("%d",&m);
k=sqrt(m);
for(i=2;i
if(m%i==0) break;
if(i>=k)
printf("该数是素数");
else
printf("该数不是素数");
}
将其写成一函数,若为素数返回1,不是则返回0
int prime( m%)
{int i,k;
k=sqrt(m);
for(i=2;i
if(m%i==0) return 0;
return 1;
}
四、排序问题
1.选择法排序(升序)
基本思想:
1)对有n个数的序列(存放在数组a(n)中),从中选出最小的数,与第1个数交换位置;
2)除第1 个数外,其余n-1个数中选最小的数,与第2个数交换位置;
3)依次类推,选择了n-1次后,这个数列已按升序排列。
程序代码如下:
void main()
{ int i,j,imin,s,a[10];
printf("\n input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
{ imin=i;
for(j=i+1;j<10;j++)
if(a[imin]>a[j]) imin=j;
if(i!=imin)
{s=a[i]; a[i]=a[imin]; a[imin]=s; }
printf("%d\n",a[i]);
}
}
2.冒泡法排序(升序)
基本思想:(将相邻两个数比较,小的调到前头)
1)有n个数(存放在数组a(n)中),第一趟将每相邻两个数比较,小的调到前头,经n-1次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”;
2)第二趟对余下的n-1个数(最大的数已“沉底”)按上法比较,经n-2次两两相邻比较后得次大的数;
3)依次类推,n个数共进行n-1趟比较,在第j趟中要进行n-j次两两比较。
程序段如下
void main()
{ int a[10];
int i,j,t
c语言二级常考算法大全,二级C语言 常用算法.doc相关推荐
- 浙江省2020年计算机二级题库,2020年9月浙江省计算机二级易考套餐:二级VB考试题库+教材...
  [导读]:2020年9月浙江省计算机二级易考套餐:二级VB考试题库+教材,更多浙江等级考试易考套餐,请访问易考吧浙江等级考试栏目 2020年9月浙江省计算机二级易考 ...
- 安徽省计算机二级VB笔试题,2020年9月安徽省计算机二级易考套餐:二级VB考试题库+教材...
  [导读]:2020年9月安徽省计算机二级易考套餐:二级VB考试题库+教材,更多安徽等级考试易考套餐,请访问易考吧安徽等级考试栏目 2020年9月安徽省计算机二级易考 ...
- 新疆计算机二级慨库,2020新疆维吾尔自治区计算机二级易考套餐:二级MS Office高级应用全程班(网课+题库+教材)...
  [导读]:2020新疆维吾尔自治区计算机二级易考套餐:二级MS Office高级应用全程班(网课+题库+教材),更多新疆等级考试易考套餐,请访问易考吧新疆等级考试栏 ...
- c语言数据结构常考算法,第6讲嵌入式C语言_常见数据结构及算法..docx
/复习结构.联合.枚举 /复习结构.联合.枚举Page 3 GDAIB Embedded C Programming 嵌入式c语言编程--常见数据结构及算法 Data Structure and Ar ...
- 2019浙江计算机二级考试考纲,计算机二级考试大纲(2019全国计算机二级考试大纲)...
2019年计算机二级都考试包括那些什内容是括号里的全都要考还是自己选择一. 计算机二级考试 级别:程序设计,办公软件高级应用级.关键词为空!考核内容:包括计算机语言与基础程序设计能力,要求参试者掌握一 ...
- c语言常考的编程题,C语言操作题常考编程题库
<C语言操作题常考编程题库>由会员分享,可在线阅读,更多相关<C语言操作题常考编程题库(32页珍藏版)>请在人人文库网上搜索. 1.C语言编程题覆盖到的算法:1.个人所得税计算 ...
- 文科学生计算机二级怎么考,文科生计算机二级都考哪些内容?谢谢
文科生计算机二级都考哪些内容?谢谢 來源:互聯網 2011-11-26 12:30:15 評論 一.总体要求 1.掌握计算机基础知识,了解微型计算机系统的基本组成. 2.了解操作系统的基本功能,掌 ...
- c语言常考的程序,复试C语言常考趣味程序方案.doc
复试C语言常考趣味程序方案 狼追兔子 1 巧夺偶数 2 五猴分桃 3 高次方数 4 借书方案 5 过桥问题 6 数制转换 7 打渔晒网 8 喝酒问题 9 哥德巴赫猜想 10 打印日历 11 抓交通肇事 ...
- c语言经典算法大全pdf,c语言经典算法100例pdf版.pdf
c语言经典算法100例pdf版 C 语言经典算法 100 例 C 语言编程经典 100 例 A:[程序1] 题目:有1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程 ...
最新文章
- 【THML】兴唐第二十八节课 几个小程序
- ASP.NET MVC 3中ViewBag, ViewData和 TempData
- 发布Apworks应用开发框架(Alpha版本)
- hihocoder-1615-矩阵游戏II
- mysql 二进制查询_MySql如何插入和查询二进制数据_MySQL
- ActionForm类及表单数据验证
- OpenCV Cut Image via ROI 根据兴趣区域剪裁图片
- Shell 快速指南
- Java IdentityHashMap isEmpty()方法与示例
- 如何推送和播放RTMP H265流 (RTMP HEVC)
- linux生成的pdf文件,把LINUX MAN PAGE生成为PDF文件的脚本
- win7计算机记忆窗口,Win7系统关闭和打开搜索记忆功能的方法(图文教程)
- primefaces_Primefaces命令按钮
- 关于ctf竞赛训练 积累的资料
- JAVA开发一个合并单元格报表_快逸报表动态合并单元格
- 【第144期】游戏策划:恭喜@毛毛团入职游戏策划
- 普渡大学电子和计算机工程专业,2020年普渡大学热门专业
- jinkens搭建及部署项目
- 用IDEA写一个登录系统
- 2017南开秋奥鹏作业计算机,南开17秋学期《DirectX程序设计》在线作业(资料)...