當前位置:首頁 » 編程語言 » 流感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)等。

熱點內容
無丁之地下載ftp 發布:2024-12-26 23:36:32 瀏覽:292
em聚類演算法 發布:2024-12-26 23:22:28 瀏覽:669
php字元串去重 發布:2024-12-26 23:22:26 瀏覽:408
vb遞歸演算法 發布:2024-12-26 23:20:52 瀏覽:768
c語言讀取文件的函數 發布:2024-12-26 23:20:40 瀏覽:302
存儲介質安全 發布:2024-12-26 23:17:42 瀏覽:746
centosphp版本 發布:2024-12-26 23:11:59 瀏覽:71
安卓機怎麼關閉主題 發布:2024-12-26 21:55:57 瀏覽:915
javafor線程 發布:2024-12-26 21:54:35 瀏覽:744
python自定義模塊 發布:2024-12-26 21:41:37 瀏覽:57