b)max=a;elsemax=b;printf("%d\n",max);return0;}方法二:#include"stdio.h"intmain(){intm,n;scanf("%d%d",&m,&n);printf("%d\n",(m>n)" />

C语言简单的23 个例子

C语言简单的23 个例子
C语言简单的23 个例子

例1.1:输入两个数,输出其中的最大者

方法一:

#include "stdio.h"

int main()

{

int a,b,max;

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

if (a>b) max=a;

else max=b;

printf("%d\n",max);

return 0;

}

方法二:

#include"stdio.h"

int main()

{

int m,n;

scanf("%d %d",&m,&n);

printf("%d\n",(m>n)?m:n);

return 0;

}

例1.2:输入三个数,输出其最大者

#include "stdio.h"

int main()

{

int a,b,c;

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

printf("%d\n",a>b?(a>c?a:c):(b>c?b:c));

return 0;

}

例2:求一个数的绝对值

方法一:

#include "stdio.h"

int main()

{

int a,absa;

printf("enter one number:\n");

scanf("%d",&a);

if (a<0)

absa=-a;

else

absa=a;

printf("|%d|=%d\n",a,absa);

return 0;

}

方法二:

#include"stdio.h"

#include"math.h"

int main()

{

int a;

scanf("%d",&a);

printf("%d\n",abs(a));

return 0;

}

例3:两个数的四则运算

#include "stdio.h"

int main()

{

double x,y;

char op;

printf("输入运算式:\n");

scanf("%lf%c%lf",&x,&op,&y);

switch (op)

{

case '+':printf("%.2f%c%.2f=%.2f\n",x,op,y,x+y);

break;

case '-':printf("%.2f%c%.2f=%.2f\n",x,op,y,x-y);

break;

case '*':printf("%.2f%c%.2f=%.2f\n",x,op,y,x*y);

break;

case '/':

if (y==0)

printf("error!\n");

else

printf("%.2f%c%.2f=%.2f\n",x,op,y,x/y);

break;

default :printf("expression is error!\n");

}

return 0;

}

例4:求N个数的平均数,以-1结束输入,且-1不纳入计算

#include "stdio.h"

int main()

{

int n=0;

double a,sum=0;

while(1)

{

scanf("%lf",&a);

if(a==-1) break;

sum+=a;

n++;

}

printf("%.2f\n",sum/n);

return 0;

}

例5:打印出九九乘法口诀

#include "stdio.h"

int main()

{

int i,j;

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

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

{

printf("%dx%d=%-4d",i,j,i*j);

}

printf("\n");

}

return 0;

}

例6:大小写转换,以数字0结束输入

#include "stdio.h"

int main()

{

char ch;

while(1)

{

scanf("%c",&ch);

if(ch=='0') break;

if(ch>='A'&&ch<='Z')

printf("%c\n",ch+32);

if(ch>='a'&&ch<='z')

printf("%c\n",ch-32);

}

return 0;

}

例7:打印菱形图案

#include "stdio.h"

int main()

{

int i,j,k;

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

{

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

printf(" ");

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

printf("%c",3);

printf("\n");

}

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

{

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

printf(" ");

for (k=0;k<=16-2*i;k++)

printf("%c",3);

printf("\n");

}

return 0;

}

例8:求100以内所有的素数

#include "stdio.h"

#include "math.h"

main()

{

int m,i,k,t=0,j=1,n=0;

printf("%3d:",j);

for (m=2;m<=300;m=m+1)

{

k=(int)sqrt(m);

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

if(m%i==0)

break;

if(i>=k+1)

{

printf("%5d",m);

t++;

if(t%4==0) printf("\n%3d:",++j);

}

}

printf("\n");

return 0;

}

例9:输出Fibonacci数列的前20项及其和(Fibonacci数列:1,1,2,3,5,8,13,21···)

#include "stdio.h"

int main()

{

int i,sum=0,f[20]={1,1};

for (i=2;i<20;i=i+1)

f[i]=f[i-1]+f[i-2];

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

{

printf("%6d",f[i]);

sum=sum+f[i];

if ((i+1)%4==0) printf("\n");

}

printf("sum=%d\n",sum);

return 0;

}

例10:输出各位数均不相同的三位数,及其个数

#include "stdio.h"

int main()

{

int n,i,j,k;

n=0;

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

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

if (k!=i)

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

if(j!=i&&j!=k)

{

n++;

printf("%d ",100*i+10*j+k);

if (n%10==0) printf("\n");

}

printf("\n");

printf("共%d个数\n",n);

return 0;

}

例11:输入一个数,求其阶乘

#include "stdio.h"

int main()

{

int i,s,n;

printf("n=");

scanf("%d",&n);

i=1;

s=2;

while (i<=n)

{

s=s*i;

i=i+1;

}

printf("%d!=%d\n",n,s);

return 0;

}

例12:将一个数分解质因数

#include"stdio.h"

int main()

{

int i,n;

printf("please input numbers:\n");

for(;;)

{

scanf("%d",&n);

printf("%d=",n);

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

{

while(n!=1)

{

if(n%i==0)

{ printf("%d*",i);

n=n/i;

}

else break;

}

}

if(n==1) printf("\b \n");

else printf("%d\n",n);

}

return 0;

}

