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;
}
方法二:
#includestdio.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;
}
方法二:
#includestdio.h #includemath.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;
牰湩晴尨输入运算式:\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;
}
不纳入计算-1结束输入,且-1个数的平均数,以N:求4例
#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(\
);
}
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(\
);
}
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(\
);
}
return 0;
}
例8:求100以内所有的素数
#include stdio.h #include math.h
main()
{
int m,i,k,t=0,j=1,n=0;
printf(=:,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(],m);
t++;
if(t%4==0) printf(\
=:,++j);
}
}
printf(\
);
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(m,f[i]);
sum=sum+f[i];
if ((i+1)%4==0) printf(\
);
}
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_x0010_==0) printf(\
);
}
printf(\
);
牰湩晴尨共%d个数\n,n);
return 0;
}
例11:输入一个数,求其阶乘
#include stdio.h
int main()
{
int i,s,n;
printf(
=);
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:将一个数分解质因数#includestdio.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(\ \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()
{