4、請編一函數(shù)void fun(int tt[M][N],int pp[N]),tt指向一個M行N列的二維數(shù)組,求出二維數(shù)組每列中最小元素,并依次放入pp所指一維數(shù)組中,二維數(shù)組中的數(shù)已在主
函數(shù)中賦予。
#define M 3
#define N 4
void fun(int tt[M][N],int pp[N])
{ int i, j;
for(i=0;i
{ pp=tt[0][i];
for(j=0;j
if(tt[j][i];這點是用指針時常犯的錯誤,切記!*/
6、 請編寫一個函數(shù)int fun(int x),它的功能是:判斷整數(shù)x是否是同構(gòu)數(shù)。若是同構(gòu)數(shù),函數(shù)返回1;否則返回0。
所謂“同構(gòu)數(shù)”是指這樣的數(shù),它出現(xiàn)在它的平方數(shù)的右邊。例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所以5是同構(gòu)數(shù)。x的值由主函數(shù)從健盤讀入,要求不大于100。
int fun (int x)
{ int xx=x * x;
if(xx==x//xx%10==x//xx%100==x) return 1;
else return 0;}
/*注:由“同構(gòu)數(shù)”的定義可得只要求出平方數(shù)或平方數(shù)的最后一位或平方數(shù)的最后兩
位然后與x進行判斷即可,分別求余后即得出平方數(shù)的右邊。*/
7、請編寫函數(shù)fun,它的功能是:求出ss所指字符串中、指定字符的個數(shù),并返回此值。例如:若輸入字符串:123412132,輸入字符為:1,則輸出:3。
#define M 81
int fun(char *ss,char c)
{int num=0;
while(*ss!='\0')
{if(*ss==c) num++;
ss++;}
return(num);}
/* 注:本題用while()循環(huán)來控制字符的移動,每移動一個字符都要進行判斷(if(*ss==c))是否為指定的字母,若是則個數(shù)加1。這里要注意如何讓ss指針向下走動(ss++)。*/
8、請編寫函數(shù)fun,經(jīng)的功能是:求出1到1000之內(nèi)能被7或11整除、但不能同時補7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。
void fun(int *a,int *n)
{ int i,m=0;
for(i=1;i<1000;i++)
if(((i%7==0)//(i%11==0))&&!((i%7==0)&&(i%11==0)))
{a[m]=i;m+=1;}
*n=m;
}
/* 該題關(guān)鍵就是如何表示能被7或11整除,但不能同時被7和11整除。用(i%7==
0)//(i%11==0)來表示能被7或11整除,用 !((i%7==0)&&(i%11==0))來表示不能同時被7和11整除。