当前位置:首页 » 编程语言 » 流感C语言

流感C语言

发布时间: 2022-09-27 15:03:15

c语言利用递归 解决流感传染问题

#include<stdlib.h>
#include<malloc.h>
#include<memory.h>

//感染函数输入参数:
//room:房间现状
//n:房间行列数
//p:感染者所在房间序号
voidinfect(char*room,intn,intp)
{
if(p<0)return;
if(p>=n*n)return;

inta[4];
a[0]=p-1;
a[1]=p+1;
a[2]=p+n;
a[3]=p-n;
p%=n;
if(p==0)a[0]=-1;
if(p==n-1)a[1]=-1;
if(a[2]>=n*n)a[2]=-1;
if(a[3]<0)a[3]=-1;

for(p=0;p<4;++p)
{
n=a[p];
if(n==-1)continue;
//如果该房间住着健康的人,则感染
if(room[n]=='.')room[n]='@';
}
}

//用来显示第m天的宿舍状态
voidprint(constchar*room,intn,intm)
{
inti,j;
printf("第%d天宿舍状态: ",m);
for(j=0;j<n;++j)
{
for(i=0;i<n;++i)printf("%c",*room++);
printf(" ");
}

}

intprocess(constchar*filename)
{
intn;//房间行列数
char*room;//房间
intm;//m天

FILE*f;
if(NULL==(f=fopen(filename,"r")))return-1;//文件打开失败

//读取房间行列数
charbuf[1000];
if(NULL==fgets(buf,sizeof(buf),f))return-2;//读取行列数失败
if(1!=sscanf(buf,"%d",&n))return-2;
if(n<=0)return-3;//房间行列数n不合法

//读取房间现状
room=(char*)malloc(n*n);//为房间分配内存
inti;
char*temp;
for(i=0,temp=room;i<n;++i,temp+=n)
{
if(NULL==fgets(buf,sizeof(buf),f))
{
free(room);
return-4;//读取读取房间现状有误
}
memcpy(temp,buf,n);
}

//对房间现状进行合法性分析
for(i=n*n,temp=room;i;--i,++temp)
{
if(*temp=='.')continue;
if(*temp=='@')continue;
if(*temp=='#')continue;
return-5;//房间现状不合法
}

//读取m值
if(NULL==fgets(buf,sizeof(buf),f))return-6;//读取m失败
if(1!=sscanf(buf,"%d",&m))return-6;//读取m失败
if(m<0)return-7;//m不合法

fclose(f);

intj;
char*ROOM;//用来备份房间现状
ROOM=(char*)malloc(n*n);
print(room,n,0);

for(j=0;j<m;++j)
{
memcpy(ROOM,room,n*n);//备份房间现状
for(i=n*n,temp=ROOM;i;--i,++temp)
{
if(*temp!='@')continue;
//开始感染前后左右的房间
infect(room,n,temp-ROOM);
}
print(room,n,j+1);
}

for(i=n*n,j=0,temp=room;i;--i,++temp)
if(*temp=='@')++j;
printf("%d ",j);
free(room);
free(ROOM);
return0;
}

intmain(intargc,char*argv[])
{
intret;
if(argc<=1)
{
printf("用法:infectfilename ");
return0;
}

ret=process(argv[1]);
switch(ret)
{
case-1:printf("文件%s打开失败。 ",argv[1]); break;
case-2:printf("读取房间行列数失败。 "); break;
case-3:printf("房间行列数不合法。 "); break;
case-4:printf("读取读取房间现状有误。 "); break;
case-5:printf("房间现状不合法。 "); break;
case-6:printf("读取m失败。 "); break;
case-7:printf("m不合法。 "); break;
}
return0;
}

