C语言常见算法总结

时间:2024.3.31

数据结构:C语言常见算法总结

【1】求最大值与最小值.

#include <stdio.h>

void main()

{

int num[5],max,min,i;

printf(\"请输入5个数字:\")

for(i=0;i<5;i++)

scanf(\"%d\",&amp;num)

max=num[0];

min=num[0];

for(i=1;i<5;i++)

{

if(max<num)

max=num;

if(min>num)

min=num;

}

printf(\"\\n最大值为:%d\",max);

printf(\"\\n最小值为:%d\",min);

}

【2】查找:

#include <stdio.h>

#define N 10

void main()

{

int i;

int num[N],search;

printf(\"请输入%d个数组元素:\\n\",N);

for(i=0;i<N;i++)

{

scanf(\"%d\",&amp;num);

}

printf(\"\\n请输入您要查找的元素:\");

scanf(\"%d\",&amp;search);

for(i=0;i<N;i++)

{

if(num==search)

{

break;

}

}

if(i<N)

printf(\"\\n在数组的第%d个位置找到了数字%d\\n\",search);

printf(\"没有找到\"); } 【3】排序: #include <stdio.h> #define N 5 void main() { int i,j; int grade[N],temp; printf(\"\\n输入%d个数字:\\n\",N); for(i=0;i<N;i++) { scanf(\"%d\",&amp;grade); } for(i=0;i<N;i++) { for(j=0;j<N-i-1;j++) { if(grade[j]<grade[j+1]) { temp=grade[j+1]; grade[j+1]=grade[j]; grade[j]=temp; } } } printf(\"\\n排序后的成绩为:\\n\"); for(i=0;i<N;i++) { printf(\"%d\",grade); } } 【4】插入: #include <stdio.h> #define N 5 void main() { int i,j; int num[N+1]={23,45,60,67,88},in; printf(\"\\n插入前的数组元素:\\n\"); for(i=0;i<N;i++) { printf(\"%d\",num);

printf(\"请输入一个要插入的数:\"); scanf(\"%d\",&amp;in); for(i=0;i<N;i++) { if(num>in)//找到位置并跳出 break; } for(j=N;j>i;j--)//为要插入的数字留出位置 { nm[j]=num[j-1]; } num=in;//将来插入的数保存在该位置 printf(\"\\n插入后的数组元素:\\n\"); for(i=0;i<N+1;i++) { printf(\"%d\",num); } printf(\"\\n\"); } OK,完成.为以后打好基础,一起加油哦.


第二篇:C语言常考算法总结


1 t=1/j与t=1.0/j是不一样的;if(a==3)避免这个错误则应该先写3=a{} 2统计3~100之间的所有素数

#include<math.h>

main()

{

Int n,i,k;

for(n=3;n<100;n+=2)//加二是因为偶数肯定不是素数

{

K=n-1;

for(i=2;i<=k;i++)

if(n%i==0) break;

if(i>=k+1) {printf(“%d”,n)}

}

}

3同构数

是指该数出现在他的平方的右边的数

main()

{

Int j,p;

for(j=1;j<=100;j++)

{

p=j*j;

if(j<10){if(p%10==j) printf(“%d”,j);}

else if(p%100==j) printf(“%d”,j);//因为只是求1~100以内的,所以到此为止 }

}

4水仙花数

main()

{

int p,j,k,n;

for(n=100;n<1000;n++)

{

j=n/100;p=n/10-j*10;k=n%10;

if(n==j*j*j+p*p*p+k*k*k)

printf(“%4d”,n);

}

}

5最大公约数

#include

void main()

{

int n,m,num1,num2,temp;

scanf(“%d,%d”,&num1,&num2);

if(num1<num2) { temp=num1;nm1=num2;num2=temp;} m=num1;n=num2;

while(n!=0) {temp=m%n;m=n;n=temp;}

printf(“最大公约数:%d\n”,m);

printf(“最小公倍数:%d\n”,num1*num2/m) }

更多相关推荐:
C语言算法总结

1.水仙花数:#includestdio.hintmain(){inta,b,c,d;for(a=100;a=999;a++)/*thedataavarifyfrom100to999*/{b=a/100;c=a…

C语言算法总结,非常精辟

C语言算法总结2牛顿迭代求a的平方根思想汇总迭代公式为xn105xnaxn要求前后两次求出的x的差的绝对值小于105算法语句floatax0x1scanffampax0a2dox0x1x1x0ax02循环N次当...

C语言算法全总结

算法Algorithm计算机解题的基本思想方法和步骤算法的描述是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述包括需要什么数据输入什么数据输出什么结果采用什么结构使用什么语句以及如何安排这些语句等通常...

c语言常用算法总结

C语言常用算法模块的总结一最大值最小值问题教材page1316page362423page98例5152二连乘连加问题page113114115page12963page1296465三闰年算法page17pa...

c语言 算法之总结

算法Algorithm是一系列解决问题的清晰指令也就是说能够对一定规范的输入在有限时间内获得所要求的输出如果一个算法有缺陷或不适合于某个问题执行这个算法将不会解决这个问题不同的算法可能用不同的时间空间或效率来完...

c语言排序算法总结(主要是代码实现)

冒泡排序(BubbleSort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。…

C语言常用算法总结

C语言常用算法模块的总结一、最大值,最小值问题教材page13/1.6、page36/2.4(2)、(3)、page98例5.1、5.2二、连乘连加问题page113、114、115page129/6.3pag…

c语言 排序算法总结

排序算法总结选择法排序:for(i=0;i9;i++){max=i;for(j=i+1;j10;j++)if(a[max]a[j])max=j;/*max为查找范围最大数所在元素下标*/if(max!=i)(i…

c语言经典算法

经典算法1.素数#includestdio.h#includemath.hintprime(intn){inti,t;for(i=2;i=sqrt(n);i++)if(n%i==0)return0;return…

C语言求最大公约数和最小公倍数算法总结

C语言求最大公约数和最小公倍数算法总结单位:隆回县职业中等专业学校作者:刘小华摘要:介绍自己通过学习使用C语言求任意两个数的最大公约数和最小公倍数的基本算法思想、算法过程、代码实现以及分析比较。关键词:C语言算…

国二c语言公共基础知识总结

第一章数据结构与算法11算法算法是指解题方案的准确而完整的描述算法不等于程序也不等计算机方法程序的编制不可能优于算法的设计算法的基本特征是一组严谨地定义运算顺序的规则每一个规则都是有效的是明确的此顺序将在有限的...

C语言排序方法总结

C语言排序方法学的排序算法有插入排序合并排序冒泡排序选择排序希尔排序堆排序快速排序计数排序基数排序桶排序没有实现比较一下学习后的心得我不是很清楚他们的时间复杂度也真的不知道他们到底谁快谁慢因为书上的推导我确实只...

c语言算法总结(25篇)