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