改错int time,c1,c2; //定义变量类型 scanf("%d",&time); //双引号里可以是其他数据类型,&符号一定不能忘 c1=0.6*time; //第一种计费 c2=0.4*time+50 ; //第二种计费 if(c1>c2) printf("GSM"); else if (c1==c2 ) printf("equal"); else (c1<c2); printf("Easyown") ; return 0; }
时间: 2023-10-04 20:08:32 浏览: 31
将第三个判断条件改为 `else if (c1<c2)`,因为 `else` 本身就是一个没有条件的默认情况,不需要再加判断条件。同时,由于 `c1` 和 `c2` 都是整型变量,所以在计算 `c1=0.6*time` 和 `c2=0.4*time+50` 时需要注意数据类型转换,可以将其中一个常量改为浮点型,例如 `c1=0.6*time` 改为 `c1=0.6f*time`。修改后的代码如下:
```
int time, c1, c2;
scanf("%d", &time);
c1 = 0.6f * time;
c2 = 0.4f * time + 50;
if (c1 > c2)
printf("GSM");
else if (c1 == c2)
printf("equal");
else if (c1 < c2)
printf("Easyown");
return 0;
```
相关问题
int x; char y; scanf(“%d %c”,&x,&y); //赋值123 51时,%d和%c之间要用符号隔开
感谢您的指正!您是正确的,在scanf函数中,格式字符串"%d %c"中的%d和%c之间需要用空格或其他分隔符(如逗号)隔开。这样,当输入"123 51"时,scanf函数将会将数字部分"123"赋给变量x,字符部分"5"赋给变量y。
非常抱歉之前的回答有误,非常感谢您的纠正!如果还有其他问题,请随时提问。
scanf_s("%c%c",&c1,&c2);
scanf_s("%c%c",&c1,&c2); 是一个输入函数,用于从用户输入中读取两个字符。%c表示读取一个字符,并将其赋值给对应的变量。根据引用中的描述,scanf_s("%d%c",&a,&b)读取%d之后再读%c可能会发生问题。根据引用中的描述,%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。根据引用中的描述,可能会发生格式字符串与参数类型不匹配的错误。