指針數(shù)組函數(shù)練習(xí)(含參考答案)_第1頁(yè)
指針數(shù)組函數(shù)練習(xí)(含參考答案)_第2頁(yè)
指針數(shù)組函數(shù)練習(xí)(含參考答案)_第3頁(yè)
指針數(shù)組函數(shù)練習(xí)(含參考答案)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

4/4指針數(shù)組函數(shù)練習(xí)(含參考答案).作業(yè)(使用指針、數(shù)組、函數(shù)完成)

1.編寫一個(gè)通用函數(shù),該函數(shù)可以實(shí)現(xiàn)判斷:一個(gè)含有五位數(shù)字的整數(shù)是否是回文數(shù)。回文數(shù)的含義是從左向右與從右向左看,數(shù)是相同的。如:23732是回文數(shù),而23564則不是。編寫主程序調(diào)用該函數(shù)實(shí)現(xiàn)求所有5位數(shù)字中滿足條件的數(shù)的個(gè)數(shù)。

#include

intJudge(longnum

{

intm,t,h,s,g;

m=num/10000;

t=(num-m*10000/1000;

h=(num-m*10000-t*1000/100;

s=(num-m*10000-t*1000-h*100/10;

g=num-m*10000-t*1000-h*100-s*10;

if((m==g

else

return0;

}

voidmain(

{

intcount=0;

longi;

for(i=10000;ii

{

temp=*i;

*i=*j;

*j=temp;

i++;

j--;

}

}

voidmain(

{

doublearray[N]={20,19,18,15,13,10};

inti;

for(i=0;i

printf("%.0f\t",array[i];

Transfer(array,N;

printf("\n";

for(i=0;i

printf("%.0f\t",array[i];

printf("\n";

}

3.編寫一個(gè)通用函數(shù),該函數(shù)可以實(shí)現(xiàn)求數(shù)值型二維數(shù)組的上三角各元素的平方根的和(即先對(duì)上三角各元素求平方根,然后再對(duì)平方根求和)。編寫主程序調(diào)用該函數(shù),計(jì)算數(shù)組A的上三角元素的平方根的和。

上三角的含義:左上部分(包含對(duì)角線元素),如下二維數(shù)組的0元素區(qū)域即為上三角。

00000

00007

00038

00593

02467

數(shù)組A的數(shù)據(jù)如下:

1545567311

3474855470

5698568967

9854831259

7787744833

#include

#include

doubleCal(double*a,intn

{

double*p;

p=a;

inti,j;

doublesum=0;

for(i=0;i

for(j=0;j

sum+=sqrt(*(p+i*n+j;

returnsum;

}

voidmain(

{

doublea[5][5]={15,45,56,73,11,

34,74,85,54,70

56,98,56,89,67,

98,54,83,12,59,

77,87,74,48,33

};

doublerootsum=Cal(a[0],5;

printf("%f\n",rootsum;

}

4.編寫一個(gè)通用函數(shù),該函數(shù)可以實(shí)現(xiàn)把一個(gè)十進(jìn)制的正整數(shù)轉(zhuǎn)換成二進(jìn)制。例如把18轉(zhuǎn)換成1010。編寫主程序調(diào)用該函數(shù),把整數(shù)123455轉(zhuǎn)換成二進(jìn)制并輸出。

注:把一個(gè)十進(jìn)制的整數(shù)轉(zhuǎn)換成二進(jìn)制的方法是:把十進(jìn)制數(shù)當(dāng)作被除數(shù),用2除,直到商為0為止,然后把余數(shù)倒序即可。例18除2的余數(shù)依次是0、1、0、0、1,則其二進(jìn)制為:10010。

#include

voidTransfer(intnum

{

inta[100];

while(num!=0

{

if(num%2==0

a[count++]=0;

else

a[count++]=1;

num=num/2;

}

for(inti=count-1;i>=0;i--

printf("%d",a[i];

}

voidmain(

{

intnum;

printf("Pleaseinputaninteger:\n";

scanf("%d",#

Transfer(num;

}

5.編寫一個(gè)通用函數(shù),該函數(shù)可以實(shí)現(xiàn)把一個(gè)十進(jìn)制的正整數(shù)轉(zhuǎn)換成七進(jìn)制。例如把88轉(zhuǎn)換成154。編寫主程序調(diào)用該函數(shù),把整數(shù)123455轉(zhuǎn)換成七進(jìn)制并輸出。

注:把一個(gè)十進(jìn)制的整數(shù)轉(zhuǎn)換成七進(jìn)制的方法是:把十進(jìn)制數(shù)當(dāng)作被除數(shù),用7除,直到商為0為至,然后把余數(shù)倒序即可。例88除7的余數(shù)依次是4、5、1,則其七進(jìn)制為:154。

#include

voidTransfer(intnum

{

intcount=0;

while(num!=0

{

a[count++]=num%7;

num=num/7;

}

for(inti=count-1;i>=0;i--

printf("%d",a[i];

}

voidmain(

{

intnum;

printf("Pleaseinputaninteger:\n";

scanf("%d",#

Transfer(num;

}

6.編寫一個(gè)通用函數(shù),該函數(shù)可以實(shí)現(xiàn)統(tǒng)計(jì)一維數(shù)組中小于數(shù)組元素平均值的元素個(gè)數(shù)。編寫主程序調(diào)用該函數(shù),統(tǒng)計(jì)數(shù)組A(數(shù)據(jù)為:3521,5647,6849,5962,4567,2361,1247,5241,1246)中小于平均值的元素個(gè)數(shù)。

#include

intnum(doublea[],intnum

{

double*p;

p=a;

intcount=0;

doublesum=0,avg=0;

for(inti=0;i

sum+=*(p+i;

avg=sum/num;

for(i=0;i

if(*(p+i

count++;

return

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論