帮我答对分全给你

[复制链接]
查看11 | 回复5 | 2005-11-28 14:54:30 | 显示全部楼层 |阅读模式
修改后#include Main(){int x=10,y=5;switch(x){case 1:
x++;
break;case 2:
y--;
break;case 3:
x--;
break;deault:
x+=y;}printf(“x=%d,y=%d”,x,y);}结果为:155不过程序中间应该还有其它的方法,大概就这样子吧!
回复

使用道具 举报

千问 | 2005-11-28 14:54:30 | 显示全部楼层
#include int main(){ int x=10,y=5; switch(x) { case 1: x++; default: x+=y; case '2':y--; case 3: x--; } printf("x=%d,y=%d",x,y); return 0;}x=14 y=4
回复

使用道具 举报

千问 | 2005-11-28 14:54:30 | 显示全部楼层
错了,大家看清楚,除了语法的错误,是没有break的,别给人家乱加break.所以修改掉语法错误,答案为:x=14,y=4
回复

使用道具 举报

千问 | 2005-11-28 14:54:30 | 显示全部楼层
//原题#include Main() //Main()-> main(){float x=10,y=5;
switch(x)
/*swich不能用与float类型,可以强制转成int后使用,后请用大括号 括起来*/
case 1 x++;
/*注意每个case x后都有冒号*/ deault x+=y;
// 原题default拼错了,还有后面有个冒号 case “2” y- -;
/*引号请用英文状态下的, - -中间请不要有空格,case 不能用于字符串,所以这里的引号没必要*/case 3: x- -;
// - -中间请不要有空格 printf(“x=%d,y=%d”,x,y)
//原题这里少了个 分号,引号请用英文状态下的
//要输出float类型请用%f不用%d
}//修改后的程序如下#include main(){float x=10,y=5;
/*定义2个float型的变量x,y并符初值,分别是10和5,隐式转换(int->float)*/
switch((int)x)
/*把float型的x强制转换成int行传入swicth参数中*/ { case 1: x++;
/*如果x等于1则x++,但并不跳出swicth,目前这里因x不等于1。所以x++不会执行,此时x仍是10*/ default: x+=y;
/*如果x都不匹配任何一个case,则x=x+y,根据下面的程序,的确要执行这个
所以,此时,x=10+5=15,y=5,但因没有break,所以程序继续执行下一个case*/ case 2: y--;
/*由于上面没有break,所以要执行y--,之后y由5变成4*/ case 3: x--;
/*同样由于上面没有break,所以要执行x--,之后x由15变成14*/}
printf("x=%f,y=%f",x,y);/*因为用float输出,所以结果为
x=14.000000,y=4.000000*/
}
回复

使用道具 举报

千问 | 2005-11-28 14:54:30 | 显示全部楼层
我来总结一下#include Main(){float x=10,y=5;switch(int(x)){case 1:x++;break;case 2:y--;break;case 3:x--;break;default:x+=y;}printf(“x=%f,y=%f”,x,y);}/*default 和 case 的次序不影响结果*//*case后一定要用break返回不然下面case还会继续执行;*/太难了
回复

使用道具 举报

千问 | 2005-11-28 14:54:30 | 显示全部楼层
#include main(){float x=10,y=5;int n;n=(int)x;switch(n){case 1:
x++;
break;case 2:
y--;
break;case 3:
x--;
break;default :
x+=y;
break;}printf("x=%.0f,y=%.0f",x,y);}你可以直接运行了,应该是15,5,因为我没要小数点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行