/*
以下是测试文件内容:假定为test.txt
5
....#
.#.@.
.#@..
#....
.....
4
以下是执行程序后的显示:
第0天宿舍状态:
....#
.#.@.
.#@..
#....
.....
第1天宿舍状态:
...@#
.#@@@
.#@@.
#.@..
.....
第2天宿舍状态:
..@@#
.#@@@
.#@@@
#@@@.
..@..
第3天宿舍状态:
.@@@#
.#@@@
.#@@@
#@@@@
.@@@.
第4天宿舍状态:
@@@@#
.#@@@
.#@@@
#@@@@
@@@@@
19
*/

⑵ 小鸡1元3只,公鸡3元1只,母鸡5元1只,你有100元买100只鸡

设公鸡有X只,母鸡有Y只,小鸡有Z只,则可得方程:
5X+3Y+Z/3=100 A
X+Y+Z=100 B
3A-B得
7X+4Y=100
这个方程是多解方程,由方程可知X必定为偶数,设X=2,4,6,8,10,12,14,分别代入,可知X=4,8,12时符合方程和实际情况,故这题有三解,分别是
X=4,Y=18,Z=78
X=8,Y=11,Z=81
X=12,Y=4,Z=84
如用C语言的FOR循环来编,示例如下:

#include <stdio.h>
main()
{
int x, y, z;
for (x=0; x<20; x++)
for (y=0; y<33; y++)
{
z=100-x-y;
if ((z%3==0)&&(5*x+3*y+z/3==100))
printf("cock=%d\t hen=%d\t chicken=%d\n", x, y, z);
}
}

谢谢

⑶ 蠕虫攻击~~~很厉害~~~~

病毒、蠕虫和特洛伊木马是可导致您的计算机和计算机上的信息损坏的恶意程序。它们可能使 Internet 速度变慢,甚至可以使用您的计算机将它们自己传播给您的朋友、家人、同事以及 Web 的其他地方。令人欣慰的是,只要进行一些预防并掌握一些常识,就可以较少遭受这些威胁的侵害。

请继续阅读以了解病毒、蠕虫和特洛伊木马的特点和差异。

本页内容
什么是病毒?
什么是蠕虫?
什么是特洛伊木马?
蠕虫和其他病毒如何传播?
如何判断计算机是否感染蠕虫或其他病毒?
下一步:降低病毒风险

什么是病毒?
病毒是附着于程序或文件中的一段计算机代码,它可在计算机之间传播。它一边传播一边感染计算机。病毒可损坏软件、硬件和文件。

病毒 (n.):以自我复制为明确目的编写的代码。病毒附着于宿主程序,然后试图在计算机之间传播。它可能损坏硬件、软件和信息。

与人体病毒按严重性分类(从 Ebola 病毒到普通的流感病毒)一样,计算机病毒也有轻重之分,轻者仅产生一些干扰,重者彻底摧毁设备。令人欣慰的是,在没有人员操作的情况下,真正的病毒不会传播。必须通过某个人共享文件和发送电子邮件来将它一起移动。

返回页首
什么是蠕虫?
与病毒相似,蠕虫也是设计用来将自己从一台计算机复制到另一台计算机,但是它自动进行。首先,它控制计算机上可以传输文件或信息的功能。一旦您的系统感染蠕虫,蠕虫即可独自传播。最危险的是,蠕虫可大量复制。例如,蠕虫可向电子邮件地址簿中的所有联系人发送自己的副本,那些联系人的计算机也将执行同样的操作,结果造成多米诺效应(网络通信负担沉重),使商业网络和整个 Internet 的速度减慢。当新的蠕虫爆发时,它们传播的速度非常快。它们堵塞网络并可能导致您(以及其他每个人)等很长的时间才能查看 Internet 上的网页。

蠕虫 (n.):病毒的子类。通常,蠕虫传播无需用户操作,并可通过网络分发它自己的完整副本(可能有改动)。蠕虫会消耗内存或网络带宽,从而可能导致计算机崩溃。

