题目描述
首先从键盘读入一个浮点数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 版权协议,转载请附上原文出处链接和本声明。