用c语言实现华山门票价格表如下所示: 成人:120元张 在校学生:60元张 老人、小孩、军人:0元张 高考学生:0元张 编写程序,输入购票群体类别对应整数(1234),打印相应的票价。
时间: 2024-03-26 15:40:59 浏览: 9
好的,我可以为您编写这个程序。以下是使用C语言编写的解决方案:
```c
#include <stdio.h>
int main() {
int choice;
printf("请输入购票群体类别对应的整数:\n");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("成人票价为:120元/张\n");
break;
case 2:
printf("在校学生票价为:60元/张\n");
break;
case 3:
printf("老人、小孩、军人票价为:0元/张\n");
break;
case 4:
printf("高考学生票价为:0元/张\n");
break;
default:
printf("输入错误,请输入1~4的整数。\n");
break;
}
return 0;
}
```
您只需要运行该程序并输入相应的整数,它将根据您的选择打印出相应的门票价格。请记得输入1~4的整数,否则程序将提示输入错误。
相关问题
c语言程序设计:取1元,2元和5元纸币共10张,凑整18元,共有几种方法?(用n表示)
这是一道典型的组合数学的问题,可以使用枚举和循环结构来解决。
我们可以使用三重循环,分别枚举1元、2元和5元纸币的张数,然后判断总金额是否为18元,如果是,则计数器加一。
C语言程序如下:
```c
#include <stdio.h>
int main() {
int n = 0; // 计数器
int i, j, k; // 分别表示1元、2元和5元纸币的张数
for (i = 0; i <= 10; i++) { // 枚举1元纸币的张数
for (j = 0; j <= 10 - i; j++) { // 枚举2元纸币的张数
k = 10 - i - j; // 计算5元纸币的张数
if (i + 2 * j + 5 * k == 18) { // 判断总金额是否为18元
n++; // 计数器加一
}
}
}
printf("共有%d种方法\n", n);
return 0;
}
```
输出结果为共有 26 种方法。
支付方法:取1元、2元和5元纸币共10张,凑整18元,共有几种方法?(用n表示)C语言
这是一个经典的硬币找零问题,可以用动态规划来解决。以下是用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int n[19] = {0}; // 初始化数组,n[i]表示凑i元的方法数
n[0] = 1; // 凑0元只有1种方法,就是什么都不选
for (int i = 0; i < 10; i++) {
for (int j = 18; j >= 0; j--) {
for (int k = 1; k <= 5 && k <= j; k++) {
n[j] += n[j - k]; // 更新凑j元的方法数
}
}
}
printf("共有%d种方法。\n", n[18]); // 输出凑18元的方法数
return 0;
}
```
这个程序的时间复杂度为O(10*19*5)=O(950),可以在短时间内得出结果。