1: 第1題請編寫函數fun,其功能是:將所有大于1小于整數m的非素數存入xx所指的數組中,非素數的個數通過k傳回。
答案:
void fun(int m,int *k,int xx[])
{int i,j;
int t=0;
for(i=2;i
{j=2;
while(j
{if(i%j==0)
{xx[t]=i;
t++;
break;}
j++;}
*k=t;}}
2: 第2題編寫一個函數fun,它的功能是:實現兩個字符串的連接(不使用庫函數strcat),即把p2所指的字符串連接到p1所指的字符串后。
答案:
void fun(char p1[],char p2[])
{int i=0,n=0;
char *p=p1,*q=p2;
while (*p)
{p++;
n++;}
i=n;
while(*p)
{p1=*q;
q++;
i++;}
p1=‘\0’;}
3: 第3題請編寫函數fun,該函數的功能是:實現b=a+a,即把矩陣a加上a的轉置,存放在矩陣b中。計算結果在main函數中輸出。
答案:
void fun(int a[3][3],int b[3][3])
{int i,j,at[3][3];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
at[j]=a[j];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j]=a[j]+at[j];}
4: 第4題學生的記錄由學號和成績組稱個,n名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun,它的功能是:把低于平均分的學生數據放在b所指的數組中,低于平均分的學生人數通過形參n傳回,平均分通過函數值返回。
答案:
double fun(strec *a, strec *b,int *n)
{double aver=0.0;
int i,j=0;
*n=0;
for (i=0;i
aver+=a.s;
aver/=n;
for(i=0;i
if(a.s
{b[j]=a;
(*n)++;
j++; }
return aver;}
5: 第5題請編寫函數fun,該函數的功能是:將m行n列的二維數組中的數據,按行的順序依次放到一維數組中,一維數組中數據的個數存放在形參n所指的儲存單元中。
答案:
void fun(int(*s)[10],int *b,int *n,int mm,int nn)
{int i,j;
for(i=0;i
for(j=0;j
{b[*n]=*(*(s+i)+j);
*n=*n+1;}}
6: 第6題假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能是:除了尾部的*號之外,將字母串中其他*號全部刪除。形參p已指向字符串中最后的一個字母。不使用c的字符串函數。
答案:
void fun(char*a,char *p)
{int i=0;
char *p=a;
while(q<=p)
{if(*q!=‘*’)
{a=*q;
i++;}
q++;}
while(*q)
{a=*q;
i++;
q++;}
a=‘\0’;}
7: 第7題學生的記錄是由學號和成績組成,n名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun,它的功能是:把指定分數范圍內的學生數據放在b所指的數組中,分數范圍內的學生人數由函數值返回。
答案:
int fun(strec*a,strec *b,int l,int h)
{int i,j=0;
for(i=0;i
if(a.s>=l&a.s<=h)
{b[j]=a;
j++;}
return j;}
8: 第8題編寫函數藏服那,它的功能是:求n以內(不包括n)同時能被3與7整除的所有自然數之和的平方根s,并作為函數值返回。
答案:
double fun(int n)
{double s=0.0;
int i;
for(i=1;i
if(i%3==0&i%7==0)
s=s+i;
s=sqrt(s);
return s;}
9: 第9題請別寫函數fun,該函數的功能是:將放在字符串數組中的m個字符串(每串的長度不超過n),按順序合并組成一個新的字符串。
答案:
void fun(char a[m][n],char *b)
{int i,j,k=0;
for(i=0;i
{for(j=0;j
if(*(*(a+i)+j))
{b[k]=*(*(a+i)+j)
k++;}
else
break;
b[k]=‘\0’;}}
10: 第10題請編寫函數fun,該函數的功能是:刪去一維數組中所有相同的數,使之只剩一個。數組中的數已按由小到大的順序排列,函數返回刪除后數組中數據的個數。
答案:
int fun(int a[],int n)
{int i,t,j=0,*p=a;
t=p[0];
for(i=0;i<=n;i++)
if(t==p)
;
else
{a[j]=t;
t=p;
j++;}
if(i>=n)
a[j]=t;
return j;}
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |