求C语言常用经典算法

Python010

求C语言常用经典算法,第1张

一个数的各位数之和

#include "stdio.h"

main()

{

int n,sum=0,j

printf("please input n:\n")

scanf("%d",&n)

while(n)

{

j=n%10

n=n/10

sum+=j

}

printf("%d\n",sum)

}

冒泡法排序

#include "stdio.h"

#define MAX 10

int score[MAX]

void bubble()

{

int i,j,tmp

for(i=0i<=MAX-2i++)

{

for(j=0j<MAX-i-1j++)

if(score[j]>score[j+1])

{

tmp=score[j]//前后交换//

score[j]=score[j+1]

score[j+1]=tmp

}

}

}

void main()

{

int i

printf("please input 10 students score1!\n")

for(i=0i<MAXi++)

scanf("%d",&score[i])

bubble()

for(i=0i<MAXi++)

{

printf(" %d",score[i])

if((i+1)%5==0)

printf("\n")

}

}

阶乘

#include "stdafx.h"

#include "stdio.h"

int main()

{

long n,sum=1,i

scanf("%d",&n)

if(n==0||n==1)

sum=1

else

for(i=1i<=ni++)

{

sum*=i

}

printf("%ld\n",sum)

return 0

}

杨辉三角

#include "stdio.h"

int main()

{

int i,j,n,k,a[21][21]//数组的大小,为了节约内存空间,最好不要太大。后面的“n”不要超过这个数,这里最好用宏定义//

for(i=0i<20i++)

{

a[i][0]=1

a[i][i]=1

}

printf("please input n:\n")

scanf("%d",&n)//n不要超过上面的数组大小//

for(i=1i<=n+1i++)

{

for(k=1k<=2*(n-i+1)k++)

printf(" ")

for(j=1j<ij++)

{

a[i][j]=a[i-1][j-1]+a[i-1][j]

printf("%4d",a[i-2][j-1])

}

printf("\n")

}

return 0

}

100--999水仙花数

#include "stdio.h"

int main()

{

int num,a,b,c

for(num=100num<=999num++)

{

a=num/100

b=num/10%10

c=num%10

if(a*a*a+b*b*b+c*c*c==num)

printf("%4d\n",num)

}

return 0

}

判断素数

#include "stdio.h"

#include "math.h"

int main()

{

int n,i

printf("please input N:\n")

scanf("%d",&n)

for(i=2i<=sqrt(n+1)i++)

{

if(n%i==0)

break

}

if(i>sqrt(n+1))

printf("%d是素数!\n",n)

else

printf("n不是素数!\n")

return 0

}

//我做出来了。

//输入:A1,A3,A2,A8,A7,A6,A5,A4

//输出:A1,A2,A3,A4,A5,A6,A7,A8

//只是对输入的字串长度限制在100以内。

#include "stdio.h"

int main( )

{

char str1[100]

//输入字符串

printf("请输入字符串:")

scanf("%s",str1)

//对字符串分组

char str[50][3]

char *p=str1

int i=0,j=0

for(*p!='\0'p++)

{

if(*p!=',')

{

str[i][j]=*p

j++

}

else

{

str[i][j]='\0'

i++

j=0

}

}

str[i][j]='\0'

i++

j=0

//对字串排序

for(j=0j<ij++)

for(int k=j+1k<ik++)

{

if(str[j][1]>str[k][1])

{

char temp

temp=str[j][0]

str[j][0]=str[k][0]

str[k][0]=temp

temp=str[j][1]

str[j][1]=str[k][1]

str[k][1]=temp

}

}

//复制排序好的字串

p=str1

for(j=0j<ij++)

{

*p=str[j][0]

p++

*p=str[j][1]

p++

if(j<i-1)

{

*p=','

p++

}

}

*p='\0'

//输出排序好的字串

printf("排序后的符串:%s",str1)

printf("\n")

}

c语言是计算机的高级语言。

高级语言相对于机器语言(machine language,是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据)而言。

是高度封装了的编程语言,与低级语言相对。它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。

扩展资料:

高级语言的好处:

1、高级语言接近算法语言,易学、易掌握,一般工程技术人员只要几周时间的培训就可以胜任程序员的工作;

2、高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;

3、高级语言远离机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好,重用率高.

C语言的特点:

1、C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

2、C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

参考资料来源:百度百科--高级语言

参考资料来源:百度百科--C语言