1218 正方形还是圆形

  • Post author:
  • Post category:其他




题目描述



首先从键盘读入一个浮点数x,然后再读入一个小写字母(s或c),如果读入的字母是s,则计算并输出正方形面积(此时x作为边长);如果读入的字母是c,则计算并输出圆面积(此时x作为半径)。



输入要求




输入一个浮点数和一个小写字母(s或c),假设不会出现其他字母。数字和字母紧挨着输入,中间不要加空格。



输出要求




根据输入的字母为s或c,决定输出正方形面积或是圆面积,保留2位小数。



输入样例


2s



输出样例


4.00



提示


圆周率取3.14。

#include<cstdio>
#include<cstring>
int main()
{
	char a[1000];
	gets(a);
	int n=strlen(a);
	int i,j,zll=0;
	float sum=0,num=0;
	for(i=0;i<n-1;i++){//小数点前的整数部分。 
		if(a[i]!='.'){
			sum=sum*10+(a[i]-'0');
			zll++;
		}
		else
		{
			zll=i;
			break;
		}
	}
	if(a[zll]=='.'){//小数点后小数部分。 
		for(j=n-2;j>zll;j--){
			num=num*0.1+(a[j]-'0');
		}
		num=num*0.1;
	}
	float x=num+sum;//整数小数部分相加。 
	if(a[n-1]=='s'){
		printf("%.2f\n",x*x);
	}
	else
	{
		printf("%.2f\n",3.14*x*x);
	}
}



版权声明:本文为weixin_62659979原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。