来知道电脑站

您的位置: 主页>编程> c语言程序设计

c语言程序设计

 wang_yxbs 

c语言程序设计


计算圆的面积和周长输入圆的半径r和运算标志符m,按照运算标志符进行指定计算当m等于‘s'时,只计算圆的面积,当m等于‘c’时,只计算圆的周长,当m等于'a'时则圆的面积和周长都计算。

#include <stdio.h>

void main ()
{
double r,L,S;
char m,c,s,a;
printf ("the radius of the circle=");
scanf ("%f",&r);
printf ("m=");
scanf ("%f",&m);


if (m=='s')
S=3.14*r*r;
printf ("S=%5.2f ",S);

else if (m=='c')
L=2*3.14*r;
printf ("L=%5.2f ",L);

else (m=='a')
S=3.14*r*r;
L=2*3.14*r;
printf ("S=%5.2f ",S);
printf ("L=%5.2f ",L);
}
上面的是我编写的程序可是执行不出来请高手知道谢谢 !!

解决方法



哈哈,你仔细看看,开头是有错
开头你把r和m分定义为double,char类型,而到了要输入它的时候却都变成了单复点类型了,你写成%f,其实应该分别写为%d和%c才活:
double r,L,S;
char m,c,s,a;
printf ("the radius of the circle=");
scanf("%d",&r);
printf ("m=",m);
scanf ("%c",&m);

1.m开始定义为char类型,而你scanf()里面写的是"%f"
2.其实不需要再定义a了,else语句后面 是不需要写条件的,如果不用的a话,在这种情况下,在不选择L,S的前提下,就直接可以输入L,S了
3.还有就是if语句执行的知识它以后的第一句话,可以直接写成:
if(m=='S')
{
printf("S=%5.2f",S=3.14*r*r);
}
其他的if语句都是这样的
4.我建议在定义double类型的语句时,最好用"%lf",这样保险些.
虽然在printf()中double和float都是用"lf",但在sanf()中,double必须用
"lf",而float用的是"f".

第一:上面第二个scanf()语句的m定义出错。
第二:其实这样的程序用if语句易出错,如果用swicth语句就好多了。

上一篇:怎样学好VBA语言?    下一篇:哪里有“微机原理与汇编语言程序设计”类的视频教程下载

编程相关文章

编程热门文章

编程推荐文章