圆柱体的表面积
#include<stdio.h>
#include<math.h>
int main()
{
const double pi=acos(-1.0);
double r,h,s1,s2,s;
scanf("%lf%lf",&r,&h);
s1=pi*r*r;
s2=2*r*pi*h;
s=2.0*s1+s2;
printf("area=%.3f\n", s);
return 0;
}
const double pi=acos(-1.0);
- const关键字表明它的值是不可以改变的,pi是一个真正的数学常数。
尽量用const关键字声明常数
- acos() 是反余弦函数,acos(-1.0)即为π
三位数反转
输入一个三位数,分离出它的百位,十位与个位,反转后输出
#include<stdio.h>
int main()
{
int n,m;
scanf("%d",&n);
m=(n%10)*100+(n/10%10)*10+n/100;
printf("%03d\n", m);
return 0;
}
%md是输出m位的十进制数,不足m位的补空格,超出m位的输出实际位数;
%0md是输出m位的十进制数,不足m为的补0,超出m位的输出实际位数;
交换变量
不借助任何变量的解法(不推荐使用)
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("%d %d\n",a,b);
return 0;
}
三变量法也并非最佳;对于本题而言最合适的程序如下
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d %d\n",b,a);
return 0;
}
鸡兔同笼
已知鸡和兔的总数量为n,总腿数为m,输出鸡的数量和兔子的数量。
分析,设鸡有a只,兔子有b只,那么
a+b=n;2*a+4*b=m;
a=(4n-m)/2; b=n-a;
注意:a和b都必须为非负整数
#include<stdio.h>
int main()
{
int a,b,n,m;
scanf("%d%d",&n,&m);
a=(4*n-m)/2;
b=n-a;
if(m%2==1||a<0||b<0)
printf("no answer\n");
else
printf("%d %d\n",a,b);
return 0;
}
数据类型与输入格式
数据类型实验:
printf("%d\n",11111*11111);//123454321
printf("%d\n",111111*111111);//-539247567
printf("%f\n",111111*111111);//0.000000 printf("%f\n",111111.0*111111.0);//12345654321.000000
printf("%f",sqrt(-10));//-1.#IND00
printf("%f\n",1.0/0.0);//1.#INF00
关于float和double,这里解释的比较清楚:
http://blog.csdn.net/goldstonefeng/article/details/49049537
此处先不深究了
printf("%d\n",0/0);//程序直接终止