蠕虫的传播不必通过“宿主”程序或文件,因此可潜入您的系统并允许其他人远程控制您的计算机。最近的蠕虫示例包括 Sasser 蠕虫和 Blaster 蠕虫。

返回页首
什么是特洛伊木马?
在神话传说中,特洛伊木马表面上是“礼物”,但实际上藏匿了袭击特洛伊城的希腊士兵。现在,特洛伊木马是指表面上是有用的软件、实际目的却是危害计算机安全并导致严重破坏的计算机程序。最近的特洛伊木马以电子邮件的形式出现,电子邮件包含的附件声称是 Microsoft 安全更新程序,但实际上是一些试图禁用防病毒软件和防火墙软件的病毒。

特洛伊木马 (n.):一种表面上有用、实际上起破坏作用的计算机程序。

一旦用户禁不起诱惑打开了以为来自合法来源的程序,特洛伊木马便趁机传播。为了更好地保护用户,Microsoft 常通过电子邮件发出安全公告,但这些邮件从不包含附件。在用电子邮件将安全警报发送给客户之前,我们也会在安全网站上公布所有安全警报。

特洛伊木马也可能包含在免费下载软件中。切勿从不信任的来源下载软件。始终从 Microsoft Update 或 Microsoft Office Update 下载 Microsoft 更新程序或修补程序。

返回页首
蠕虫和其他病毒如何传播?
实际上,所有病毒和许多蠕虫是无法传播的,除非您打开或运行了受感染的程序。

很多最危险的病毒主要通过电子邮件附件(随电子邮件一起发送的文件)传播。通常,可判断电子邮件是否包含附件,因为您将看到表示附件且包括附件名称的回形针图标。有些文件格式(例如,图片、用 Microsoft Word 写的信件或 Excel 电子表格)可能是每天都要通过电子邮件接收的。当打开受感染的文件附件(通常是双击附件图标以打开附件)时,就会启动病毒。

提示:切勿打开附加在电子邮件中的任何内容,除非附件是您期望的文件且您清楚该文件的内容。

如果收到陌生人发来的带附件的邮件,请立即删除它。不幸的是,有时打开来自熟人的附件也可能不安全。病毒和蠕虫都能从电子邮件程序中窃取信息,然后将自已发送给地址簿中的所有联系人。因此,如果某人发来一封电子邮件,但其中的消息您并不了解,或其中的附件不是您期望的文件,请一定先与发件人联系并确认附件内容,然后再打开文件。

另一些病毒可能通过从 Internet 下载的程序进行传播,或通过从朋友那里借来的或甚至是从商店买来的带病毒计算机磁盘进行传播。这些属于比较少见的病毒感染方式。大多数人是因为打开和运行不认识的电子邮件附件感染病毒。

返回页首
如何判断计算机是否感染蠕虫或其他病毒?
在您打开和运行受感染的程序时,可能不知道自己已感染病毒。计算机的速度可能越来越慢或每隔几分钟崩溃并重启一次。有时,病毒攻击启动计算机所需的文件。在这种情况下,您将在按下电源开关按钮后发现黑屏。

所有这些症状都是计算机感染病毒的常见迹象,尽管也有可能是由与病毒无关的软硬件问题引起的。

请注意指示您发送了包含病毒的电子邮件的消息。这可能意味着,病毒已将您的电子邮件地址列为染毒电子邮件的发件人。这并不一定表示您的计算机感染了病毒。有些病毒有伪造电子邮件地址的功能。

⑷ 流感问题。。c语言,程序不对。。求大神纠错

for(k=1;k<m;k++)
{
for(i=1;i<n+1;i++)
{
for(j=1;j<n+1;j++)
{
if(a[i][j]=='@')//这里及之后的几个if句出现问题
{
if(a[i+1][j]=='.')
{
a[i+1][j]='@';
}
if(a[i][j-1]=='.')
{
a[i][j-1]='@';
}
if(a[i][j+1]=='.')
{
a[i][j+1]='@';
}
if(a[i-1][j]=='.')
{
a[i-1][j]='@';
}
}
}
}
}

