编号为1, 2, …, n(n<=10)的n名同学玩抽卡牌游戏,每人可抽5张卡牌,其中数字卡牌的点数是1-9,字母卡牌D(Double),D卡牌的点数是最近一次抽中的卡牌的点数乘以2。 请编写一个程序计算各同学抽得卡牌的总点数,输出抽得总点数最小的同学编
时间: 2024-03-25 10:41:41 浏览: 207
.println(fillColor.getRed() + "," + fillColor.getGreen() + "," + fillColor.getBlue());
}
out.close();
}好的,针对这个问题,我可以提供以下的 C 语言程序:
```c
#include <stdio.h>
catch (IOException e) {
e.printStackTrace();
}
}
private void openFromFile() {
try {
BufferedReader in =int main() {
int n;
int cards[10][5];
int points[10];
int min_index = 0 new BufferedReader(new FileReader(fileName));
isDrawingPoly = Boolean.parseBoolean(in.readLine());
if (isDrawingPoly) {
polyCount;
int min_point = 0;
// 输入卡牌
printf("请输入每个人抽到的卡牌:\ = Integer.parseInt(in.readLine());
for (int i = 0; i < polyCount; i++) {
String[] parts =n");
for (int i = 0; i < n; i++) {
printf("第%d个人:", i + in.readLine().split(",");
polyX[i] = Integer.parseInt(parts[0]);
polyY[i] = Integer.parseInt(parts[1 1);
for (int j = 0; j < 5; j++) {
scanf("%d", &cards[i][]);
}
} else {
lineButton.setSelected(Boolean.parseBoolean(in.readLine()));
ovalButton.setSelected(Boolean.parseBoolean(in.readLine()));
j]);
}
}
// 计算点数
for (int i = 0; i < n; i++) {
rectButton.setSelected(Boolean.parseBoolean(in.readLine()));
String[] parts = in.readLine().split(",");
startX = Integer.parseInt(parts[0]);
int last_point = 0;
points[i] = 0;
for (int j = 0; j < 5 startY = Integer.parseInt(parts[1]);
parts = in.readLine().split(",");
endX = Integer.parseInt(parts[0]);
; j++) {
int current_card = cards[i][j];
if (current_card >= 1 && current_card <= 9) {
last_point = current_card;
points[i] += current_card;
} else if (current_card == 'D') {
endY = Integer.parseInt(parts[1]);
parts = in.readLine().split(",");
lineColor = new Color(Integer.parseInt(parts[0 points[i] += (last_point * 2);
}
}
}
// 找到总点数最小的同学]), Integer.parseInt(parts[1]), Integer.parseInt(parts[2]));
parts = in.readLine().split(",");
fillColor = new Color(Integer.parseInt
min_point = points[0];
for (int i = 1; i < n; i++) {
if (points(parts[0]), Integer.parseInt(parts[1]), Integer.parseInt(parts[2]));
}
in.close();
canvas.repaint();
}[i] < min_point) {
min_point = points[i];
min_index = i;
}
}
// 输出结果
catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
SimpleDrawing frame printf("总点数最小的同学是第%d个人,总点数为%d。\n", min_index + = new SimpleDrawing();
frame.setVisible(true);
}
}
```
在这个实现中,我们使用了一个 JPanel 组件1, min_point);
return 0;
}
```
以上程序的思路是:
1. 首先输入每个人抽来作为画布,利用鼠标事件来获取用户的绘图操作,并使用 Graphics2D 对象来实现绘到的卡牌,保存在二维数组 `cards` 中。
2. 然后计算每个人抽得卡牌的总点数,保存在一维数组 `points` 中。具体计算方式是,用变量 `last_point` 记图。同时,我们还添加了一些按钮和下拉列表框来实现颜色的选择和保存、打开文件录上一次抽到的数字卡牌的点数,如果这次抽到的是字母卡牌 D,则点数等功能。这个实现还包括了对图形矢量文件的存储和打开功能,可以将绘制为上一次抽到的数字卡牌点数乘以 2。
3. 最后找到总点数最小的的图形保存到文件中,或者从文件中读取已有的图形。
阅读全文