C语言入门之常用算法简介(下载)

1. 两个数对换:t=a;a=b;b=t;

2. 三个数比较大小(最大)

if(a

{t=a;a=b;b=t;}

if(a

{t=a;a=c;c=t;}

printf(“%d”,a);

3. 三个数排序(由小到大)

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

printf(“%d,%d,%d”,a,b,c);

4. 多个数找最大(小)值

max=a[0];

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

{

if(a[i]>max)

max=a[i];

}

printf(“%d”,max);

5. 累加(考虑求偶数和,3的倍数和等)

long int s=0;

int k;

for(k=1;k<=1000;k++)

s=s+k;

6. 累乘

long int s=1;

int k;

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

s=s*k;

正负倒换用f=f*(-1)

7. 素数一个数在[2,sqrt(x)]范围内没有因子,我们就称其为素数(质数)

循环变量终值法

#include

#include

void main()

{

int x,k;

scanf(“%d”,&x);

for(k=2;k<=sqrt(x);k++)

if(x%k==0) break;

if(k>sqrt(x))

printf(“%d is a prime”,x);

else printf(“%d isn’t a prime”,x);

}

考虑输出300以内所有素数

8. 枚举法

逐个检验每个解

有多少无重复三位数?

num=0;

for(x=100;x<=999;x++)

{

a=x/100;b=x/10%10;c=x%10;

if(a/!=b&&a!=c&&b!=c)

num++;

}

printf(“%d”,num);

9. 斐波那契数列

输出前20项斐波那契数列

void main()

{

long int f1=1,f2=1,f3;

int k;

printf(“%d%d”,f1,f2);

for(k=3;k<=20;k++)

{

f3=f1+f2;

printf(“%d”,f3);

f1=f2;f2=f3;

}

}

考虑从第十项开始输出,以及与斐波那契数列有关的加减乘除

10. 求200以内被19整除的最大数

for(x=200;x>=1;x–)

if(x%19==0) break;

printf(“x=%d”,x);

 

11. 逆序输出一个整数(考虑还有什么方法)

long int y,n;

scanf(“%ld”,&y);

while(y!=0)

{

n=y%10;

printf(“%ld”,n);

y=y/10;

}

考虑怎样输出该数为几位数

12. 逆序输出一个数组

int i,a[10];

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

scanf(“%d”,&a[i]);

for(i=9;i>=0;i–)

printf(“%d”,a[i]);

13. 冒泡排序(从小到大)

n个数要比较n-1趟,而在第j趟比较中,要进行n-j次两两比较

int a[8],i,j,t;

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

scanf(“%d”,&a[i]);

for(j=0;j<7;j++)

for(i=0;i<8-j;i++)

if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}

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

printf(“%d”,a[i]);

14. 选择法排序(从小到大)

比出最小的放到最前面,下次比较跳过此数

int a[8],i,j,t;

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

scanf(“%d”,&a[i]);

for(j=0;j<7;j++)

for(i=j+1;i<8;i++)

if(a[j]>a[i])

{

t=a[j];a[j]=a[i];a[i]=t;

}

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

printf(“%d”,a[i]);

15. 计字符串中字母、数字等的个数

int a,b,c,d,i=0;

char ch[80];

gets(ch);

while(ch[i]!=’\0′)

{

i++;

if((ch[i]>=’a’&&ch[i]<=’z’)||(ch[i]>=’A’&&ch[i]<=’Z’)) a++;

else if(ch[i]>=’0’&&ch[i]<=’9′) b++;

else if(ch[i]==’ ‘) c++;

else d++;

}

printf…

本章下载

关于 i塔尖

  i塔尖是福大、厦大、福师大、安徽师大在校生创立的学习资源分享公众号,在运营理念上,我们始终秉持着为用户创造价值,为用户提供高质量的学习资源。目前我们用户增长很快,“i塔尖”也得到了大家的认可,每天的互动也很频繁密集。感谢大家的支持!如果您需要学习资源,只要您在微信回复我们你需要的资源,我们就会在12小时内给你回复,省却您去网上找资源的时间,方便您的学习和 生活。我们是公益性的项目,加入我们团队或者给我们提意见和建议,请发邮件到itajian@qq.com,感谢您的支持。

C语言入门之常用算法简介(下载)

北京交通大学学生考试试题B.pdf

2018-7-30 17:21:53

机器学习导论-上海交大 张志华

2018-2-6 11:08:04

搜索