刚学C语言,问题求解!
#include<stdio.h>#include<stdlib.h>
我没事喜欢自学一下C语言,前不久写完这个简易计算器程序运行后发现,输入y(或Y)并不能实现计算器的循环,而是在屏幕上显示y字符,按回车直接退出了!看了好久,可能是知识还不够,没能找出原因,请各位大神帮忙指正下,谢谢。下面是程序:
#include<conio.h>
main()
{
int choose;
float data1,data2;
char yes_no;
yes_no='y';
while(yes_no=='y'||yes_no=='Y')
{
//----------------------程序段A--------------------------------------------------------
system("cls");
printf("\n\n");
printf("\t\t********************************************\n");
printf("\t\t* 简易计算器 *\n");
printf("\t\t********************************************\n");
printf("\t\t* 1——加法 *\n");
printf("\t\t* 2——减法 *\n");
printf("\t\t* 3——乘法 *\n");
printf("\t\t* 4——除法 *\n");
printf("\t\t* 0——退出 *\n");
printf("\t\t********************************************\n");
printf(" 请选择运算类型(0--4):");
scanf("%d",&choose);
//-----------------------程序段B---------------------------------------------------
if(choose>=1&&choose<=4)
{
printf("请输入两个运算数(两数之间用空格隔开):");
scanf("%f%f",&data1,&data2);
printf("运算结果为:\n");
}
//----------------------程序段C----------------------------------------------------
switch(choose)
{
case 1: printf("%f+%f=%.2f\n",data1,data2,data1+data2);break;
case 2: printf("%f-%f=%.2f\n",data1,data2,data1-data2);break;
case 3: printf("%f*%f=%.2f\n",data1,data2,data1*data2);break;
case 4:
if(data2==0)
printf("\t\t 除数不能为零!");
else
printf("%f/%f=%.2f\n",data1,data2,data1/data2);break;
case 0: exit(0);
default: printf("\t\t 输入选项错误!\n" );
}
//--------------------------------------------------------------------------
printf("是否继续(输入'y'或'Y'继续)?\n");
scanf("%c",&yes_no);
}
}