#include<stdio.h>
#include<stdlib.h>
int main()
{
float a,b;
char c;
while(c!='n')
{
printf("请输入x的值:");
scanf("%f",&a);
switch(a>=0&&a<20?1:a>=20&&a<50?2:a>=50&&a<60?3:a>=60?4:0)
{ case 1:printf("%f",10+a);break;
case 2:printf("%f",30);break;
case 3:printf("%f",30-3*(a-50));break;
case 4:printf("%f",0);break;
default:printf("输入错误\n");break;
}
printf("\n是否继续?\t是:选;\t否;选!\n请选择:");
getchar();
scanf("%c",&c);
system("cls");
}
return 0;
}
变量c没有初始化,根本无法进入while里面吧
修改如下,供参考:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b;
char c = 'y';
while(c=='y')
{
printf("请输入x的值:");
scanf("%d",&a);
b = (a>=0&&a<20)?1:((a>=20&&a<50)?2:((a>=50&&a<60)?3:(a>=60?4:0)));
switch(b)
{
case 1:printf("%f",(float)10+a);break;
case 2:printf("%f",(float)30); break;
case 3:printf("%f",(float)30-3*(a-50));break;
case 4:printf("%f",(float)0);break;
default:printf("输入错误\n"); break;
}
do{
printf("\n是否继续?\t是:选 'y';\t否;选 'n'\n请选择:");
getchar();
scanf("%c",&c);
}while(c != 'y' && c != 'n');
system("cls");
}
return 0;
}