11、請撰寫函式fun,它的功能是計算下列級數和,和值由函式值回傳,

例如,當n=10,x=0.3時,函式值為1.349859,
注意:請勿改動主函式main和其他函式中的任何內容,僅在函式fun的花括號中填入你撰寫的若干陳述句,
#include<stdio.h> double fun(double x, int n) { } int main() { printf("%f\n",fun(0.3,10)); return 0; }
double fun(double x, int n) { double sum=1,item=1; int i; for (i=1;i<=n;i++) { item=item*x/i; sum+=item; } return sum; }參考程式
12、撰寫函式fun,其功能是:求出1~1000之間能被7或11整除,但不能同時被7和11整除的所有整數,并將其放在a所指的陣列中,通過n回傳這些數的個數,
注意:請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你撰寫的若干陳述句,
#include <stdio.h> void fun (int *a, int *n) { } int main() { int aa[1000], n, k ; fun (aa, &n ) ; for ( k = 0 ; k < n ; k++ ) if ((k + 1) % 10 == 0) printf("\n") ; else printf("%5d", aa[k]) ; return 0; }
void fun (int *a, int *n) { int i,k=0; for (i=1;i<=1000;i++) if ((i%7==0 || i%11==0) && i%77!=0) a[k++]=i; *n=k; }參考程式
13、請撰寫函式void fun (int x, int pp[], int *n),它的功能是:求出能整除x且不是偶數的各整數,并按從小到大的順序放在pp所指的陣列中,這些除數的個數通過形參n回傳,
例如,若x中的值為30,則有4個數符合要求,它們是1、3、5、15,
注意:請勿改動主函式main和其他函式中的任何內容,僅在函式fun的花括號中填入你撰寫的若干陳述句,
#include <stdio.h> void fun (int x, int pp[], int *n) { } int main() { int x,aa[1000], n, i ; printf("\nPlease enter an integer number : \n ") ; scanf ("%d", &x) ; fun (x, aa, &n) ; for (i=0 ; i<n ; i++) printf ("%d ", aa [i]); printf ("\n ") ; return 0; }
void fun (int x, int pp[], int *n) { int i,k=0; for (i=1;i<=x;i+=2) if (x%i==0) pp[k++]=i; *n=k; }參考程式
14、請編函式fun,其功能是將一個數字字串轉換成與其面值相同的長整型整數,可呼叫strlen函式求字串的長度,例如:在鍵盤輸入字串2345210,函式回傳長整型數2345210,
注意:請勿改動主函式main和其他函式中的任何內容,僅在函式fun指定的部位填入所撰寫的若干陳述句,
#include <stdio.h> #include <string.h> long fun(char *s ) { } int main() { char s[10]; long r; printf("請輸入一個長度不超過9個字符的數字字串 : "); gets(s); r = fun( s ); printf(" r = %ld\n" , r ); return 0; }
long fun(char *s ) { long num=0; int i; for (i=0;s[i]!='\0';i++) num=num*10+s[i]-'0'; return num; }參考程式
15、假定輸入的字串中只包含字母和*號,請撰寫函式fun,其功能是:除了尾部的*號之外,將字符中的其它的*號全部洗掉,形參p已指向字串中最后的一個字母,在撰寫函式時,不得使用C語言提供的字串函式,
例如,字串中的內容為****A*BC*DEF*G*******,洗掉后,字串中的內容應當是ABCDEFG*******,
注意:請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你撰寫的若干陳述句,
#include <stdio.h> void fun( char *a, char *p ) { } int main() { char s[81],*t; printf("Enter a string:\n"); gets(s); t=s; while(*t) t++; t--; while(*t=='*') t--; fun(s ,t); printf("The string after deleted:\n");puts(s); return 0; }
void fun( char *a, char *p ) { char *q1,*q2; q1=a; q2=a; while (q1!=p) { if (*q1!='*') { *q2=*q1; q2++; } q1++; } while (*q1) *q2++=*q1++; *q2='\0'; }參考程式
16、撰寫函式void fun(char *tt,int pp[]),統計在tt所指的字串中'a'到'z'26個小寫字母各自出現的次數,并依次放在pp所指的陣列中,
例如,當輸入字串abcdefgabcdeabc后,程式的輸出結果應該是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意:請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你撰寫的若干陳述句,
#include <stdio.h> #include <string.h> void fun(char *tt, int pp[]) { } int main() { char aa[1000] ; int bb[26], k ; printf( "\nPlease enter a char string:" ) ; scanf("%s", aa) ; fun(aa, bb ) ; for ( k = 0 ; k < 26 ; k++ ) printf ("%d ", bb[k]) ; printf( "\n" ) ; return 0; }
void fun(char *tt, int pp[]) { int i; for (i=0;i<26;i++) pp[i]=0; for (i=0;tt[i]!='\0';i++) pp[tt[i]-'a']++; }參考程式
17、下列程式定義了N×N的二維陣列,并在主函式中自動賦值,請撰寫函式fun(int a[][N]),該函式的功能是:將陣列左下半三角元素中的值全部置成0,例如a陣列中的值為:
1 9
7
2 3
8
4 5
6
則回傳主程式后a陣列中的值應為:
0 9
7
0 0
8
0 0
0
注意:請勿改動main函式和其他函式中的任何內容,僅在函式fun的花括號中填入你撰寫的若干陳述句,
#include <stdio.h> #include <stdlib.h> #define N 5 void fun (int a[][N]) { } int main() { int a[N][N],i,j; printf("*****The array*****\n"); for(i=0;i<N;i++) /*產生一個隨機的5*5矩陣*/ { for(j=0;j<N;j++) { a[i][j]=rand()%10; printf("%4d", a[i][j]); } printf("\n"); } fun(a); printf("THE RESULT\n"); for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%4d",a[i][j]); printf("\n"); } return 0; }
void fun (int a[][N]) { int i,j; for (i=0;i<N;i++) for (j=0;j<=i;j++) a[i][j]=0; }參考程式
18、請撰寫函式fun,該函式的功能是:洗掉一維陣列中所有相同的數,使之只剩一個,陣列中的數已按由小到大的順序排列,函式回傳洗掉后陣列中資料的個數,
例如,若一維陣列中的資料是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
洗掉后,陣列中的內容應該是:
2 3 4 5 6 7 8 9 10,
注意:請勿改動main函式和其他函式中的任何內容,僅在函式fun的花括號中填入所撰寫的若干陳述句,
#include <stdio.h> #define N 80 int fun(int a[], int n) { } int main() { int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10}, i, n=20; printf("The original data :\n"); for(i=0; i<n; i++) printf("%3d",a[i]); n=fun(a,n); printf("\nThe data after deleted :\n"); for(i=0; i<n; i++) printf("%3d",a[i]); printf("\n"); return 0; }
int fun(int a[], int n) { int i,j; for (i=1,j=0;i<n;i++) if (a[j]!=a[i]) a[++j]=a[i]; return j+1; }參考程式
19、請撰寫函式fun,其功能是:找出2×M整型二維陣列中最大元素的值,并將此值回傳呼叫函式,
注意:請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你撰寫的若干陳述句,
#include <stdio.h> #define M 4 int fun (int a[][M]) { } int main() { int arr[2][M]={5,8,3,45,76,-4,12,82} ; printf("max =%d\n", fun(arr)) ; return 0; }
int fun (int a[][M]) { int max=a[0][0]; int i,j; for (i=0;i<2;i++) for (j=0;j<M;j++) if (max<a[i][j]) max=a[i][j]; return max; }參考程式
20、請撰寫一個函式fun,它的功能是:將ss所指字串中所有下標為奇數位置的字母轉換為大寫(若該位置上不是字母,則不轉換),
例如,若輸入"abc4Efg",則應輸出"aBc4EFg",
注意:請勿改動主函式main和其他函式中的任何內容,僅在函式fun的花括號中填入你撰寫的若干陳述句,
#include<stdio.h> #include<string.h> void fun(char *ss) { } int main() { char tt[81]; printf("\nPlease enter an string within 80 characters:\n"); gets(tt); printf("\nAfter changing, the string\n %s",tt); fun(tt); printf("\nbecomes\n %s\n",tt); return 0; }
void fun(char *ss) { int i; for (i=1;i<strlen(ss);i+=2) if (ss[i]>='a' && ss[i]<='z') ss[i]=ss[i]-32; }參考程式
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/535957.html
標籤:C
