PAT練習基礎程式設計題目之求單鏈表結點的階乘和
求單鏈表結點的階乘和
導語:連結串列一直是我的弱項,做這道題做了比較久,程式本身不難,只是對指標的理解不到位,況且很久沒有接觸指標相關,遺忘了不少。風蕭蕭兮易水寒,壯士一去兮不復還。
- 本題要求實現一個函式,求單鏈表L結點的階乘和。這裡預設所有結點的值非負,且題目保證結果在int範圍內。
- 函式介面定義:
int FactorialSum( List L );
typedef struct Node *PtrToNode;
struct Node {
int Data; /* 儲存結點資料 */
PtrToNode Next; /* 指向下一個結點的指標 */
};
typedef PtrToNode List; /* 定義單鏈表型別 */
int FactorialSum( List L );
int main()
{
int N, i;
List L, p;
scanf("%d", &N);
L = NULL;
for ( i=0; i<N; i++ ) {
p = (List)malloc(sizeof(struct Node));
scanf("%d", &p->Data);
p->Next = L; L = p;
}
printf ("%d\n", FactorialSum(L));
return 0;
}
int fun(int n){
if(n==0 || n==1)
return 1;
else
return n*fun(n-1);
}
int FactorialSum( List L ){
int sum = 0;
while(L!=NULL){
int m = fun(L->Data);
sum += m;
L = L->Next;
}
return sum;
}
結束語:回頭還得好好看看指標,語法這裡瞭解的不透徹,之前一直在做Java,學c語言的那會也不夠認真,不管了,天將降大任於斯人也,必先苦其心志,餓其體膚,空乏其身。。。。
相關推薦
PAT練習基礎程式設計題目之求單鏈表結點的階乘和
求單鏈表結點的階乘和 導語:連結串列一直是我的弱項,做這道題做了比較久,程式本身不難,只是對指標的理解不到位,況且很久沒有接觸指標相關,遺忘了不少。風蕭蕭兮易水寒,壯士一去兮不復還。 - 本題要求實現一個函式,求單鏈表L結點的階乘和。這裡預設所有結點的值非
PAT基礎程式設計題目集——6-6 求單鏈表結點的階乘和
原題目: 本題要求實現一個函式,求單鏈表L結點的階乘和。這裡預設所有結點的值非負,且題目保證結果在int範圍內。 函式介面定義: int FactorialSum( List L ); 其中單鏈表List的定義如下: typedef struct Node *PtrToNo
PTA基礎程式設計題目集6-6求單鏈表結點的階乘和(函式題)
本題要求實現一個函式,求單鏈表L結點的階乘和。這裡預設所有結點的值非負,且題目保證結果在int範圍內。 函式介面定義: 1 int FactorialSum( List L ); 其中單鏈表List的定義如下: 1 typedef struct Node *PtrToNode; 2 s
6-6 求單鏈表結點的階乘和(15 分) 本題要求實現一個函式,求單鏈表L結點的階乘和。這裡預設所有結點的值非負,且題目保證結果在int範圍內。
int FactorialSum( List L ){ int max=0,sum=0; List p,head; head=L; p=head; while(p!=NULL) { if(max<p->Data) max=p->Dat
6-2 求單鏈表結點的階乘和
本題要求實現一個函式,求單鏈表L結點的階乘和。這裡預設所有結點的值非負,且題目保證結果在int範圍內。 函式介面定義: int FactorialSum( List L ); 其中單鏈表List的定義如下: typedef struct Node *PtrToNode; struct
PAT團隊程式設計天梯賽-習題集L1-013 計算階乘和
題目要求題目分析說不清楚,還是看程式碼吧示例程式碼import java.util.Scanner; public class L1_013 { public static void main(Str
PAT基礎程式設計題目集——6-5 求自定型別元素的最大值
原題目: 本題要求實現一個函式,求N個集合元素S[]中的最大值,其中集合元素的型別為自定義的ElementType。 函式介面定義: ElementType Max( ElementType S[], int N ); 其中給定集合元素存放在陣列S[]中,正整數N是陣列元素個數
PAT基礎程式設計題目集——6-4 求自定型別元素的平均
原題目: 本題要求實現一個函式,求N個集合元素S[]的平均值,其中集合元素的型別為自定義的ElementType。 函式介面定義: ElementType Average( ElementType S[], int N ); 其中給定集合元素存放在陣列S[]中,正整數N是陣列元
PAT基礎程式設計題目集——6-2 多項式求值
原題目: 本題要求實現一個函式,計算階數為n,係數為a[0] ... a[n]的多項式f(x)=∑i=0n(a[i]×xi) 在x點的值。 函式介面定義: double f( int n, double a[], double x ); 其中n是多項式的階數,a[
PAT基礎程式設計題目集——6-9 統計個位數字
原題目: 本題要求實現一個函式,可統計任一整數中某個位數出現的次數。例如-21252中,2出現了3次,則該函式應該返回3。 函式介面定義: int Count_Digit ( const int N, const int D ); 其中N和D都是使用者傳入的引數。N的值不超過i
PAT基礎程式設計題目集——6-8 簡單階乘計算
原題目: 本題要求實現一個計算非負整數階乘的簡單函式。 函式介面定義: int Factorial( const int N ); 其中N是使用者傳入的引數,其值不超過12。如果N是非負整數,則該函式必須返回N的階乘,否則返回0。 裁判測試程式樣例: #include
PAT基礎程式設計題目集——6-7 統計某類完全平方數
原題目: 本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函式介面定義: int IsTheNumber ( const int N ); 其中N是使用者傳入的引數。如果N滿足條件,則該函式必須返回1,否則返回0
PAT基礎程式設計題目集——6-3 簡單求和
原題目: 本題要求實現一個函式,求給定的N個整數的和。 函式介面定義: int Sum ( int List[], int N ); 其中給定整數存放在陣列List[]中,正整數N是陣列元素個數。該函式須返回N個List[]元素的和。 裁判測試程式樣例: #includ
PAT基礎程式設計題目集——6-1 簡單輸出整數
原題目: 本題要求實現一個函式,對給定的正整數N,列印從1到N的全部正整數。 函式介面定義: void PrintN ( int N ); 其中N是使用者傳入的引數。該函式必須將從1到N的全部正整數順序打印出來,每個數字佔1行。 裁判測試程式樣例: #include &
PAT基礎程式設計 5-14 求整數段和 (15分)
5-14 求整數段和 (15分) 給定兩個整數AA和BB,輸出從AA到BB的所有整數以及這些數的和。 輸入格式: 輸入在一行中給出2個整數AA和BB,其中-100<= A<=B<=100 −100≤A≤B≤100,其間以空格分隔。
PTA基礎程式設計題目集6-2多項式求值(函式題)
本題要求實現一個函式,計算階數為n,係數為a[0] ... a[n]的多項式f(x)=∑i=0n(a[i]×xi) 在x點的值。 函式介面定義: double f( int n, double a[], double x ); 其中n是多項式的階數,a[]中儲
PAT : 基礎程式設計題目集_程式設計題答案(7-1 ~ 7-38)(純C編寫)
題目地址 7-1 #include<stdio.h> int main(int argc,char** argv) { int cm; scanf("%d",&cm); float x=cm/0.3048/100; float a=(x
基礎程式設計題目集:6-7 統計某類完全平方數(20 分)
int IsTheNumber(const int N) { int n = sqrt(N); int k = 0, tmp = N; int a[5] = { 0 }; //判斷是否是完全平方數 if (n*n == N) { //先N轉陣列 //判斷有多少位 while (
基礎程式設計題目集 - 7-1 釐米換算英尺英寸(15 分)
題目連結:點選開啟連結 題目大意:略。 解題思路:注意:最後一句話的內涵,意味著 inch/12 是 foot 的小數部分。 AC 程式碼 [cpp]
基礎程式設計題目集-7-4 BCD解密
BCD數是用一個位元組來表達兩位十進位制的數,每四個位元表示一位。所以如果一個BCD數的十六進位制是0x12,它表達的就是十進位制的12。但是小明沒學過BCD,把所有的BCD數都當作二進位制數轉換成十進位制輸出了。於是BCD的0x12被輸出成了十進位制的18了! 現在,你的程式要讀入這個錯誤