我有一段如下所示的 ada 代码,它是一个简单的 switch case 语句。是否有更好的方法将其转换为 C。
for I in 1..100 loop
case I is
when 100 =>
Dollars := Dollars + 1;
when 25|50|75 =>
Quarters := Quarters + 1;
when 10|20|30|40|60|70|80|90 =>
Dimes := Dimes + 1;
when 5|15|35|45|55|65|85|95 =>
Nickles := Nickles + 1;
when others =>
Pennies := Pennies + 1;
end case;
end loop;
现在通过为 case 中的每个值添加 switch 和 case,我可以进行这种转换,但似乎你让代码太大了。有没有其他简单紧凑的方法。如果问题不清楚?
最佳答案
尝试:
for(i=1;i<=100;i++) {
if(i == 100) {
dollars++;
}else if(i % 25 == 0) {
quarters ++;
}else if(i % 10 == 0) {
dimes ++;
}else if(i % 5 == 0) {
nickles ++;
}else{
pennies ++;
}
}
关于将 ada 代码转换为其 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2697947/