吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1046|回复: 17
收起左侧

[讨论] C语言程序设计求助

[复制链接]
澄叔 发表于 2022-12-17 19:12
题目如图
迫不得已发个照片。
发帖目的:求个思路
QQ图片20221217191041.jpg

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

liyitong 发表于 2022-12-17 19:24
本帖最后由 liyitong 于 2022-12-17 19:52 编辑

你是来抄答案的吧?
这需要什么思路?直接按照题目要求硬怼就行了,不需要算法和什么技巧。
——————————
你这是期末大作业吧?
Yron 发表于 2022-12-17 19:43
字典吧,如果没记错

免费评分

参与人数 1吾爱币 +1 收起 理由
liyitong + 1 C语言没有字典结构,最后还是麻烦结构体的。

查看全部评分

 楼主| 澄叔 发表于 2022-12-17 19:52
 楼主| 澄叔 发表于 2022-12-17 20:07
liyitong 发表于 2022-12-17 19:24
你是来抄答案的吧?
这需要什么思路?直接按照题目要求硬怼就行了,不需要算法和什么技巧。
—————— ...

巨巨救救我吧
1Eleven1 发表于 2022-12-17 20:22
定义一个结构体,字段有姓名、行程、健康码等要求的信息,定义一个结构体数组存放刚才定义的结构体,并用表上信息实例化结构体数组,随机将某结构体成员对应字段改为阳性,按上面的规则写个循环修改结构体数组里的数据就行了

免费评分

参与人数 1热心值 +1 收起 理由
liyitong + 1 我很赞同!

查看全部评分

ThemanRonin 发表于 2022-12-17 20:24
注册个chatGPT帮你写吧
纸莺鸢梦 发表于 2022-12-17 20:37
数据库可以用文件操作来实现,其他的定义好结构体即可
cnv587 发表于 2022-12-17 20:50
我怀疑这就是你的期末作业。。。
liyitong 发表于 2022-12-17 21:31
[C] 纯文本查看 复制代码
#include <stdio.h>
#include <string.h>
#define t "阴性"
#define f "阳性"
#define g "绿码"
#define r "红码"
#define y "黄码"
typedef struct geren 
{
	int id;
	char name[7];
	char shangwu;
	char xiawu;
	char hesuan[7];
	char xcm[7];
} xinxijieguo;
xinxijieguo xinxi[10]={{1} };
int create_geren(int id, char *name, char swxc, char xwxx, char *hesuan, char *xcm, int position)
{
	xinxi[position].id = id;
	strcpy(xinxi[position].name, name);
	xinxi[position].shangwu = swxc;
	xinxi[position].xiawu = xwxx;
	strcpy(xinxi[position].hesuan, hesuan);
	strcpy(xinxi[position].xcm, xcm);
	return 0;
}
int create_all(char *s)
{
	create_geren(1,"name1",'A','B',t,g,0);
	create_geren(2,"name2",'C','D',t,g,1);
	create_geren(3,"name3",'E','F',t,g,2);
	create_geren(4,"name4",'A','D',t,g,3);
	create_geren(5,"name5",'B','E',t,g,4);
	create_geren(6,"name6",'F','A',t,g,5);
	create_geren(7,"name7",'C','F',t,g,6);
	create_geren(8,"name8",'E','B',t,g,7);
	create_geren(9,"name9",'E','D',t,g,8);
	create_geren(10,"name10",'A','C',t,g,9);
	return puts(s);
}
int show_biaoti()
{
	return 	printf("%5s %7s %9s %9s %9s %7s\n", "编号","姓名","上午行程","下午行程", "核酸信息","行程码");

}
int show(xinxijieguo xinxi[10], int bianhao=10, int tag=0)
{
	int i=0;
	if ( tag)
	{
		while (i<10)
			{	
				if (xinxi[i].id==bianhao)
				{
					printf("%5d %7s %9c %9c %9s %7s\n", xinxi[i].id, xinxi[i].name , xinxi[i].shangwu , xinxi[i].xiawu , xinxi[i].hesuan , xinxi[i].xcm);
					return i;
				}
				i++;
			}	
	}
	while (i<10)
	{	
		if (xinxi[i].id)
		{
			printf("%5d %7s %9c %9c %9s %7s\n", xinxi[i].id, xinxi[i].name , xinxi[i].shangwu , xinxi[i].xiawu , xinxi[i].hesuan , xinxi[i].xcm);
		}
		i++;
	}
	return i;
}
int suiji_yang(int bianhao) //第一问,随机阳一个
{
	if (bianhao>10 || bianhao<1)
	{
		return puts("未找到对应信息。");
	}
	else
	{
		show_biaoti();
		strcpy(xinxi[bianhao-1].hesuan, f);
		strcpy(xinxi[bianhao-1].xcm, r);
		return show(xinxi, bianhao, 1);//参数1表示只显示bianhao所在的一行
	}
}
int mijie_huangma(int bianhao) //第二问,行程码变黄
{
	puts("同一时间去过同一地点的情况: ");
	show_biaoti();
	int i=0;
	while(i<10)
	{
		if (xinxi[i].shangwu==xinxi[bianhao-1].shangwu || xinxi[i].xiawu==xinxi[bianhao-1].xiawu) 
		{
			strcpy(xinxi[i].xcm, y);
			show(xinxi, i+1 ,1);
		}
		i++;
	}	
	return i;
}
int yangzhuanyin(int bianhao) //第三问,阴性转绿码,同行程都转
{ //其实就是改一下第二问的处理结果
	if (strcmp(xinxi[bianhao-1].hesuan,t)==0)
	{
		return puts("当前对象是阴性,无法执行阳转阴操作。");
	}
	show_biaoti();
	int i=0;
	while(i<10)
	{
		if (xinxi[i].shangwu==xinxi[bianhao-1].shangwu || xinxi[i].xiawu==xinxi[bianhao-1].xiawu) 
		{
			strcpy(xinxi[i].hesuan, t);
			strcpy(xinxi[i].xcm, g);
			//show(xinxi, i+1 ,1);
		}
		i++;
	}	
	show(xinxi,10);
	return i;
}

int main()
{	
	int bianhao2,bianhao3;
	create_all("一共创建了10组数据。");
	show(xinxi);
	printf("属于一个1-10之间的整数:  ");
	scanf("%d",&bianhao2);
	suiji_yang(bianhao2);
	mijie_huangma(bianhao2);
	printf("属于要阳转阴的编号:  ");
	scanf("%d",&bianhao3);
	yangzhuanyin(bianhao3);
	//printf("%s %s %s %s %s\n",t,f,g,r,y);
	return 0;
}
微信截图_20221217212922.png
这两天居家养病,烧迷糊了,今天有点好转,做个题恢复恢复感觉。
题目不难,但是非常考验基础。没有什么高端操作,不需要设计分析算法。
结构体遍历字符串比较即可解决所有问题。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 04:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表