接著上次來說,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開始判斷 及執行結果如下 ...