题目
执行以下程序,输入-10的结果是( ),输入5的结果是( ),输入10的结果是( ),输入30的结果是( )。#include <;stdio.h>;main()( int x,c,m;float y;scanf("%d",&x);if (x<;0) c=-1;else c= x/10;switch (c){case-1:y=0;break;case 0:y=x;break;case 1:y=10;break;case 2:case 3:y=-0.5*x+20;break;default:y=-2; )if (y!=-2) printf("y=%gn",y);else printf("errorn");}
执行以下程序,输入-10的结果是( ),输入5的结果是( ),输入10的结果是( ),输入30的结果是( )。#include <;stdio.h>;main(){ int x,c,m;float y;scanf("%d",&x);if (x<;0) c=-1;else c= x/10;switch (c){case-1:y=0;break;case 0:y=x;break;case 1:y=10;break;case 2:case 3:y=-0.5*x+20;break;default:y=-2; }if (y!=-2) printf("y=%g\n",y);else printf("error\n");}
题目解答
答案
y=0#y=5#y=10#y=5
解析
步骤 1:输入-10
输入-10时,x<0,因此c=-1。根据switch语句,c=-1时,y=0。因此,输出y=0。
步骤 2:输入5
输入5时,x>=0,因此c=x/10=0。根据switch语句,c=0时,y=x=5。因此,输出y=5。
步骤 3:输入10
输入10时,x>=0,因此c=x/10=1。根据switch语句,c=1时,y=10。因此,输出y=10。
步骤 4:输入30
输入30时,x>=0,因此c=x/10=3。根据switch语句,c=3时,y=-0.5*x+20=-0.5*30+20=-15+20=5。因此,输出y=5。
输入-10时,x<0,因此c=-1。根据switch语句,c=-1时,y=0。因此,输出y=0。
步骤 2:输入5
输入5时,x>=0,因此c=x/10=0。根据switch语句,c=0时,y=x=5。因此,输出y=5。
步骤 3:输入10
输入10时,x>=0,因此c=x/10=1。根据switch语句,c=1时,y=10。因此,输出y=10。
步骤 4:输入30
输入30时,x>=0,因此c=x/10=3。根据switch语句,c=3时,y=-0.5*x+20=-0.5*30+20=-15+20=5。因此,输出y=5。