C语言程序设计计算器C语言程序.docx
- 文档编号:5796697
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:25
- 大小:19.40KB
C语言程序设计计算器C语言程序.docx
《C语言程序设计计算器C语言程序.docx》由会员分享,可在线阅读,更多相关《C语言程序设计计算器C语言程序.docx(25页珍藏版)》请在冰豆网上搜索。
C语言程序设计计算器C语言程序
#include
#include
intmain()
{
voidtop();
voidno1(),no2(),no3(),no4(),no5(),no6(),no7(),no8(),no9(),no10(),no11(),no12(),no13(),no14(),no15(),no16(),no17(),no18(),no19(),no20(),no21(),no22(),no23(),no24(),no25();
voidmenu();
intk=1;charm;
charselect;
while
(1)
{system("cls");//清屏
menu();
system("color0a");//绿化
scanf("%c",&select);
switch(select)
{
case'a':
no1();break;
case'b':
no2();break;
case'c':
no3();break;
case'd':
no4();break;
case'e':
no5();break;
case'f':
no6();break;
case'g':
no7();break;
case'h':
no8();break;
case'i':
no9();break;
case'j':
no10();break;
case'k':
no11();break;
case'l':
no12();break;
case'm':
no13();break;
case'n':
no14();break;
case'o':
no15();break;
case'p':
no16();break;
case'q':
no17();break;
case'r':
no18();break;
case's':
no19();break;
case't':
no20();break;
case'u':
no21();break;
case'v':
no22();break;
case'w':
no23();break;
case'x':
no24();break;
}
scanf("%d",&k);
if(k==0)break;
if(k==1){printf("\n");}
}
return0;
}
voidmenu()
{
//printf("\n老师您好!
我是通信2班的陈国昌学号201130095092\n\n");
printf("请键入字母选择功能,按其他键退出:
\n\n");
printf("a.整数加法h.小数乘法o.八转十六v.二进制加法运算\n\n");
printf("b.整数减法i.小数除法p.十进转二w.二进制减法运算\n\n");
printf("c.整数乘法j.二进转八q.十进转八x.二进制原补反码\n\n");
printf("d.整数除法k.二进转十r.十转十六\n\n");
printf("e.整除求余l.二转十六s.十六转二\n\n");
printf("f.小数加法m.八进转二t.十六转八\n\n");
printf("g.小数减法n.八进转十u.十六转十\n");
}
voidno1()
{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];
while(k==1){
printf("整数加法,请输入第一个数:
\n");
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
\n");k=1;break;}}}
k=1;
while(k==1){
printf("请输入第二个数:
\n");
scanf("%s",rem);
for(i=0;rem[i]!
=0;i++)
{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
");k=1;break;}}}
printf("%d+%d=%d\n",sum1,sum2,sum1+sum2);
printf("键入1键继续,键入0键退出.\n");
}
voidno2()
{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];
while(k==1){
printf("整数减法,请输入第一个数:
\n");
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
\n");k=1;break;}}}
k=1;
while(k==1){
printf("请输入第二个数:
\n");
scanf("%s",rem);
for(i=0;rem[i]!
=0;i++)
{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
");k=1;break;}}}
printf("%d-%d=%d\n",sum1,sum2,sum1-sum2);
printf("键入1键继续,键入0键退出.\n");
}
voidno3()
{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];
while(k==1){
printf("整数乘法,请输入第一个数:
\n");
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
\n");k=1;break;}}}
k=1;
while(k==1){
printf("请输入第二个数:
\n");
scanf("%s",rem);
for(i=0;rem[i]!
=0;i++)
{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
");k=1;break;}}}
printf("%d*%d=%d\n",sum1,sum2,sum1*sum2);
printf("键入1键继续,键入0键退出.\n");
}
voidno4()
{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];
while(k==1){
printf("整数除法,请输入第一个数:
\n");
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
\n");k=1;break;}}}
k=1;
while(k==1){
printf("请输入第二个数:
\n");
scanf("%s",rem);
for(i=0;rem[i]!
=0;i++)
{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
");k=1;break;}}}
printf("%d/%d=%d\n",sum1,sum2,sum1/sum2);
printf("键入1键继续,键入0键退出.\n");
}
voidno5()
{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];
while(k==1){
printf("整除求余,请输入第一个数:
\n");
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
\n");k=1;break;}}}
k=1;
while(k==1){
printf("请输入第二个数:
\n");
scanf("%s",rem);
for(i=0;rem[i]!
=0;i++)
{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}
else{printf("输入错误,输入的只能是0…9的数字,请重新输入:
");k=1;break;}}}
i=sum1/sum2;
printf("%d除%d商为%d余数为%d\n",sum1,sum2,sum1/sum2,sum1-i);
printf("键入1键继续,键入0键退出.\n");
}
voidno6()
{
floatx,y;
printf("小数加法,请输入第一个数:
\n");
scanf("%f",&x);
printf("请输入第二个数:
\n");
scanf("%f",&y);
printf("%5.2f+%5.2f=%5.3f\n\n",x,y,x+y);
printf("键入1键继续,键入0键退出.\n");
}
voidno7()
{
floatx,y;
printf("小数减法,请输入第一个数:
\n");
scanf("%f",&x);
printf("请输入第二个数:
\n");
scanf("%f",&y);
printf("%5.2f-%5.2f=%5.3f\n\n",x,y,x-y);
printf("键入1键继续,键入0键退出.\n");
}
voidno8()
{
floatx,y;
printf("小数乘法,请输入第一个数:
\n");
scanf("%f",&x);
printf("请输入第二个数:
\n");
scanf("%f",&y);
printf("%5.2f*%5.2f=%5.3f\n\n",x,y,x*y);
printf("键入1键继续,键入0键退出.\n");
}
voidno9()
{
floatx,y;
printf("小数除法,请输入第一个数:
\n");
scanf("%f",&x);
printf("请输入第二个数:
\n");
scanf("%f",&y);
printf("%5.2f/%5.2f=%5.3f\n\n",x,y,x/y);
printf("键入1键继续,键入0键退出.\n");
}
voidno10()
{
inti,j,k=1,sum=0;charnum[20],rem[20];
printf("二进转八,请输入二进制数组:
\n");
while(k==1){
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{
if(num[i]!
='0'&&num[i]!
='1'){printf("输入错误,输入的只能是0和1,请重新输入:
\n");k=1;break;}
else{sum=sum*2+num[i]-48;k=0;}
}}
for(j=0;j<=20;j++)
{
rem[j]=sum%8;
if(sum<=7){rem[j]=sum;break;}
else{sum=sum-sum%8;i=sum/8;sum=i;}
}
printf("二进制数组:
");
for(i=0;num[i]!
=0;i++)
{
printf("%d",num[i]-48);
}
printf("的八进制表示为:
");
for(i=j;i>=0;i--)
{
printf("%d",rem[i]);
}
printf("\n键入1键继续,键入0键退出.\n");
}
voidno11()
{
inti,j,k=1,sum=0;charnum[20],rem[20];
printf("二进转十,请输入二进制数组:
\n");
while(k==1){
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{
if(num[i]!
='0'&&num[i]!
='1'){printf("输入错误,输入的只能是0和1,请重新输入:
\n");k=1;break;}
else{sum=sum*2+num[i]-48;k=0;}
}}
for(j=0;j<=20;j++)
{
rem[j]=sum%10;
if(sum<=9){rem[j]=sum;break;}
else{sum=sum-sum%10;i=sum/10;sum=i;}
}
printf("二进制数组:
");
for(i=0;num[i]!
=0;i++)
{
printf("%d",num[i]-48);
}
printf("的十进制表示为:
");
for(i=j;i>=0;i--)
{
printf("%d",rem[i]);
}
printf("\n键入1键继续,键入0键退出.\n");
}voidno12()
{
inti,j,k=1,sum=0;charnum[20],rem[20];
printf("二转十六,请输入二进制数组:
\n");
while(k==1){
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{
if(num[i]!
='0'&&num[i]!
='1'){printf("输入错误,输入的只能是0和1,请重新输入:
\n");k=1;break;}
else{sum=sum*2+num[i]-48;k=0;}
}}
for(j=0;j<=20;j++)
{
rem[j]=sum%16;
if(sum<=15){rem[j]=sum;break;}
else{sum=sum-sum%16;i=sum/16;sum=i;}
}
printf("二进制数组:
");
for(i=0;num[i]!
=0;i++)
{
printf("%d",num[i]-48);
}
printf("的十六进制表示为:
");
for(i=j;i>=0;i--)
{
if(rem[i]>9&&rem[i]<16){printf("%c",rem[i]+55);}
else{printf("%d",rem[i]);}
}
printf("\n键入1键继续,键入0键退出.\n");
}
voidno13()
{
inti,j,k=1,sum=0;charnum[20],rem[20];
printf("八进转二,请输入八进制数组:
\n");
while(k==1){
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{
if(num[i]<56&&num[i]>47){sum=sum*8+num[i]-48;k=0;}
else{printf("输入错误,输入的只能为0…7的数字,请重新输入:
\n");k=1;break;}
}}
for(j=0;j<=20;j++)
{
rem[j]=sum%2;
if(sum<=1){rem[j]=sum;break;}
else{sum=sum-sum%2;i=sum/2;sum=i;}
}
printf("八进制数组:
");
for(i=0;num[i]!
=0;i++)
{
printf("%d",num[i]-48);
}
printf("的二进制表示为:
");
for(i=j;i>=0;i--)
{
printf("%d",rem[i]);
}
printf("\n键入1键继续,键入0键退出.\n");
}
voidno14()
{
inti,j,k=1,sum=0;charnum[20],rem[20];
printf("八进转十,请输入八进制数组:
\n");
while(k==1){
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{
if(num[i]<56&&num[i]>47){sum=sum*8+num[i]-48;k=0;}
else{printf("输入错误,输入的只能为0…7的数字,请重新输入:
\n");k=1;break;}
}}
for(j=0;j<=20;j++)
{
rem[j]=sum%10;
if(sum<=9){rem[j]=sum;break;}
else{sum=sum-sum%10;i=sum/10;sum=i;}
}
printf("八进制数组:
");
for(i=0;num[i]!
=0;i++)
{
printf("%d",num[i]-48);
}
printf("的十进制表示为:
");
for(i=j;i>=0;i--)
{
printf("%d",rem[i]);
}
printf("\n键入1键继续,键入0键退出.\n");
}
voidno15()
{
inti,j,k=1,sum=0;charnum[20],rem[20];
printf("八转十六,请输入八进制数组:
\n");
while(k==1){
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{
if(num[i]<56&&num[i]>47){sum=sum*8+num[i]-48;k=0;}
else{printf("输入错误,输入的只能为0…7的数字,请重新输入:
\n");k=1;break;}
}}
for(j=0;j<=20;j++)
{
rem[j]=sum%16;
if(sum<=15){rem[j]=sum;break;}
else{sum=sum-sum%16;i=sum/16;sum=i;}
}
printf("八进制数组:
");
for(i=0;num[i]!
=0;i++)
{
printf("%d",num[i]-48);
}
printf("的十六进制表示为:
");
for(i=j;i>=0;i--)
{
if(rem[i]>9&&rem[i]<16){printf("%c",rem[i]+55);}
else{printf("%d",rem[i]);}
}
printf("\n键入1键继续,键入0键退出.\n");
}
voidno16()
{
inti,j,k=1,sum=0;charnum[20],rem[20];
printf("十进转二,请输入十进制数组:
\n");
while(k==1){
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{
if(num[i]<58&&num[i]>47){sum=sum*10+num[i]-48;k=0;}
else{printf("输入错误,输入的只能为0…9的数字,请重新输入:
\n");k=1;break;}
}}
for(j=0;j<=20;j++)
{
rem[j]=sum%2;
if(sum<=1){rem[j]=sum;break;}
else{sum=sum-sum%2;i=sum/2;sum=i;}
}
printf("十进制数组:
");
for(i=0;num[i]!
=0;i++)
{
printf("%d",num[i]-48);
}
printf("的二进制表示为:
");
for(i=j;i>=0;i--)
{
printf("%d",rem[i]);
}
printf("\n键入1键继续,键入0键退出.\n");
}
voidno17()
{
inti,j,k=1,sum=0;charnum[20],rem[20];
printf("十进转八,请输入十进制数组:
\n");
while(k==1){
scanf("%s",num);
for(i=0;num[i]!
=0;i++)
{
if(num[i]<58&&num[i]>47){sum=sum*10+num[i]-48;k=0;}
else{printf("输入错误,输入的只能为0…9的数字,请重新输入:
\n");k=1;break;}
}}
for(j=0;j<=20;j++)
{
rem[j]=sum%8;
if(sum<=7){rem[j]=sum;break;}
else{sum=sum-sum%8;i=sum/8;sum=i;}
}
printf("十进制数组:
");
for(i=0;num[i]!
=0;i++)
{
printf("%d",num[i]-48);
}
printf("的八进制表示为:
");
for(i=j;i>=0;i--)
{
printf("%d",rem[i]);
}
printf("\n键入1键继续,键入0键退出.\n");
}
voidno18(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 计算器 语言 程序