以上进行注释标记的部分的问题是,当扫描到一个房间是有流感标记的房间,如果没有空房间的话,那么许多房间都会错误的成为流感单元'@'


比如说. . . . .

. @ . . .

. . . . .

. . . . .

.. . . . .

经过一次循环会变成 . @ @ @ @

@ @ @ @ @

@ @ @ @ @

@ @ @ @ @

@ @ @ @ @

我想到的解决方法有两个:

1、新建一个和输入数组一样大的数组,当扫描原数组当前单元为流感标记'@'的单元时,在新建数组内进行改变,扫描完成再把新建数组的值赋值给原数组

2、设置一个中间态,称作即将感染态'$',当扫描到流感标记'@'时,在其四周四个'.'单元中赋值'$',扫描完成后将所有'$'变成'@'

⑸ goto是什么意思

goto ['ɡo,tʊ]

v. 转到

n. (Goto) (美)戈托(人名)

用法:

1、 fromaloopandtransfercontrolto label.

GOTO标签语句可以无条件地退出循环,并将控制权转移到跟在指定的语句标签之后的可执行语句或语句块。

2、 my backpack.

每天早上,在我上学之前,我把它放进双肩背包里。

(5)流感C语言扩展阅读:

同义词:vt. 转到 pass to

pass to

传到;转到;讨论

短语:

1、pass sth to sb把某物递给某人 ; 把某物传给某人 ; 递给某人某物

2、Pass not to Miss走过路过不要错过 ; 走过

3、pass on to us留传给我们

双语例句:

1、As theflapisopen,.

由于皮瓣是开放的,这种分子可以传递给商会的权利。

2、Sometemplatetagsdo not haveanyoptions,and thushave noparametersyou canpasstothem.

有些模板标签没有任何选项,你也就没有什么参数可以传递给这些模板标签。

3、Swinefludoes ,butsuchtransmissioncanoccur.

猪流感一般不会直接通过人来传播,但是这种可能性依旧存在。

参考资料来源:有道词典-pass to

⑹ 大数据专业主要学什么

什么是大数据?
在英文里被称为big data,或称为巨量资料,就是当代海量数据构成的一个集合,包括了我们在互联网上的一切信息。
大数据能干什么?
通过对大数据的抽取,管理,处理,并整理成为帮助我们做决策。列如:应用以犯罪预测,流感趋势预测,选举预测,商品推荐预测等等
大数据专业需要学什么?
因为涉及对海量数据的分析,离不开的就是数学,很多很多的数学。按照我们学习计划的安排来看,我在大一大二期间就学了有:数学分析,线性代数,概率统计,应用统计学,离散数学,常微分。相比起其他计算机专业来说,我们确实要学很多数学。然后什么公共课就不用多说了,如:大学英语,大学物理,思想政治,毛概等等。在专业课上,我们首先要学的就是C语言基础,然后就是数据结构,Python基础,Java面向对象程序设计,数据结构与算法,数学建模,大数据等,简直不要太多了,留给图看看吧
未完待写
接着上一次内容
学大数据能做什么工作?
分为三个大类,第一是大数据系统研发类,第二是大数据应用开发类,第三是大数据分析类
大数据分析师:大数据分析师要学会打破信息孤岛利用各种数据源,在海量数据中寻找数据规律,在海量数据中发现数据异常。负责大数据数据分析和挖掘平台的规划、开发、运营和优化;根据项目设计开发数据模型、数据挖掘和处理算法;通过数据探索和模型的输出进行分析,给出分析结果。
大数据工程师: 主要是偏开发层面,指的是围绕大数据系平台系统级的研发人员, 熟练Hadoop大数据平台的核心框架,能够使用Hadoop提供的通用算法, 熟练掌握Hadoop整个生态系统的组件如: Yarn,HBase、Hive、Pig等重要组件,能够实现对平台监控、辅助运维系统的开发。
数据挖掘师/算法工程师: 数据建模、机器学习和算法实现,需要业务理解、熟悉算法和精通计算机编程
数据架构师: 高级算法设计与优化;数据相关系统设计与优化,有垂直行业经验最佳,需要平台级开发和架构设计能力。
数据科学家:据科学家是指能采用科学方法、运用数据挖掘工具对复杂多量的数字、符号、文字、网址、音频或视频等信息进行数字化重现与认识,并能寻找新的数据洞察的工程师或专家(不同于统计学家或分析师)。一个优秀的数据科学家需要具备的素质有:懂数据采集、懂数学算法、懂数学软件、懂数据分析、懂预测分析、懂市场应用、懂决策分析等。
薪资待遇方面:
数据科学家->数据架构师==算法工程师>大数据工程师>数据分析师

⑺ 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人 c语言

#include "stdafx.h"
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
char a[102][102];
int n;
int s=0;//计数器
int m;
int main()
{
printf("请输入N:");
scanf("%d",&n);
printf("请输入宿舍住宿情况:\n");
//char a[5][5] = {{'_','_','_','_','#'},{'_','#','_','@','_'},{'_','#','@','_','_'},{'#','_','_','_','_'},{'_','_','_','_','_'}};
//for(int i=1;i<=n;i++)
// scanf("%s",&a[i]+1);//表示从a[i][1]开始
char b[100][100];
for(int i=0;i<n;i++)
{
scanf("%s",&b[i]);
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
a[i+1][j+1] = b[i][j];
}
}
printf("请输入M:");
scanf("%d",&m);
for(int k=1;k<=m-1;k++)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]=='@'&&a[i][j-1]=='_')//前
{
a[i][j-1]='$';
}
if(a[i][j]=='@'&&a[i][j+1]=='_')//后
{
a[i][j+1]='$';
}
if(a[i][j]=='@'&&a[i-1][j]=='_')//左
{
a[i-1][j]='$';
}
if(a[i][j]=='@'&&a[i+1][j]=='_')//右
{
a[i+1][j]='$';
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]=='$')
{a[i][j]='@';}
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]=='@')
s++;
}
}
printf("%d",s);
system("pause");
return 0;
}

