c語言必背18個經典程式

2021-08-15 13:55:58 字數 3989 閱讀 7381

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

#include "stdio.h"

main()

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

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

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

main() }

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

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

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

#include "math.h"

main()

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

leap=1;

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

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

找出1000以內的所有完數。*/

main() }

if(s==0) }

} 5、/*下面程式的功能是將乙個4×4的陣列進行逆時針旋轉90度後輸出,要求原始陣列的資料隨機輸入,新陣列以4行4列的方式輸出,

請在空白處完善程式。*/

main()

printf("array b:\n");

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

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

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

main()

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

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

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

如輸入windows 輸出swodniw。*/

#include

main()

printf("%s\n",c);

} 指標法:

void invert(char *s)

} main()

printf("input str:\n");

gets(str);

printf("\n%s",str);

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

invert(str);

printf("\n%s",str);

fprintf(fp,"\n%s",str);

fclose(fp);

} 9、/*下面程式的功能是從字元陣列s中刪除存放在c中的字元。*/

#include

main()

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

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

#include

void sort(int *x,int n)

} } void main()

system("pause");

fclose(fp);

} 11、已知陣列a中的元素已按由小到大順序排列,以下程式的功能是將輸入的乙個數插入陣列a中,插入後,陣列a中的元素仍然由小到大順序排列*/

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中*/

#include

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

} main()

printf("enter a string:\n");

gets(str);

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

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

printf("%s\n",str);

fprintf(fp,"%s\n",str);

replace(str,a,b);

printf("the new string is----%s\n",str);

fprintf(fp,"the new string is----%s\n",str);

fclose(fp);

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

,不存在則返回-1。*/

main()

int search(char s1,char s2)

return -1;

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

struct student

stu[5]=,,,,};

main()

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

#define null 0

struct student

; void main()

while(p!=null);

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

#include

#include

#include

main()

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

#include

void fun(int a,int n)

} 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中。

#include

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

return(2*s);

} main()

pi= countpi(eps);

printf("pi=%lf\n",pi);

fprintf(fp,"pi=%lf\n",pi);

fclose(fp);

}

C語言必背18個經典程式

c語言必背 18個經典程式 1 輸出 9 9口訣。共9行 9列,i控制行,j控制列。include stdio.h main if leap 內迴圈結束後,leap 依然為1,則m 是素數 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 f...

C語言必背18個經典程式

include stdio.h main if leap 內迴圈結束後,leap依然為1,則m是素數 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 include include main printf s n...

C語言必背18個經典程式

c語言必背18個經典程式 include stdio.h main if leap 內迴圈結束後,leap依然為1,則m是素數 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 include include ma...