#include
void main()
{float num,a,b;
printf("请输入x的值:");
scanf("%f,%f",&a,&b);
if (a>=0) {
if (a<=a&&a<5){
b=a-1;
num=1;
}
else if (5<=a&&a<10){
b=a+1;
num=2;
}
}
else num=3;
if (num==1)printf("y的值为%f\n",b);
else if(num==2) printf("y的值为%f\n",b);
else if(num==3) printf("y的值为%f\n",a);
}
首先不知道你函数功能具体要干嘛,if 和else的层可能不对,你要自己判断
然后 switch的参数不允许用浮点类型,直接改成if else的形式就可以了.
最后 switch的语法是
switch( xx){
case 1:
case 2:
default:
}
可以没有default 但是你不能省略这个大括号啊.
#include
void main()
{float a,b;
int num;
printf("请输入x的值:");
scanf("%f,%f",&a,&b);
if (a>=0) {
if(a<=a&&a<5){b=a-1;num=1;}//多于一句时大括号不可省略
else if (5<=a&&a<10){b=a+1;num=2;}//多于一句时大括号不可省略
}
else num=3;
switch(num)//switch()括号中的变量类型需与下面case类型一致,另外大括号不可省
{
case 1:printf("y的值为%f\n",b); break;
case 2:printf("y的值为%f\n",b); break;
case 3:printf("y的值为%f\n",a); break;
}
}
不要乱省大括号
if (a>=0) {
if (a<=a&&a<5) {
b=a-1;
num=1;
}else{
if (5<=a&&a<10){
b=a+1;
num=2;
}
}
}else{
num=3;
}
switch (num){
case 1:printf("y的值为%f\n",b); break;
case 2:printf("y的值为%f\n",b); break;
case 3:printf("y的值为%f\n",a); break;
}
建议:即使是初学者,即使程序写的有错误,至少代码应该写的清晰可读,方便自己也方便别人阅读。至于代码风格,选择你喜欢的就行。
#include
void main()
{
int num;
float a,b;
printf("请输入x的值:");
scanf("%f,%f",&a,&b);
if (a>=0)
{
if (a<=a && a<5)
{
b=a-1;
num=1;
}
else if (5<=a && a<10)
{
b=a+1;
num=2;
}
}
else num=3;
switch (num)
{
case 1:printf("y的值为%f\n",b); break;
case 2:printf("y的值为%f\n",b); break;
case 3:printf("y的值为%f\n",a); break;
}
}
楼主你少加了花括号
还有就是 switch()里的必须是int类型。。。