C语言简单的23个例子
例
:输入两个数,输出其中的最大者
方法
一:
#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 :
J
输入三个数,输出其最大者
#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");
prin tf("共%4 个数\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;