#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void fengmian();
void xuanze();
int select;
int main()
{
char b;
fengmian();
xuanze();
do{
printf("是否继续?(请输入y or n)\n");
getchar();
scanf("%c",&b);
if(b=='y'){
system("cls");
fengmian();
xuanze();
}
else break;
}while(1==1);
return 0;
}
void xuanze()
{
scanf("%d",&select);
switch (select)
{
case 1:
{
float num1,num2,b;
int a;
a=0;
b=0;
printf("做加法。\n");
printf("输入两个数,加号分隔。\n");
scanf("%f+%f",&num1,&num2);
b=num1+num2-(int(num1+num2));
if(b!=0)
{
printf("结果为:%.3f\n",num1+num2);
}
else
{
a=(int)(num1+num2);
printf("结果为:%d\n",a);
}
break;
}
case 2:
{
float num1,num2,b;
int a;
printf("做减法。\n");
printf("输入两个数,减号分隔。\n");
scanf("%f-%f",&num1,&num2);
b=num1+num2-(int(num1+num2));
if(b!=0)
{
printf("结果为:%.3f\n",num1-num2);
}
else
{
a=(int)(num1-num2);
printf("结果为:%d\n",a);
}
break;
}
case 3:
{
float num1,num2,b;
int a;
printf("做乘法。\n");
printf("输入两个数,乘号分隔。\n");
scanf("%f*%f",&num1,&num2);
b=num1*num2-(int(num1*num2));
if(b!=0)
{
printf("结果为:%.3f\n",num1*num2);
}
else
{
a=(int)(num1*num2);
printf("结果为:%d\n",a);
}
break;
}
case 4:
{
float num1,num2,b;
int a;
printf("做除法。\n");
printf("输入两个数,除号分隔。\n");
scanf("%f/%f",&num1,&num2);
b=num1/num2-(int(num1/num2));
if(b!=0)
{
printf("结果为:%.3f\n",num1/num2);
}
else
{
a=(int)(num1/num2);
printf("结果为:%d\n",a);
}
break;
}
case 5:
{
float r;
double s;
printf("计算圆面积。\n");
printf("请输入半径:\n");
scanf("%f",&r);
if (r >= 0)
{
s=3.14*r*r;
printf("圆面积是:%lf\n",s);
}
else
printf ("半径输入错误!\n");
break;
}
case 6:
{
int year,leap;
printf("判断闰年。\n");
printf("enter year");
scanf("%d",&year);
if((year%4==0&&year%100!=0)||(year%400==0))
leap=1;
else
leap=0;
if(leap)
printf("%d is",year);
else
printf("%d is not",year);
printf(" a leap year\n");
break;
}
case 7:
{
long int num,num_t;
int digits=0,i=1;
printf("判断数字位数。\n");
printf("输入待判断数字:");
scanf("%ld",&num);
num_t=num;
do
digits++;
while((num_t/=10)>0);
printf("%ld是%d位数。\n",num,digits);
while(digits>=i);
{
printf("%ld的第%d位数是:%d\n",num,i,(num/(long)pow(10,(digits-i)))%10);
i++;
}
break;
}
case 8:
{
int n,sum=0,i;
printf("输入一个整数:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
if(i%2!=0)
sum+=i;
printf("从1到输入数之间的奇数和是:%d\n",sum);
break;
}
case 9:
{
int sum,i,n;
i=1;
sum=0;
printf("输入一个整数:\n");
scanf("%d",&n);
while(i<=n)
{
if(i%2==0)
sum+=i;
i++;
}
printf("从1到输入数之间的偶数和是:%d\n",sum);
break;
}
case 10:
{
int n,i,m;
printf("输入两个整数:\n");
scanf("%d,%d",&n,&m);
for(i=n;i<=m;i++)
if(i%3==0&&i%5==0)
{
printf("既能被3整除又能被5整除的数:%d\n",i);
}
break;
}
case 11:
{
int sum,i,m;
i=1;
sum=0;
printf("输入一个整数:\n");
scanf("%d",&m);
do
{
if(i%3==0)
sum+=i;
i++;
}
while(i<=m);
printf("从1到输入数之间所有3的倍数:%d\n",sum);
break;
}
case 12:
{
int i=100;
int a,b,c;
for(i=100;i<1000;i++)
{
a=i/100;
b=(i-a*100)/10;
c=(i-a*100-b*10);
if(a*a*a+b*b*b+c*c*c==i)
{
printf("水仙花数:%d\n",i);
}
}
break;
}
case 13:
{
float a,b;
printf("请输入一个数:");
scanf("%f",&a);
b=sqrt(a);
printf("它的算数平方根:%.3f\n",b);
break;
}
}
}
void fengmian()
{
printf("-------------------------------------------------------------\n");
printf("- 小小计算器 Design By qiancute -\n");
printf("- 1 加法 -\n");
printf("- 2 减法 -\n");
printf("- 3 乘法 -\n");
printf("- 4 除法 -\n");
printf("- 5 圆的面积 -\n");
printf("- 6 判断闰年 -\n");
printf("- 7 计算从1到输入数之间的奇数和 -\n");
printf("- 8 计算从1到输入数之间的偶数和 -\n");
printf(" 9 输出从1到输入数之间所有3的倍数 -\n");
printf("- 10 求即被3整除又被5整除的数 -\n");
printf("- 11 判断数字位数 -\n");
printf("- 12 求水仙花数 -\n");
printf("- 13 求一个数的算数平方根 -\n");
printf("- 输入任意非功能选项序号退出小小计算器 -\n");
printf("-------------------------------------------------\n");
printf("输入菜单项:\n");
}
用C语言做一个简单的计算器
于 2021-12-28 17:20:55 首次发布