C语言写一个按照姓名统计快递的函数
这里是一个简单的C语言函数,用于按照姓名统计快递:
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 50
#define MAX_RECORDS 100
typedef struct {
char name[MAX_NAME_LEN];
int count;
} Record;
void count_deliveries(Record records[], int* num_records, char* name) {
int i;
for (i = 0; i < *num_records; i++) {
if (strcmp(records[i].name, name) == 0) {
records[i].count++;
return;
}
}
if (*num_records < MAX_RECORDS) {
strcpy(records[*num_records].name, name);
records[*num_records].count = 1;
(*num_records)++;
}
}
int main() {
Record records[MAX_RECORDS];
int num_records = 0;
count_deliveries(records, &num_records, "John");
count_deliveries(records, &num_records, "Mary");
count_deliveries(records, &num_records, "John");
count_deliveries(records, &num_records, "Mary");
count_deliveries(records, &num_records, "Peter");
int i;
for (i = 0; i < num_records; i++) {
printf("%s: %d\n", records[i].name, records[i].count);
}
return 0;
}
这个函数使用结构体来记录每个人的姓名和快递数量。count_deliveries函数接受一个记录数组,记录数和一个姓名字符串作为参数。它遍历记录数组,如果找到一个与给定姓名相同的记录,则将其计数器加1。否则,如果记录数未达到最大值,则将新记录添加到数组中。
在主函数中,我们使用count_deliveries函数来记录几个人的快递数量,并使用循环打印每个人的姓名和计数
原文地址: https://www.cveoy.top/t/topic/htP0 著作权归作者所有。请勿转载和采集!