C語言經典程序片段

2023-01-13 07:57:02 字數 4163 閱讀 7781

以下程式只能出了實現程式功能的核心語句,請掌握其程式設計思想。

1. 編寫函式fun求1!+2!+3!+ …… +n!的和,在main函式中由鍵盤輸入n值,並輸出運算結果。請編寫fun 函式。

int i;

float f=1,s=0;

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

return s;

2. 從鍵盤為一維整型陣列輸入10個整數,呼叫fun函式找出其中最小的數,並在main函式中輸出。 請編寫fun函式。

int min,i;

min=x[0];

for(i=1;i

return j;

4. 輸入2個學生3門課的成績,計算學生成績平均分,課程平均分和最高分.

int i,j;

float sum;

for(i=0;i<2;i計算第i個學生平均分*/

for(j=0;j<3;j計算第j門課的平均分*/

max=score[0][0];

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

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

if(max<=score[i][j])

max=score[i][j]; }

return ;

5. 從字串s中刪除指定的字元c。

int i,k=0;

for(i=0;s[i]!='\0';i++)

if(s[i]!=c) s[k++]=s[i];

s[k]='\0';

6. 求出二維陣列周邊元素之和,作為函式值返回。二維陣列的值在主函式中賦予。

int s=0;

int i,j;

for(i=0;i s=s+a[i][0]+a[i][n-1];

for(j=1;j s=s+a[0][j]+a[m-1][j];

return s;

7. 求出菲波那契數列的前一項與後一項之比的極限的近似值。

float f1=1,f2=1,f3;

float r1=2,r2;

dowhile(fabs(r1-r2)>1e-4);

return r1;

8. 求乙個四位數的各位數字的立方和。

int d,k,s=0;

while (n>0)

return s;

9. 求1到100之間的偶數之積。

double y=1;

int i;

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

if(i%2==0)y*=i;

return y;

10. 找出一批正整數中的最大的偶數。

int i,amax=-1;

for(i=0;i if(a[i]%2==0)

if (a[i]>amax) amax=a[i];

return amax;

11. 求5行5列矩陣的主、副對角線上元素之和。注意,兩條對角線相交的元素只加一次。

int s=0;

int i,j;

for(i=0;i s=s+a[i][i]+a[i][m-1-i];

s=s-a[(m-1)/2][(m-1)/2];

return s;

12. 計算並輸出給定整數n的所有因子之和(不包括1與自身)。注意:n的值不大於1000。

int s=0,i;

for(i=2;i if(n%i==0)s=s+i;

return s;

13. 計算n門課程的平均值,計算結果作為函式值返回。

int i;

float y=0;

for(i=0;i y+=a[i];

y=y/n;

return y;

14. 呼叫函式fun判斷乙個三位數是否"水仙花數"。在main函式中從鍵盤輸入乙個三位數,並輸出判斷結果。請編寫fun函式。

說明:所謂"水仙花數"是指一3位數,其各位數字立方和等於該數本身。

例如:153是乙個水仙花數,因為153=1+125+27。

int bw,sw,gw;

bw=n/100;sw=(n-bw*100)/10;gw=n%10;

if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;

else return 0;

15. 從鍵盤為一維整型陣列輸入10個整數,呼叫fun函式找出其中最小的數,並在main函式中輸出。

int min,i;

min=x[0];

for(i=1;i

17. 統計出若干個學生的平均成績,最高分以及得最高分的人數。

int i;float sum=0,**e;

max=array[0];

for(i=0;i

**e=sum/n;

for(i=0;i if(array [i]==max) j++;

return(**e);

18. 求出n×m整型陣列的最大元素及其所在的行座標及列座標(如果最大元素不唯一,選擇位置在最前面的乙個)。

int max,i,j;

max=array [0][0];

row=0;

col=0;

for(i=0;i

}return(max);

19. 輸入乙個字串,過濾此串,只保留串中的字母字元,並統計新生成串中包含的字母個數。

int i,j;

for(i=0,j=0;*(ptr+i)!='\0';i++)

if(*(ptr+i)<='z'&& *(ptr+i)>='a'||*(ptr+i)<='z' && *(ptr+i)>='a')

*(ptr+j)='\0';

return(j);

20. 判斷m是否為素數。

int i,k=1;

if(m<=1) k=0;

for(i=2;i if(m%i==0) k=0;

return k;

21. 在鍵盤上輸入乙個3行3列矩陣的各個元素的值(值為整數),然後輸出主對角線元素的積,並在fun() 函式中輸出。

int sum;

int i,j;

sum=1;

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

sum=sum*a[i][i];

return sum;

22. 編寫函式fun其功能是:根據整型形參m,計算如下公式的值:y=1/2!+1/4!+…+1/m!(m是偶數)

double y=0.0;

int i,j;

double s=1;

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

return y;

23. 判斷乙個整數w的各位數字平方之和能否被5整除,可以被5整除則返回1,否則返回0。

int k,s=0;

do while(w!=0);

if(s%5==0)k=1;

else k=0;

return(k);

24. 求1到w之間的奇數之和。long y=0;

int i;

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

if(i%2==1)y+=i;

return y;

25. 能計算從1開始到n的自然數中偶數的平方的和,n由鍵盤輸入,並在main()函式中輸出。(n是偶數)

int sum,i;

sum =0;

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

return(sum);

26. 在鍵盤上輸入乙個3行3列矩陣的各個元素的值(值為整數),然後輸出主對角線元素的平方和,並在 fun()函式中輸出。

int sum;

int i;

sum=0;

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

sum=sum+a[i][i]*a[i][i];

return sum;

27. 求乙個大於10的n位整數的後n-1位的數,並作為函式值返回。

int n=0;int i=1;

while(w>10)

return n;

28. 能計算從1開始到n的自然數的和,n由鍵盤輸入,並在main()函式中輸出。

int sum,i;

sum =0;

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

return(sum);

29. 編寫程式,實現矩陣(3行3列)的轉置(即行列互換)

int i,j,t;

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

C語言必背經典程序

if leap 內迴圈結束後,leap依然為1,則m是素數 printf 4d m h if h 10 0 printf n leap 1 printf nthe total is d h 4 乙個數如果恰好等於它的因子之和,這個數就稱為 完數 例如6 1 2 3.程式設計 找出1000以內的所有完...

C語言程序

1 請編寫函式fun,對長度為7個字元的字串,除首 尾字元外,將其餘5個字元按降序排列。例如,原來的字串為ceaedca,排序後輸出為cedceaa。參考 include include include int fun char s,int num main 2 請編一函式void fun int ...

C語言程序設計

1.有以下程式 main 執行後輸出結果是 5,6 解析函式strlen 用於計算字串的長度,所給的字串s中,n 是轉義字元,代表乙個 換行 符,表示乙個反斜槓字元 所以字串s的長度為5 sizeof 函式是用來計算字串所佔記憶體的位元組數,5個字元在記憶體中佔5個位元組,由於c規定,在每乙個字串末...