首先說下fun函數(shù)的作用就是處理數(shù)組每個(gè)相鄰的元素不重復(fù),去掉重復(fù)的元素。
成都創(chuàng)新互聯(lián)專注于臨城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供臨城營銷型網(wǎng)站建設(shè),臨城網(wǎng)站制作、臨城網(wǎng)頁設(shè)計(jì)、臨城網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造臨城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供臨城網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
函數(shù)輸入一個(gè)數(shù)組a,這個(gè)數(shù)組的長度為n,通過循環(huán)逐一判斷每個(gè)元素,是否與前一個(gè)元素相等,相等不做任何事情,不相等就把這個(gè)不相等的值依然放在這個(gè)數(shù)組里,用pos作為下標(biāo),依次存放,直到遍歷每個(gè)元素,這樣這個(gè)新的數(shù)組a就沒有相鄰元素的值重復(fù)。
比如數(shù)組a中的元素為:2,2,3,3,4,4
循環(huán)開始cmp=2,pos=1
第一次循環(huán):取出第一個(gè)2與cmp作比較,相等不做任何事。
第二次循環(huán):取出第二個(gè)2與cmp比較相等也不做任何事。
第三次循環(huán):取出第一個(gè)3與cmp比較不等,那么把3放到pos指定的位置,即第二個(gè)2的位置,第二個(gè)2為3,再把pos加1,新的cmp=3。
第四次循環(huán):取出第二個(gè)3與cmp比較相等,不做任何事。
第五次循環(huán):取出第一個(gè)4與cmp比較,不等,那就把4放到數(shù)組pos下標(biāo)的位置,再pos加1,新的cmp=4。
第六次循環(huán):取出第二個(gè)4與cmp比較,相等,不做事,并結(jié)束循環(huán)。
循環(huán)結(jié)束后函數(shù)返回pos值,即新的數(shù)組a有效元素長度,元素分別為2,3,4。
注意,這個(gè)函數(shù)只能處理相鄰之間的元素不重復(fù)。比如數(shù)組a元素為:2,2,3,3,2,2那么輸出新的數(shù)組a為:2,3,2。
題意大概意思是這樣:循環(huán)進(jìn)入后首先執(zhí)行循環(huán),首先判斷i是否小于7,再判斷如果I被2整除,i就自增1,s就是當(dāng)前s和當(dāng)前i相加的和,另個(gè)循環(huán)例如for
1.for 有兩種形式:一種是數(shù)字形式,另一種是通用形式。
數(shù)字形式的 for 循環(huán),通過一個(gè)數(shù)學(xué)運(yùn)算不斷地運(yùn)行內(nèi)部的代碼塊。 下面是它的語法:
block 將把 name 作循環(huán)變量。 從第一個(gè) exp 開始起,直到第二個(gè) exp 的值為止, 其步長為第三個(gè) exp 。 更確切的說,一個(gè) for 循環(huán)看起來是這個(gè)樣子
注意下面這幾點(diǎn):
所有三個(gè)控制表達(dá)式都只被運(yùn)算一次, 表達(dá)式的計(jì)算在循環(huán)開始之前。 這些表達(dá)式的結(jié)果必須是數(shù)字。
var,limit,以及 step 都是一些不可見的變量。 這里給它們起的名字都僅僅用于解釋方便。
如果第三個(gè)表達(dá)式(步長)沒有給出,會(huì)把步長設(shè)為 1 。
你可以用 break 和 goto 來退出 for 循環(huán)。
循環(huán)變量 v 是一個(gè)循環(huán)內(nèi)部的局部變量; 如果你需要在循環(huán)結(jié)束后使用這個(gè)值, 在退出循環(huán)前把它賦給另一個(gè)變量。
2.通用形式的 for 通過一個(gè)叫作 迭代器 的函數(shù)工作。?每次迭代,迭代器函數(shù)都會(huì)被調(diào)用以產(chǎn)生一個(gè)新的值, 當(dāng)這個(gè)值為 nil 時(shí),循環(huán)停止。 通用形式的 for 循環(huán)的語法如下:
注意以下幾點(diǎn):
explist 只會(huì)被計(jì)算一次。 它返回三個(gè)值, 一個(gè) 迭代器 函數(shù), 一個(gè) 狀態(tài), 一個(gè) 迭代器的初始值。
f, s,與 var 都是不可見的變量。 這里給它們起的名字都只是為了解說方便。
你可以使用 break 來跳出 for 循環(huán)。
環(huán)變量 var_i 對(duì)于循環(huán)來說是一個(gè)局部變量; 你不可以在 for 循環(huán)結(jié)束后繼續(xù)使用。 如果你需要保留這些值,那么就在循環(huán)跳出或結(jié)束前賦值到別的變量里去。
到第二個(gè) exp 的值為止, 其步長為第三個(gè) exp 。 更確切的說,一個(gè) for 循環(huán)看起來是這個(gè)樣子
3.注意下面這幾點(diǎn):
所有三個(gè)控制表達(dá)式都只被運(yùn)算一次, 表達(dá)式的計(jì)算在循環(huán)開始之前。 這些表達(dá)式的結(jié)果必須是數(shù)字。
var,limit,以及 step 都是一些不可見的變量。 這里給它們起的名字都僅僅用于解釋方便。
如果第三個(gè)表達(dá)式(步長)沒有給出,會(huì)把步長設(shè)為 1 。
通用形式的 for 通過一個(gè)叫作 迭代器 的函數(shù)工作。 每次迭代,迭代器函數(shù)都會(huì)被調(diào)用以產(chǎn)生一個(gè)新的值, 當(dāng)這個(gè)值為 nil 時(shí),循環(huán)停止。 通用形式的 for 循環(huán)的語法如下:
注意以下幾點(diǎn):
explist 只會(huì)被計(jì)算一次。 它返回三個(gè)值, 一個(gè) 迭代器 函數(shù), 一個(gè) 狀態(tài), 一個(gè) 迭代器的初始值。
f, s,與 var 都是不可見的變量。 這里給它們起的名字都只是為了解說方便。
你可以使用 break 來跳出 for 循環(huán)。
環(huán)變量 var_i 對(duì)于循環(huán)來說是一個(gè)局部變量; 你不可以在 for 循環(huán)結(jié)束后繼續(xù)使用。 如果你需要保留這些值,那么就在循環(huán)跳出或結(jié)束前賦值到別的變量里去。
到第二個(gè) exp 的值為止, 其步長為第三個(gè) exp 。 更確切的說,一個(gè) for 循環(huán)看起來是這個(gè)樣子
第6題
/************found************/
{ for ( j=1; j=i; j++) j=i
printf("%3d *%3d =%3d", i, j, i*j );
/************found************/
printf("\n"); "\n"
第七題
#include stdio.h
#include math.h
void main()
{ float i,j,k;
/************found************/
for(i=1;i=2;i++) for(i=0;i5;i++)
for(j=0;j=5;j++)
for(k=0;k=10;k++)
/************found************/
{ if( i*0.5+j*0.2+k*0.1 == 1 ) if(i*5+j*2+k*1==10)
printf("%.0f,%.0f,%.0f\n",i,j,k);
}
}
第八題
#include stdio.h
void main()
{ int father,daughter;
int i;
daughter=12;
/************found************/
father=30; father=daughter+30;
/************found************/
for(i=1;father!=2*daughter;i++) for(i=1;father==2*daughter;i++)
{ daughter++;
father++;
}
printf("After %d years,father's age is twice to daughter's age\n",i);
printf("Their ages are %d and %d\n",father,daughter);
}
第九題 沒看懂
π 1 1 1 1
— =(1 + ——)*(1 + ——)*(1 + ——) * (1 + ——) * ……
2 1*3 3*5 5*7 7*9
π 1 1 1 1 什么意思