#include <stdio.h>
#include <string.h>

#define MAX_CANDIDATES 3

typedef struct {
    char name[20];
    int votes;
} Candidate;

int main() {
    Candidate candidates[MAX_CANDIDATES];
    int i, j;
    char vote[20];

    // 初始化候选人信息
    strcpy(candidates[0].name, 'Candidate 1');
    candidates[0].votes = 0;
    strcpy(candidates[1].name, 'Candidate 2');
    candidates[1].votes = 0;
    strcpy(candidates[2].name, 'Candidate 3');
    candidates[2].votes = 0;

    printf('请输入候选人的名字(输入0结束):\n');

    // 循环输入候选人得票情况
    while (1) {
        printf('请输入候选人的名字:');
        scanf('%s', vote);

        // 输入0则结束输入
        if (strcmp(vote, '0') == 0) {
            break;
        }

        // 查找候选人并增加得票数
        for (i = 0; i < MAX_CANDIDATES; i++) {
            if (strcmp(vote, candidates[i].name) == 0) {
                candidates[i].votes++;
                break;
            }
        }

        // 输入的候选人不存在
        if (i == MAX_CANDIDATES) {
            printf('输入的候选人不存在,请重新输入。\n');
        }
    }

    // 输出每一个人的得票结果
    printf('候选人得票情况:\n');
    for (i = 0; i < MAX_CANDIDATES; i++) {
        printf('%s: %d 票\n', candidates[i].name, candidates[i].votes);
    }

    return 0;
}

在这个代码中,我们定义了一个Candidate结构体,包含候选人的名字和得票数。然后使用一个数组candidates来存储3个候选人的信息。

首先,我们初始化了候选人的信息。然后通过一个循环,输入每一个候选人的得票情况,直到输入0结束。在输入过程中,我们通过循环查找输入的候选人名字是否存在,如果存在则增加相应候选人的得票数,如果不存在则提示重新输入。

最后,我们通过循环输出每一个候选人的得票结果。

C语言实现候选人投票统计:代码示例及解析

原文地址: http://www.cveoy.top/t/topic/f4mo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录