1000以內完數c語言程式 C語言面試題(二)

2021-10-14 02:57:53 字數 3759 閱讀 3330

接著上次來說,c語言面試題(一)當中大部分是一些概念和理解的東西 ,今天說一說實踐操作,有關c的經典程式。

1、/*輸出9*9口訣。共9行9列,i控制行,j控制列。*/

#include "stdio.h"

int main()

printf("n");/*每一行後換行*/

}}

2、/*古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

兔子的規律為數列1,1,2,3,5,8,13,21....*/

#include "stdio.h"

int main()

}

3、/*判斷101-200之間有多少個素數,並輸出所有素數及素數的個數。

程式分析:判斷素數的方法:用乙個數分別去除2到sqrt(這個數),如果能被整除,

則表明此數不是素數,反之是素數。*/

#include "math.h"

#include "stdio.h"

int main()

} if(leap) /*內迴圈結束後,leap依然為1,則m是素數*/

leap=1;

} printf("nthe total is %d",h);

}

4、/*乙個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.程式設計找出1000以內的所有完數。*/

#include "stdio.h"

int main()

printf("array b:n");

for(i=0;i<4;i++)

}

6、/*程式設計列印直角楊輝三角形*/

#include void main()

for(i=2;i<=5;i++)

for(j=1;j<=i-1;j++)

a[i][j]=a[i-1][j]+a[i-1][j-1];

for(i=0;i<=5;i++)

}

7、/*通過鍵盤輸入3名學生4門課程的成績,分別求每個學生的平均成績和每門課程的平均成績。要求所有成績均放入乙個4行5列的陣列中,輸入時同一人資料間用空格,不同人用回車其中最後一列和最後一行分別放每個學生的平均成績、每門課程的平均成績及班級總平均分。*/

#include #include void main()

for(j=0;j<5;j++)

for(i=0;i<4;i++)

}

8、/*完善程式,實現將輸入的字串反序輸出,

如輸入windows 輸出swodniw。*/

#include #include void main()

10、/*編寫乙個void sort(int *x,int n)實現將x陣列中的n個資料從大到小

排序。n及陣列元素在主函式中輸入。將結果顯示在螢幕上並輸出到檔案p9_1.out中*/

#includevoid sort(int *x,int n)	}}

void main()

; /*a[0]為工作單元,從a[1]開始存放資料*/

int x , i, j=6; /*j為元素個數*/

printf("enter a number: ");

scanf("%d",&x);

a[0]=x;

i=j; /*從最後乙個單元開始*/

while(a[i]>x)

/*將比x大的數往後移動乙個位置*/

a[++i]=x;

j++; /*插入x後元素總個數增加*/

for(i=1;i<=j;i++)

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

printf("n");

}

12、/*編寫函式replace(char *s,char c1,char c2)實現將s所指向的字串中所有字元c1用c2替換,字串、字元c1和c2均在主函式中輸入,將原始字串和替換後的字串顯示在螢幕上,並輸出到檔案p10_2.out中*/

#includevoid replace(char *s,char c1,char c2)

}void main()

printf("enter a string:n");

gets(str);

printf("enter a&&b:n");

scanf("%c,%c",&a,&b);

printf("%sn",str);

fprintf(fp,"%sn",str);

replace(str,a,b);

printf("the new string is----%sn",str);

fprintf(fp,"the new string is----%sn",str);

fclose(fp);

}

13、/*在乙個字串s1中查詢一子串s2,若存在則返回子串在主串中的起始位置,不存在則返回-1。*/

#includevoid replace(char *s,char c1,char c2)

void main()

int search(char s1,char s2)

return -1;

}

14、/*用指標變數輸出結構體陣列元素。*/

#includestruct student

stu[5]=,,,,};

void main()

15、/*建立乙個有三個結點的簡單鍊錶:*/

#include#define null 0

struct student

;void main()

while(p!=null);

}

16、/*輸入乙個字串,判斷其是否為回文。回文字串是指從左到右讀和從右到左讀完全相同的字串。*/

#include #include void main()

17、/*氣泡排序,從小到大,排序後結果輸出到螢幕及檔案myf2.out*/

#includevoid fun(int a,int n)

}void main()

,n=10,i;

file *f;

if((f=fopen("myf2.out","w"))==null)

printf("open file myf2.out failed!n");

fun(a,10);

for(i=0;i<10;i++)

fclose(f);

}

18、編寫函式countpi,利用公式

計算π的近似值,當某一項的值小於10-5時,認為達到精度要求,請完善函式。將結果顯示在螢幕上並輸出到檔案p7_3.out中。

#includedouble countpi(double eps) /*eps為允許誤差*/

return(2*s);

}void main()

pi= countpi(eps);

printf("pi=%lfn",pi);

fprintf(fp,"pi=%lfn",pi);

fclose(fp);

}

1000以內完數c語言程式 C語言完數程式設計題目詳解

首先看一下完數的概念 完數,即完美數,乙個數如果恰好等於除它本身外的因子之和,這個數就稱為完數。例如6 1 2 3.6的因子是1,2,3 題目概要 請寫乙個c語言程式,要求輸入乙個數字n輸出從1 n範圍內的所有完數,如果有則輸出1 n範圍內的所有完數。如果沒有,則輸出no!解題思路 用乙個雙重for...

C語言 找出1000以內的所有完數

例55 乙個數如果恰好等於它的因子之和,這個數就稱為完數,c語言程式設計找出1000之內的所有完數,並輸出其因子。解題思路 6的因子為1,2,3,而6 1 2 3,因此6是 完數 1不用判斷,直接從2開始,因為1的因子只有1 源 演示 include 標頭檔案 intmain 主函式 if s nu...

找1000以內的完數

完數,是一些特殊的自然數,它所有的真因子 即除了自身以外的因子 的和,恰好等於它本身。所以這裡說明一下,1不是完數,因為1只有自身這乙個因子 第乙個完全數是6,第二個完全數是28,第三個完全數是496,後面的完全數還有8128 33550336等等。所以程式迴圈直接從數字2開始判斷 及執行結果如下 ...