admin 管理员组

文章数量: 1086019


2024年4月29日发(作者:python获取断言结果)

c语言程序设计

学习资料 2009-03-07 20:39:16 阅读37 评论0 字号:大中小 订阅

/*计算e=1+1/2+1/(1+2)+'''''+1/(1+2+''''+n)*/

#include

void main()

{

double f(int n);

int a,j;

double all=0;

scanf("%d",&a);

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

all=all+f(j);

printf("%lf n",all);

printf("n");

}

double f(int n)

{

int sum=0,i;

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

sum=sum+i;

return(1.0/sum);

}

/*输入A~Z内的人一个字母,循环输出*/(方法二)

#include

void main()

{

void copy(char s[],int n,char D);

char c1;

char c[54]={' ',};

scanf("%c",&c1);

copy(c,54,c1);

printf("%s n",c);

}

void copy(char s[],int n,char D)

{

int i,j;

for(i=65,j=0;i<=D&&j<(D-64);i++,j++)

{

s[j]=i;

}

for(i=D-1,j=D-64;i>=65&&j<(2*D-129);i--,j++)

s[j]=i;

}

/*输入A~Z内的人一个字母,循环输出*/(方法一)

#include

char cop(char ch)

{

int i,j;

for(i='A';i<=ch;i++)

printf("%c",i);

for(j=ch-1;j>=A;j--)

printf("%c",j);

}

void main()

{

char ch1;

printf("input a char:n");

scanf("%c",&ch1);

cop(ch1);

}

/*输出由1、2、3、4构成的不重复的三位数*/

#include

#define N 4

int comp(int m,int n,int p)

{

int flag;

if((m!=n)&&(m!=p)&&(n!=p))

return(flag=1);

else

return(flag=0);

}

void main()

{

int i,j,k,a[N];

printf("input %d numbers:n",N);

for(i=0;i

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

printf("n");

for(i=0;i

for(j=0;j

for(k=0;k

{

if(comp(a[i],a[j],a[k])==1)

printf("%d%d%d ",a[i],a[j],a[k]);

}

}

/*购物满多少元打多少折*/

#include

void main()

{

int m;

double n;

scanf("%d",&m);

if(m>=10000)

n=m*0.8;

else if(m>=8000&&m<=9999)

n=m*0.85;

else if(m>=5000&&m<=7999)

n=m*0.9;

else if(m>=1000&&m<=4999)

n=m*0.95;

else

n=m;

printf("%lf n",n);

}

/*输入一个成绩,判断其所在等级和分数段并输出*/

#include

void main()

{

char grade;

float score;

scanf("%f",&score);

if(score>=90)

grade='A';

if(score>=80&&score<=89)

grade='B';

if(score>=70&&score<=79)

grade='C';

if(score>=60&&score<=69)

grade='D';

if(score<60)

grade='E';

switch(grade)

{

case'A':printf("'A' >=90n");break;

case'B':printf("'B' [80,89]n");break;

case'C':printf("'C' [70,79]n");break;

case'D':printf("'D' [60,69]n");break;

case'E':printf("'E' <60n");break;

}

}

/*若两个数的平方大于100,输出平方和;反之,输出量数之和*/

#include

void main()

{

int a,b,c,d;

scanf("%d%d",&a,&b);

c=a*a+b*b;

d=a+b;

if(c>100)

printf("%dn",c);

else

printf("%dn",d);

}

/*选择法排序*/

#include

void main()

{

int a[10];

int i,j,k,t;

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

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

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

{

k=i;

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

if(a[j]

k=j;

t=a[k];

a[k]=a[i];

a[i]=t;

}

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

printf("%d ",a[i]);

printf("n");

}

/*利用递归法求n!*/

#include

void main()

{

int f(int n);

int a;

long c;

scanf("%d",&a);

c=f(a);

printf("%d!=%ld n",a,c);

}

int f(int n)

{

int m;

if(n<0)

printf("it's error!n");

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

m=1;

else if(n>1)

m=n*f(n-1);

return(m);

}

/*实验题:利用插入法排序,调用函数*/

#include

#define N 5

void main()

{

void sort(int b[],int X);

int i,p[N];

for(i=0;i

scanf("%d",&p[i]);

sort(p,N);

for(i=0;i

printf("%d ",p[i]);

printf("n");

}

void sort(int b[],int x)

{

void insert(int a[],int n,int m);

int i;

for(i=1;i

insert(b,i+1,b[i]);

}

void insert(int a[],int n,int m)

{

int i,j,sum;

if(m>a[n-2])

a[n-1]=m;

for(i=0;i

if(a[i]>m)

{

sum=m;

for(j=n-2;j>=i;j--)

a[j+1]=a[j];

a[i]=sum;

break;

}

}

/*冒泡法排序*/

#include

void main()

{

int a[10];

int i,j,t;

printf("input 10 numbers:n");

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

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

printf("n");

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

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

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("the sorted numbers:n");

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

printf("%d ",a[i]);

printf("n");

}

/*将二维数组行列互换*/

#include

void main()

{

int a[2][3]={{1,2,3},{4,5,6}};

int b[3][2],i,j;

printf("array a:n");

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

{

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

{

printf("%d",a[i][j]);

b[j][i]=a[i][j];

}

printf("n");

}

printf("array b:n");

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

{

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

printf("%d",b[i][j]);

printf("n");

}

}

/*找出数组中的最大和最小的数*/(有问题)

#include

#define N 5

void main()

{

int a[N];

int i;

int max,min;

for(i=0;i

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

for(i=1;i

{

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

{

max=a[0];

a[0]=a[i];

a[i]=max;

}

else if(a[i]

{

min=a[0];

a[0]=a[i];

a[i]=min;

}

}

printf("max=%d min=%d",max,min);

printf("n");

}

/*选择法排序*/(有问题)

#include

#define N 5

void main()

{

int a[N],i,j,min,t;

for(i=0;i

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

for(i=0;i

{

min=a[i];

for(j=i+1;j

if(min>a[j])

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

}

for(i=0;i

printf("%d ",a[i]);

}

/*在输入的字符串中寻找一个元素*/(有问题)

#include

#define N 10

void main()

{

int f(char a[],int n,char m,int i);

char b[N],c;

int j;

scanf("%s n",b);

scanf("%c",&c);

for(j=0;j

if(f(b,N,c,j)==1)

printf("%c %d",c,j+1);

else

printf("%c is not in this array!n",c);

}

int f(char a[],int n,char m,int i)

{

int flag;

for(i=0;i

if(m=a[i])

{

return(flag=1);

}

else

return(flag=0);

}

/*找出1~1000内的完数*/(注意关系和赋值的区别“==”&“=”)

#include

void main()

{

int f(int n);

int i;

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

{

if(f(i)==1)

printf("%5d",i);

}

printf("n");

}

int f(int n)

{

int flag;

int sum=0,i;

for(i=1;i

{

if((n%i)==0)

sum=sum+i;

}

if(sum==n)

flag=1;

else if(sum!=n)

flag=0;

return(flag);

}


本文标签: 输出 排序 利用