|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
*
**
***
****
*****
******
这是课程中的例子,老师用的是 for 嵌套来完成的。我想用 switch...case 来完成,语句如下:
#include<stdio.h>
void main()
{
int i;
i=1;
switch(i)
case 1 :
{printf("*",i++);
printf("\n");break;
}
case 2 :
{printf("**",i++);
printf("\n");break;
}
case 3 :
{printf("***",i++);
printf("\n");break;
}
case 4 :
{printf("****",i++);
printf("\n");break;
}
case 5 :
{printf("*****",i++);
printf("\n");break;
}
case 6 :
{printf("******",i++);
printf("\n");break;
}
}
为什么会出现 :error C2046: illegal case 和 error C2043: illegal break 错误?
1.楼主,switch其实并不是一个训环,你可以把它理解为比if更高级的判断语句,因为输出有5行,所以一定要用到循环语句,这里我们可以使用for(;i<=5;)来让他循环5次
2.修改后的代码,代码使用的是int main(),现在的编译器void main快淘汰了,容易报错
- #include<stdio.h>
- int main()
- {
- int i;
- i=1;
- for(;i<=5;)
- switch(i)
- {
- case 1 :
- {printf("*",i++);
- printf("\n");break;
- }
- case 2 :
- {printf("**",i++);
- printf("\n");break;
- }
- case 3 :
- {printf("***",i++);
- printf("\n");break;
- }
- case 4 :
- {printf("****",i++);
- printf("\n");break;
- }
- case 5 :
- {printf("*****",i++);
- printf("\n");break;
- }
- case 6 :
- {printf("******",i++);
- printf("\n");break;
- }
- }
- return 0;
- }
复制代码
3.可以使用嵌套的for语句改进代码 - #include <stdio.h>
- int main()
- {
- int i,j=1;
- i = 1;
- for(;i<=5;i++)
- {
- for(j=1;j<=i;j++)
- printf("*");
- printf("\n");
- }
- return 0;
- }
复制代码
|
|