c语言程序分类总结_c语言程序设计总结

其他工作总结 时间:2020-02-27 11:11:47 收藏本文下载本文
【www.daodoc.com - 其他工作总结】

c语言程序分类总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序设计总结”。

一、选择排序法:

1、函数方法: #include void main(){void sort(int array[],int n);int a[10],i;printf(“enter array:n”);for(i=0;i

scanf(“%d”,&a[i]);sort(a,10);printf(“The sorted array:n”);for(i=0;i

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

void sort(int array[],int n){int i,j,k,t;

for(i=0;i

{k=i;

for(j=i+1;j

if(array[j]

k=j;

t=array[k];array[k]=array[i];array[i]=t;} }

2、数组方法:实验6_1 #include void main(){int i,j,min,temp,a[11];

printf(“enter data:n”);

for(i=1;i

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

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

}

printf(“n”);

printf(“The orginal numbers:n”);

for(i=1;i

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

printf(“n”);

for(i=1;i

{min=i;

for(j=i+1;ja[j])min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

printf(“nThe sorted numbers:n”);

for(i=1;i

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

printf(“n”);}

3、指针方法:(教材209 例题8.9)#include void main(){void sort(int x[ ],int n);int *p,i,a[10];p=a;for(i=0;i

scanf(“%d”,p++);p=a;sort(p,10);for(p=a,i=0;i

{printf(“%d ”,*p);p++;} printf(“n”);}

void sort(int x[],int n){int i,j,k,t;

for(i=0;i

{k=i;

for(j=i+1;j

if(x[j]>x[k])k=j;

if(k!=i)

{t=x[i];x[i]=x[k];x[k]=t;}

} }

二、素数算法:

1、筛选法求素数(教辅41.1题)#include #include void main(){int i,j,n,a[101];

for(i=1;i

a[i]=i;

a[1]=0;

for(i=2;i

for(j=i+1;j

{if(a[i]!=0 && a[j]!=0)

if(a[j]%a[i]==0)

a[j]=0;

}

printf(“n”);

for(i=2,n=0;i

{ if(a[i]!=0)

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

n++;

}

if(n==10)

{printf(“n”);

n=0;

}

}

printf(“n”);}

2、(1)For循环方法: #include #include void main(){int m,i,k;

printf(“please enter a integer number:”);

scanf(“%d”,&m);

k=sqrt(m);

for(i=2;i

if(m%i==0)break;

if(i>k)printf(“%d is a prime number.n”,m);

else printf(“%d is not a prime number.n”,m);}

(2)求100~200之间素数: # include # include void main(){int m,k,i,n=0;

for(m=101;m

{ k=sqrt(m);

for(i=2;i

if(m%i==0)break;

if(i>=k+1)

{printf(“%d ”,m);

n=n+1;

}

if(n%10==0)printf(“n”);

}

printf(“n”);}

3、函数方法:实验7_1(教辅63.3题)#include void main(){int prime(int);

int n;

printf(“ninput an integer:”);

scanf(“%d”,&n);

if(prime(n))

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

else

printf(“n %d is not a prime.n”,n);}

int prime(int n)

{int flag=1,i;

for(i=2;i

if(n%i==0)

flag=0;

return(flag);

}

三、最值问题:

1、函数方法,两个数比较大小(教材144.例题7.2)#include void main(){ int max(int x,int y);

int a,b,c;

scanf(“%d,%d”,&a,&b);

c=max(a,b);

printf(“max is %dn”,c);}

int max(int x,int y){

int z;

z=x>y?x:y;

return(z);}

2、二维数组,求出其中值最大的那个元素值:(教材123.例题6.5)#include void main(){int i,j,row=0,colum=0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};

max=a[0][0];

for(i=0;i

for(j=0;j

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

{max=a[i][j];

row=i;

colum=j;

}

printf(“max=%d,row=%d,colum=%dn”,max,row,colum);}

3、有三个字符串,要求找出其中最大者(教材136.例题6.9)#include #include void main(){

char string[20];

char str[3][20];

int i;

for(i=0;i

gets(str[i]);

if(strcmp(str[0],str[1])>0)

strcpy(string,str[0]);

else

strcpy(string,str[1]);

if(strcmp(str[2],string)>0)

strcpy(string,str[2]);

printf(“nthe largest string is:n%sn”,string);}

4、函数方法,四个整数,找出最大值:(教材152.例题7.5)#include void main(){ int max_4(int a,int b,int c,int d);

int a,b,c,d,max;

printf(“Please enter 4 interger numbers:”);

scanf(“%d %d %d %d”,&a,&b,&c,&d);

max=max_4(a,b,c,d);

printf(“max=%d n”,max);}

int max_4(int a,int b,int c,int d){int max_2(int a,int b);int m;

m=max_2(a,b);m=max_2(m,c);m=max_2(m,d);return(m);}

int max_2(int a,int b)

这也可以这么写 int max_2(int a,int b){return(a>b?a:b);

{if(a>b)return a;}

else

return b;}

四、辗转相除问题:(最大公约数最小公倍数问题)

1、一般法,求最大公约数和最小公倍数(教辅26页,第一题)#include void main(){

int p,r,n,m,temp;

printf(“请输入两个正整数n,m:”);

scanf(“%d,%d,”,&n,&m);

if(n

{

temp=n;

n=m;

m=temp;

}

p=n*m;

while(m!=0)

{

r=n%m;

n=m;

m=r;

}

printf(“它们的最大公约数为:%dn”,n);

printf(“它们的最小公约数为:%dn”,p/n);}

2、函数法: void main(){int hcf(int,int);

int lcd(int,int,int);

int u,v,h,l;

scanf(“%d,%d”,&u,&v);

h=hcf(u,v);

printf(“H.C.F=%dn”,h);

l=lcd(u,v,h);

printf(“L.C.D=%dn”,l);}

int hcf(int u,int v){int t,r;if(v>u)

{t=u;u=v;v=t;} while((r=u%v)!=0)

{u=v;

v=r;} return(v);}

int lcd(int u,int v,int h)

{

return(u*v/h);

}

五、有关指针的实验题:

1、实验9-1(输入3个整数,由小到大的顺序排列)(1)#include void main(){ void swap(int *p1,int *p2);int n1,n2,n3;int *p1,*p2,*p3;printf(“input three integer n1,n2,n3:”);scanf(“%d,%d,%d”,&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf(“Now,the order is:%d,%d,%dn”,n1,n2,n3);}

void swap(int *p1,int *p2)

{int p;

p=*p1;*p1=*p2;*p2=p;

}(2)#include #include void main(){void swap(char *,char *);char str1[20],str2[20],str3[20];printf(“input three line:n”);gets(str1);gets(str2);gets(str3);if(strcmp(str1,str2)>0)swap(str1,str2);if(strcmp(str1,str3)>0)swap(str1,str3);if(strcmp(str2,str3)>0)swap(str2,str3);printf(“Now,the order is:n”);printf(“%sn%sn%sn”,str1,str2,str3);}

void swap(char *p1,char *p2){char p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}

2、实验9_2(将n个数,输入时顺序的逆序排列)#include void main(){void sort(char *p,int m);int i,n;char *p,num[20];printf(“input n:”);scanf(“%d”,&n);printf(“please input these numbers:n”);for(i=0;i

scanf(“%d”,&num[i]);p=&num[0];sort(p,n);printf(“Now,the sequence is:n”);for(i=0;i

printf(“%d ”,num[i]);printf(“n”);}

void sort(char *p,int m){int i;char temp, *p1,*p2;for(i=0;i

{p1=p+i;

p2=p+(m-1-i);

temp=*p1;

*p1=*p2;

*p2=temp;

} }

3、实验9_3(写一函数,求一个字符长度)#include void main(){int length(char *p);int len;char str[20];printf(“input string: ”);scanf(“%s”,str);len=length(str);printf(“The length of string is %d.n”,len);}

int length(char *p)

{int n;n=0;while(*p!='')

{n++;

p++;

} return(n);}

下载c语言程序分类总结word格式文档
下载c语言程序分类总结.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文