⑻ declared是什么意思

declared 英[dɪˈkleəd]
adj. 公告的,公然的
v. 宣布( declare的过去式和过去分词 );断言;申报(收益);板球(在击...
[例句]Forecasters have declared the recession over.
预测者已经宣布衰退结束。

⑼ c语言最短防疫距离

最短防疫距离为1米。

“因为爱你,离你一米”“‘文明一米’是爱你的最好方式”,疫情防控常态化下,保持一米以上安全距离不能有丝毫放松。
疫情,汉语词语,指疫病的发生和发展情况。较大范围内出现的较大型疫情有重症急性呼吸综合征(SARS)、甲型H1N1流感及新型冠状病毒肺炎(CoronaVirusDisease2019,COVID-19)等。

热点内容
定增算法 发布:2024-12-27 04:42:55 浏览:840
淘宝网导航如何设置密码 发布:2024-12-27 04:42:12 浏览:733
世界的万人号的密码是多少 发布:2024-12-27 04:42:06 浏览:766
服务器地址字段 发布:2024-12-27 04:40:44 浏览:894
皓影四驱尊贵版有什么配置 发布:2024-12-27 04:39:53 浏览:690
支付网关源码 发布:2024-12-27 04:38:33 浏览:461
qq密码设置成什么好听 发布:2024-12-27 04:29:59 浏览:435
安卓怎么录制王者荣耀视频有自己的声音 发布:2024-12-27 04:29:55 浏览:594
超闪存储卡 发布:2024-12-27 04:27:44 浏览:614
iu003的解压密码 发布:2024-12-27 04:19:54 浏览:928