標籤:int 定義 思路 結果 printf 重複 執行 cto 自訂
一.PTA實驗作業1.題目6.6使用函數輸出水仙花數1.本題提交列表2.設計思路
int narcissistic( int number )函數
1.第一步,定義i,j變數控制迴圈,count表示輸入數值的個數,w表示輸入數值各個位元上的count次方的和,y表示各個位元上的count次方,sum用來存放number的值
2.第二步,while(sum>0){sum=sum/10;count++; }計算輸入值的個數
3.第三步,for(j=1;j<=count;j++)
y=y*h;
w=w+y;計算輸入數值各個位元上的count次方的和w
4.第四步,如果w==number,則返回1,否則返回0
PrintN( int m, int n )函數
定義r儲存數字,for(r=m+1;r<=n-1;r++)調用narcissistic函數,如果返回1就列印該數
3.遇到的問題2.題目6.7使用函數輸出指定範圍內的完數1.本題提交列表2.設計思路
1.自訂函數int factorsum( int number ),函數名factorsum( ),傳回值為整型,輸入資料number為整型;
2.定義變數i,total=0;
3.如果number==1,返回結果為1;否則進入迴圈for(i=1;i<number;i++);
4.如果number%i==0,total=total+i;
5.重複3,4,直到i=number,如果迴圈結束後total==number,返回total;
6.自訂函數void PrintPN( int m, int n ),函數名為 PrintPN( ),函數無傳回值,輸入m,n為整型;
7.定義變數i,j,r,sum=0,flag=0,
8.如果m==1;printf("%d = %d\n",m,m),flag=1;
9.否則進入迴圈for(i=m;i<=n;i++),如果factorsum(i)==i,sum=0; flag=1,並進入子迴圈for(j=1;j<i;j++),如果i%j==0,sum=sum+j;
10.重複執行步驟九,直到條件不成立;
11.如果sum==i,printf("%d = ", i);並輸出第一個因子1;進入迴圈for(r=2;r<i;r++),如果i%r==0,printf(" + %d",r);迴圈結束後輸出一個分行符號;
12.如果flag==0,輸出No perfect number。
3.遇到的問題3.題目7.1求組合數1.本題提交列表2.設計思路
定義變數m,n儲存輸入數;輸入m,n;調用fact函數,輸出結果;
fact函數
定義浮點型變數result=1;令i=1,判斷i<=n?,是則result=result*i,i++,否則return result.
3.遇到的問題二.本周題目集的PTA最後排名
c語言部落格作業-函數