例13:汉诺塔游戏

#include

void move(char a,char b)

{

static int i=0;

printf("%c-->%c %d\n",a,b,++i);

}

void hanoi(int m,char a,char b,char c)

{

if(m==1) move(a,c);

else

{

hanoi(m-1,a,c,b);

move(a,c);

hanoi(m-1,b,a,c);

}

}

int main()

{

int m;

printf("请输入方块数:");

scanf("%d",&m);

hanoi(m,'A','B','C');

return 0;

}

例14:求一句话中单词的个数

#include

int main()

{

char s[100],c;

int i,temp=0,num=0;

gets(s);

for(i=0;(c=s[i])!='\0';i++)

{

if (c==' ') temp=0;

else if (temp==0)

{

num=num+1;

temp=1;

}

}

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

return 0;

}

例15:水仙花数(三位数,各位数字的三次方之和等于该数)

方法一:

#include "stdio.h"

int main()

{

int i,j,z,n;

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

{

i=n/100;

j=n/10-10*i;

z=n%10;

if(n==i*i*i+j*j*j+z*z*z)

printf("%5d",n);

}

printf("\n");

return 0;

}

方法二:

#include"stdio.h"

int main()

{

int i,j,k;

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

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

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

if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)

printf("%4d",100*i+10*j+k);

printf("\n");

return 0;

}

例16:字符串b在字符串a中出现的次数,b中可以用“?”代替未知字母

#include

#define N 1000

int main()

{

int i,j,m,n,k,x=0;

char a[N],b[N];

gets(a);

gets(b);

for(i=0;a[i]!='\0';i++);

for(j=0;b[j]!='\0';j++);

m=i--;

n=j--;

for(i=0;i<=m-n+1;i++)

{

k=0;

for(j=0;j

if(b[j]=='?') {k=1;continue;}

else if(a[i+j]==b[j]) k=1;

else k=0;

if (k) x++;

}

printf("%d\n",x);

return 0;

}

例17:冒泡排序

#include "stdio.h"

#define N 10

int main()

{

int i,j,t,max,a[N]={1,1,2,3,15,28,133,21,34,777};

int x;

printf("初始数组元素为:");

for (i=0;i

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

printf("\n");

for (i=0;i

for (j=0;j

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

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

printf("从小到大排序后的数组为:");

for (i=0;i

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

return 0;

}

例18:选择排序

#include "stdio.h"

#define N 10

int main()

{

int i,t,j,max,a[N]={1,1,2,3,15,28,133,21,34,777};

int x;

printf("初始数组元素为:");

for (i=0;i

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

printf("\n");

for (i=0;i

{

t=i;

for (j=i+1;i

if (a[j]

if (t!=i) {x=a[t];a[t]=a[i];a[i]=x;}

}

printf("从小到大排序的数组为:");

for (i=0;i

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

printf("\n");

return 0;

}

例19:数组元素的插入

#include "stdio.h"

#define N 10

int main()

{

int i,j,a[N]={1,1,2,3,15,28,133,21,34};

int x;

printf("初始数组元素为:");

for (i=0;i

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

printf("\n");

printf("请输入要插入的下标位置(0-%d):",N-1);

scanf("%d",&i);

printf("请输入要插入的数:");

scanf("%d\n",x);

for (j=N-1;j>i;j--)

a[j]=a[j-1];

a[i]=x;

printf("插入元素之后的数组为:");

for (i=0;i

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

printf("\n");

return 0;

}

例20:数组元素的删除

#include "stdio.h"

#define N 10

int main()

{

int i,j,a[N]={1,1,2,3,15,28,133,21,34,88};

int x;

printf("初始数组元素为:");

for (i=0;i

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

printf("\n");

printf("请输入要删除的下标位置(0-%d)",N-1);

scanf("%d",&i);

for (j=i+1;j

a[j-1]=a[j];

printf("删除后的数组为:");

for (i=0;i

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

printf("\n");

return 0;

}

例21:数组中的最大值

#include "stdio.h"

#define N 10

int main()

{

int i,max,a[N]={1,1,2,3,15,28,133,21,34,777};

int x;

printf("初始数组元素为:");

for (i=0;i

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

printf("\n");

max=a[0];

for (i=1;i

if (a[i]>=max) max=a[i];

printf("数组的最大值是%d\n",max);

return 0;

}

例22:数组中最大值的下标

#include "stdio.h"

#define N 10

int main()

{

int i,max,a[N]={1,1,2,3,15,28,133,21,34,777};

int x;

printf("初始数组元素为:");

for (i=0;i

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

printf("\n");

max=0;

for (i=1;i

if (a[i]>=a[max]) max=i;

printf("数组的最大值的下标是%d\n",max);

return 0;

}

例23:查找数组中特定的元素

#include "stdio.h"

#define N 10

int main()

{

int i,j,t,a[N]={1,1,2,3,15,28,133,21,34,88};

int x;

printf("初始数组元素为:");

for (i=0;i

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

printf("\n");

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

scanf("%d",&x);

t=-1;

for (i=0;i

if (a[i]==x) t=i;

if (t==-1) printf("数组中没有该数!\n");

else printf("该数位于数组的第%d个下标\n",t);

return 0;

}

相关主题
相关文档
最新文档