(12)設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類型;請(qǐng)寫出fun函數(shù)的首部【13】。要求形參名為b。
main()
{double s[10][22];
int n; ┆
┆
fun(s);
┆
}
解析: 本題中,為了明確表示“不帶回值”,可以用“void”定義“無(wú)類型”(或稱“空類型”)。這系統(tǒng)就保證不使函數(shù)帶回任何值,二維數(shù)組的第一維可以省略。
(13)下列程序的功能是輸入一個(gè)整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出0,請(qǐng)?zhí)羁铡?/P>
main()
{int i, x, y=1;
scanf("%d", &x);
for(i=2; i<=x/2; i++)
if【14】{ y=0; break;}
printf("%d\n", y);
}
解析: 為判數(shù)x是否是素?cái)?shù),預(yù)置變量y的值為1(x可能是素?cái)?shù)),然后用循環(huán),用2至x/2的整數(shù)i測(cè)試對(duì)x的整除性,若能被其中的某個(gè)整數(shù)整除,則x是合數(shù),置y的值為0(x不是素?cái)?shù)),結(jié)束測(cè)試循環(huán)。若都不能整除,則x為素?cái)?shù)。i能否整除x,可用求余運(yùn)算x%i等于0來(lái)判定。所以程序中的空框可填x%i == 0。測(cè)試x為素?cái)?shù)的代碼可寫成:y = 1;
for(i=2; i <=x/2; i++)
if(x%i == 0){ y = 0; break; }
(14)下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/P>
#include
main()
{ int i,j,【15】;char str[]={"1234567"};
for(i=0,j=strlen(str)【16】;i{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
解析: 顛倒一個(gè)字符串中的字符,就是首尾對(duì)應(yīng)的元素兩兩交換。簡(jiǎn)單地可用兩個(gè)游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開(kāi)始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長(zhǎng)度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]還位于str[j]的前面,即i
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |