




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、文檔供參考,可復制、編制,期待您的好評與關注! 1請編寫函數fun,其功能是:找出2×M整型二維數組中最大元素的值,并將此值返回調用函數。int fun (int a M)int i,j,maxa00;for(i0;i<2;i)for(j0;j<M;j)if(max<aij) maxaij;return max;2編寫函數fun,其功能是:根據以下公式求的值(要求精度0.0005,即某項小于0.0005時停止迭代)。 程序運行后,若輸入精度0.0005,則程序應輸出為3.14。double fun( double eps)double s1.0,s11.0;int
2、n1;while(s1>eps)/*當某項大于精度要求時,繼續求下一項*/s1s1sss1;/*求和*/n;return 23編寫函數fun,其功能是:求出1到1000之間能被7或11整除,但不能同時被7和11整除的所有整數,并將其放在a所指的數組中,通過n返回這些數的個數。void fun(int *a,int *n)int i,j0;for(i1;i<1000;i) /*求1到1000之內能被7或11整除但不能同時被7和11整除的所有整數,并放入數組a中*/if(i%70|i%110)&&i%77!0) aji;*nj;/*傳回滿足條件的數的個數*/4規定輸入的
3、字符串中只包含字母和*號。編寫函數fun,其功能是:刪除字符串中所有的*號。編寫函數時,不得使用C語言提供的字符串函數。例如,字符串中的內容為:*A*BC*DEF*G*,刪除后字符串中的內容應當是:ABCDEFG。void fun(char *a)int i,j0;for(i0;ai!0;i) if(ai!*) ajai;/*若不是要刪除的字符*則留下*/aj0;/*最后加上字符串結束符0*/5編寫函數fun,其功能是:實現兩個字符串的連接(不要使用庫函數strcat),即把p2所指的字符串連接到p1所指的字符串的后面。例如,分別輸入下面兩個字符串:FirstStringSecondStrin
4、g程序輸出:FirstStringSecondStringvoid fun(char p1,char p2)int i,j;for(i0;p1i!0;i); /*求出的i為p1字符串的總長度,包括結束標記符*/for(j0;p2j!0;j)p1ip2j;/*將p2字符串連在p1字符串后面*/p1i0;/*在字符串最后加上結束標記符*/6某學生的記錄由學號、8門課程成績和平均分組成,學號和8門課程的成績已在主函數中給出,請編寫函數fun,其功能是:求出該學生的平均分,并放入記錄的ave成員中。例如,學生的成績是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應為78
5、.875。void fun(STREC *a)int i;a>ave0.0;for(i0;i<N;i)a>avea>avea>si;/*求各門成績的總和*/a>avea>ave/N;/*求平均分*/7 N名學生的成績已在主函數中放入一個帶頭節點的鏈表結構中,h指向鏈表的頭節點。請編寫函數fun,其功能是:求出平均分,并由函數值返回。例如,若學生的成績是:8576698591726487,則平均分應當是:78.625。double fun(STREC *h)double av0.0;STREC *ph>next;/*p直接指向"頭結點&q
6、uot;的下一個結點,即第一個成績*/while(p!NULL)avavp>s;/*求總分數*/pp>next;return av/N;/*返回平均值*/8編寫函數fun,其功能是:將所有大于1小于整數m的非素數存入xx所指數組中,非素數的個數通過k返回。例如,若輸入17,則應輸出:46891012141516。void fun(int m, int *k, int xx)int i,j,n0;for(i4;i<m;i)/*找出大于1小于整數m的非素數*/for(j2;j<i;j)if(i%j0) break;if(j<i) xxni;*kn;/*返回非素數的個數
7、*/9編寫函數fun,其功能是:求ss所指字符串中指定字符的個數,并返回此值。例如,若輸入字符串123412132,輸入字符為1,則輸出3。int fun(char *ss, char c)int i0;for(;*ss!0;ss)if(*ssc) i;/*求出ss所指字符串中指定字符的個數*/return i;10編寫函數fun,其功能是:計算n門課程的平均分,結果作為函數值返回。例如:若有5門課程的成績是:90.5,72,80,61.5,55,則函數的值為:71.80。float fun (float *a, int n)float av0.0;int i;for(i0;i<n;i)
8、/*求分數的總和*/avavai;return (av/n);/*返回平均值*/11學生的記錄由學號和成績組成,N名學生的數據已放入主函數中的結構體數組s中,請編寫函數fun,其功能是:把分數最高的學生數據放在b所指的數組中。注意:分數最高的學生可能不止一個,函數返回分數最高的學生的人數。int fun (STREC *a, STREC *b)int i,j0,maxa0s;for(i0;i<N;i)if(max<ais) maxais;/*找出最大值*/for(i0;i<N;i)if(maxais) bjai;/*找出成績與max相等的學生的記錄,存入結構體b中*/retu
9、rn j;/*返回最高成績的學生人數*/12規定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:除了字符串前導的*號之外,將串中其它*號全部刪除。在編寫函數時,不得使用C語言提供的字符串函數。例如,字符串中的內容為:*A*BC*DEF*G*,刪除后,字符串中的內容應當是:*ABCDEFG。void fun(char *a)int i0;char *pa;while(*p&&*p*)ai*p;i;p;while(*p)if(*p!*)ai*p;i;p;ai0;13編寫函數void fun(char *tt,int pp),統計在tt所指的字符串中'a'
10、到'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 0void fun(char *tt, int pp)int i;for(i0;i<26;i)ppi0;/*初始化pp數組各元素為00;tt)if(*tt>a&&*tt<z) pp*tta; 14規定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:將字符串尾部的*號全部刪除,前面和中間的*號不動。
11、例如,字符串中的內容為:*A*BC*DEF*G*,刪除后,字符串中的內容應當是:*A*BC*DEF*G。在編寫函數時,不得使用C語言提供的字符串函數。void fun (char *a);while(*a!0) a;a;/*指針a指向字符串的尾部*/while(*a*) a;/*指針a指向最后一個字母*/*(a1)0; /*在字符串最后加上結束標志符*/15編寫函數fun,其功能是:比較字符串的長度,(不得使用C語言提供的求字符串長度的函數),函數返回較長的字符串。若兩個字符長度相同,則返回第一個字符串。例如,輸入beijing<CR>shanghai<CR>(<
12、CR>為回車鍵),函數將返回shanghai。char *fun(char *s, char *t)int i,j;for(i0;si! 0;i); /*求字符串的長度*/for(j0;tj! 0;j);if(i>j)/*比較兩個字符串的長度*/return s;/*函數返回較長的字符串,若兩個字符串長度相等,則返回第1個字符串*/else return t;16學生的記錄由學號成績組成,N名學生的數據已放入主函數中的結構體數組s中,請編寫函數fun,其功能是:函數返回該學號的學生數據,指定的學號在主函數中輸入。若沒找到指定學號,在結構體變量中給學號置空串,給成績置1,作為函數值返
13、回。(用于字符串比較的函數是strcmp)。STREC fun(STREC *a, char *b)int i;STREC str"0",1;/*若沒找到指定的學號,在結構體變量中給學號置空串,給成績置1) if(strcmp(ainum,b)0) /*找到指定學號的學生數據*/strai;return str;/*返回學生記錄*/17編寫函數fun,其功能是:將兩個兩位數的正整數a、b合并成一個整數放在c中。合并的方式是:將a數的十位和個位數依次放在c數的十位和千位上,b數的十位和個位數依次放在c數的百位和個位上。例如,當a45,b12時,調用該函數后,c 5142。vo
14、id fun(int a,int b,long *c)*cb%10(a/10)*10(b/10)*100(a%10)*1000;18編寫函數fun,其功能是:利用下面的簡單迭代方法求方程cos(x)x0的一個實根。xn1cos(xn)迭代步驟如下:(1)取x1初值為0.0;(2)x0x1,將x1的值賦給x0;(3)x1cos(x0),求出一個新的x1;(4)若x0x1的絕對值小于0.000001,執行步聚(5),否則執行步聚(2);(5)所求x1就是方程cos(x)x0的一個實根,作為函數值返回。程序將輸出結果Root0.739086。float fun()float x10.0,x0;dox
15、0x1;x1cos(x0);while (fabs(x0-x1)>1e6);return x1;19規定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:將字符串中的前導*號全部移到字符串的尾部。例如,字符串中的內容為:*A*BC*DEF*G*,移動后,字符串中的內容應當是:A*BC*DEF*G*。在編寫函數時,不得使用C語言提供的字符串函數。void fun(char *a)int i0,n0;char *p;pa;while (*p*) /*判斷*p是否是*號,并統計*號的個數*/n;p;while(*p) /*將前導*號后的字符傳遞給a*/ai*p;i;p;while(n
16、!0)ai*;i;n;ai0; 20編寫函數fun,其功能是:將兩個兩位數的正整數a、b合并成一個整數放在c中。合并的方式是:將a數的十位和個位數依次放在c數的個位和百位上,b數的十位和個位數依次放在c數的千位和十位上。例如,當a45,b12時,調用該函數后,c1524。void fun(int a,int b,long *c)*ca/10(b%10)*10(a%10)*100(b/10)*1000;21編寫函數fun,其功能是計算:s作為函數值返回。在C語言中可調用log(n)函數求ln(n)。log函數的引用說明為:double log(double x)。例如,若m的值為20,則fun函
17、數值為6.506583。double fun(int m)int i;double s0.0;for(i1;i<m;i) sslog(i);/*計算sln(1)ln(2)ln(3)ln(m)*/return sqrt(s);/*對s求平方根并返回*/22規定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:只刪除字符前導和尾部的*號,串中字母間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導*號的個數,形參e給出了字符串中尾部*號的個數。在編寫函數時,不得使用C語言提供的字符串函數。例如,字符串中的內容為:*A*BC*DEF*G*,刪除后,字符串中的內容應當是
18、:A*BC*DEF*G。void fun (char *a,int n ,int h , int e)int i,j0;for(ih;i<ne;i)/*第一個字母和最后一個字母之間的字符全不刪除*/ajai;aj0; /*在字符串最后加上結束標識*/23函數fun的功能是:將s所指字符串中下標為偶數的字符刪除,剩余字符形成的新串放在t所指數組中。例如,當s所指字符串中的內容為"ABCDEFGHIJK"時,在t所指數組中的內容應是:"BDFHJ"。void fun(char *s,char t)int i,j0,kstrlen(s);/*k為字符串的
19、長度*/for(i1;i<k;ii2)/*將s所指字符串中下標為奇數的字符存入t所指字符串中*/tjsi;24編寫函數fun,其功能是:將a、b中的兩個兩位正整數合并成一個新的整數放在c中。合并的方式是:將a中的十位和個位數依次放在變量c的百位和個位上,b中的十位和個位數依次放在變量c的十位和千位上。例如,當a45,b12,調用該函數后c2415。void fun(int a,int b,long *c)*ca%10(b/10)*10(a/10)*100(b%10)*1000;25假定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:除了尾部的*號之外,將字符中的其它的*號全部
20、刪除。形參p已指向字符串中最后的一個字母。在編寫函數時,不得使用C語言提供的字符串函數。例如,字符串中的內容為*A*BC*DEF*G*,刪除后,字符串中的內容應當是ABCDEFG*。void fun(char *a,char *p)char *ta;for(;t<p;t)if(*t!*) *(a)*t;/*將p以前所有不是*號的字符保留下來*/for(;*t!0;t)*(a)*t;/*將p以后的所有*號保留下來*/*a0;/*在字符串最后加上字符串結束標識*/26學生的記錄由學號和成績組成,N名學生的數據已放入主函數中的結構體數組s中,請編寫函數fun,其功能是:按分數降序排列學生的記錄
21、,高分在前,低分在后。void fun (STREC a)int i,j;STREC t;for(i1;i<N;i)/*用冒泡法進行排序,進行N1次比較*/ for(j0;j<N1;j)/*在每一次比較中要進行N1次兩兩比較*/if(ajs<aj1s)taj;ajaj1;aj1t;/*按分數的高低排列學生的記錄,高分在前*/27學生的記錄由學號和成績組成。N名學生的數據已放入主函數中的結構體數組s中,請編寫函數fun,其功能是:把高于等于平均分的學生數據放在b所指的數組中,高于等于平均分的學生人數通過形參n傳回,平均分通過函數值返回。double fun (STREC *a,
22、STREC *b, int *n)int i;double av0.0;*n0;for(i0;i<N;i)avavais;avav/N;/*求平均值*/for(i0;i<N;i) if(av<ais) b*nai;*n*n1;/*將高于等于平均分的學生存入b所指存儲單元中,并統計人數*/return av;/*返回平均分*/28編寫函數fun,其功能是:將1到m之間(含m)能被7或11整除的所有整數放在數組a中,并通過n返回這些數的個數。例如,若傳給m的值為50,則程序輸出:711142122283335424449void fun(int m, int *a, int *n
23、)int i,j0;for(i1;i<m;i)if(i%70|i%110)/*求出1到m(含m)之內能被7或11整除的所有整數放在數組a中*/aji;*nj;/*返回這些數的個數*/29規定輸入的字符串中只包含字母和*號。編寫函數fun,其功能是:將字符串中的前導*號全部刪除,中間和尾部的*號不刪除。例如,字符串中的內容為:*A*BC*DEF*G*,刪除后字符串中的內容應當是:A*BC*DEF*G*。編寫函數時,不得使用C語言提供的字符串函數。void fun (char *a)char *pa;while(*p*) p;/*指針p指向字符串第一個字母*/for(;*p!0;p,a) *
24、a*p;/*從第一個字母開始,其后的字符都放入指針a所指的字符串中*/*a0; /*在字符串最后加上字符串結束標識*/30 N名學生的成績已在主函數中放入一個帶有頭節點的鏈表結構中,h指向鏈表的頭節點。請編寫函數fun,其功能是:找出學生的最高分,并由函數值返回。double fun(STREC *h)double maxh>s;while(h!NULL)/*通過循環找到最高分數*/if(max<h>s) maxh>s; hh>next;return max;31請編寫函數fun,其功能是:找出一維整型數組元素中最大的值及其所在的下標,并通過形參傳回。數組元素中的
25、值已在主函數中賦予。主函數中x是數組名,n是x中的數據個數,max存放最大值,index存放最大值所在元素的下標。void fun(int a,int n, int *max, int *d)int i;*maxa0;*d0;for(i0;i<n;i)/*將最大的元素放入指針max所指的單元,最大元素的下標放入指針d所指的單元*/if(*max<ai)*maxai;*di;32編寫函數fun,其功能是:將s所指字符串中除了下標為奇數同時ASCII值也為奇數的字符之外,其余的所有字符全部刪除,串中剩余字符所形成的一個新串放在t所指的數組中。例如,若s所指字符串的內容為:"A
26、BCDEFG12345",其中字符A的ASCII碼值為奇數,但所在元素的下標為偶數,因此需要刪除;而字符1的ASCII碼值為奇數,所在數組中的下標也為奇數,因此不應當刪除,其它依此類推。最后t所指數組中的內容應為:"135"。void fun(char *s,char t) int i,j0,n;nstrlen(s);for(i0;i<n;i)if(i%2!0&&si%2!0) tjsi;/*將下標為奇數同時ASCII碼值為奇數的字符放入數組t中*/ j;tj0; /*最后加上結束標識符*/33編寫函數fun,其功能是:實現BAA',
27、即將矩陣A加上A的轉置,存放在矩陣B中。計算結果在main函數中輸出。例如,輸入下面的矩陣:其轉置矩陣為: 程序輸出:26106 1014101418void fun (int a33, int b33)int i,j;for(i0;i<3;i)for(j0;j<3;j) bijaijaji; /*把矩陣a加上a的轉置,存放在矩陣b中*/34請編寫函數fun,該函數的功能是:統計各年齡段的人數。N個年齡通過調用隨機函數獲得,并放入主函數的age數組中。要求函數把0至9歲年齡段的人數放在d0中,把10至19歲年齡段的人數放在d1中,把20至29歲年齡段的人數放在d2中,依此類推,把1
28、00歲(含100歲)以上年齡的人數都放在d10中。結果在主函數中輸出。void fun(int *a, int *b)int i,j;for(j0;j<M;j) bj0;/*數組b初始化為0) if(ai>100) b10;/*如果年齡大于等于100,b10自增1;/*如果年齡小于100,則將其分別統計到bai/10中*/35學生記錄由學號和成績組成,N名學生的數據已放入主函數中的結構體數組中,請編寫函數fun,其功能是:把分數最低的學生數據放入b所指的數組中,注意:分數最低的學生可能不止一個,函數返回分數最低的學生人數。int fun(STREC *a,STREC *b)int
29、i,j0,n0,min;mina0s;for(i0;i<N;i) if(ais<min) minais;for(i0;i<N;i) if(aismin) *(bj)ai;j;n; return n;36請編寫函數fun,該函數的功能是:移動字符串中的內容,移動的規則是把第1m個字符,平移到字符串的最后,把第m1到最后的字符移到字符串的前部。例如,字符串中原有的內容為ABCDEFGHIJK,m的值為3,移動后,字符串中的內容應該是DEFGHIJKABC。void fun (char *w,int m)int i,j;char t;for(i1;i<m;i)/*進行m次的循
30、環左移*/tw0; for(j1;wj!0;j) /*從第2個字符開始以后的每個字符都依次前移一個字符*/ wj1wj; wj1t;/*將第1個字符放到最后一個字符中*/37編寫函數fun,其功能是:刪除一個字符串中指定下標的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的數組中,n中存指定的下標。例如,輸入一個字符串world,然后輸入3,則調用該函數后的結果為word。void fun (char a(), char b(), int n)int i,k0;for(i0;ai!0;i) if(i!n)/*將不是指定下標的字符存入數組b中*/ bkai;bk0;/*在字符串最
31、后加上結束標識*/38編寫函數fun,w是一個大于10的無符號整數,若w是n(n2)位的整數,則函數求出w的后n1位的數作為函數值返回。例如,w值為5923,則函數返回923;若w值為923,則函數返回23。unsigned fun(unsigned w)if(w>10000) return w%10000;/*求出n位整數w的后n1位的數*/if(w>1000) return w%1000;if(w>100) return w%100;if(w>10) return w%10;39請編寫函數fun,該函數的功能是:將M行N列的二維數組中的數據,按行的順序依此放到一維數
32、組中,一維數組中數據的個數存放在形參n所指的存儲單元中。例如,若二維數組中的數據為:333333334444444455555555則一維數組中的內容應該是333333334444444455555555void fun (int (*s)10, int *b, int *n, int mm, int nn)int i,j,k0;for(i0;i<mm;i)/*將二維數組s中的數據按行的順序依次放到一維數組b中*/for(j0;j<nn;j)bksij;*nk;/*通過指針返回元素個數*/40編寫函數fun,其功能是:根據以下公式計算s,并計算結果作為函數值返回,n通過形參傳入。
33、例如:若n的值為11時,函數的值為1.833333float fun(int n)int i,s10;float s0.0;for(i1;i<n;i)s1s1i;/*求每一項的分母*/ ss1.0/s1;/*求多項式的值*/ return s; s1s1i;/*求每一項的分母*/ ss1.0/s1;/*求多項式的值*/ return s; 41編寫函數fun,其功能是:將s所指字符串中ASCII值為奇數的字符刪除,剩余字符形成的新串放在t所指數組中。例如,若s所指字符串中的內容為:"ABCDEFG12345",其中字符A的ASCII碼值為奇數、字符1的ASCII碼值也
34、為奇數、都應當刪除,其它依此類推。最后t所指的數組中的內容應是:"BDF24"。void fun(char *s,char t)int i,j0,n;nstrlen(s);for(i0;i<n;i)/*找出ASCII碼值為偶數的字符依次存入數組中*/if(si%20)tjsi;j;tj0;?42下列程序定義了N×N的二維數組,并在主函數中自動賦值。請編寫函數fun(int aN),該函數的功能是:將數組左下半三角元素中的值全部置成0。例如a數組中的值為:a1 9 72 3 84 5 6則返回主程序后a數組中的值應為: 0 9 7 0 0 8 0 0 043規
35、定輸入的字符串中只包含字母和*號。編寫函數fun,其功能是:除了字符串前導和尾部的*號外,將串中其它的*號全部刪除。形參h已指向字符串中第一個字母,形參p指向字符串的中最后一個字母。在編寫函數時,不得使用C語言提供的字符串函數。例如,若字符串中的內容為*A*BC*DEF*G*,刪除后,字符串中的內容應當是:*ABCDEFG*。在編寫函數時,不得使用C語言提供的字符串函數。void fun(char *a,char *h,char *p)int i0;char *qa;while (q<h)/*判斷前導*號的結束*/ai*q;q;i;while (q<p) /*刪除除了字符串前導和尾
36、部的*號*/if(*q!*)ai*q;i;q;while (*q) ai*q;i;q;ai0;44函數fun的功能是:將a、b的兩個兩位正整數合并成一個新的整數放在c中。合并的方式是:將a中的十位和個位數依次放在變量c的百位和個位上,b中的十位和個位數依次放在變量c的千位和十位上。例如,當a45,b12,調用該函數后c1425。void fun(int a,int b,long *c)*ca%10(b%10)*10(a/10)*100(b/10)*1000;45規定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:使字符串的前導*號不得多于n個,若多于n個,則刪除多余的*號;若少于或
37、等n個,則不做處理,字符串中間和尾部的*號不刪除。例如,字符串中的內容為:*A*BC*DEF*G*,若n的值為4,刪除后,字符串中的內容應當是:*A*BC*DEF*G*;若n的值為8,則字符串中的內容仍為:*A*BC*DEF*G*。n的值在主函數中輸入。在編寫函數時,不得使用C語言提供的字符串函數。void fun(char *a,int n )int i0, k0; char *p, *t;pta;/*開始時,p與t同時指向數組的首地址*/while(*t*)/*用k來統計前部星號的個數*/k; t;if(k>n)/*如果k大于n,則使p的前部保留n個星號,其后的字符依次存入數組a中*
38、/ while(*p)ai*(pkn);i; p; ai0;/*在字符串最后加上結束標識位*/46編寫函數fun,其功能是:將兩個兩位數的正整數a、b合并成一個整數放在c中。合并的方式是:將a數的十位和個位數依次在c數的個位和百位上,b數的十位和個位數依次放在c數的十位和千位上。例如,當a45,b12時,調用該函數后c2514。void fun(int a,int b,long *c)*ca/10(b/10)*10(a%10)*100(b%10)*1000;47請編寫函數fun,其功能是:將一個數字字符串轉換為一個整數(不得調用C語言提供的將字符串轉換為整數的函數)。例如,若輸入字符串&quo
39、t;1234",則函數把它轉換為整數值1234。long n0;int flag1;if(*p)/*負數時置flag為1;flag 1;else if(*p)/*正數時置flag為1p;while(*p!0)nn*10*p0;/*將字符串轉成相應的整數*/p;return n*flag;48編寫函數fun,其功能是:求Fibonacci數列中大于t的最小的數,結果由函數返回。Fibonacci數列F(n)的定義為:F(0)0,F(1)1F(n)F(n1)F(n2)例如,當t1000時,函數值為1597。int fun(int t)int f00, f11,f;doff0f1;f0f1
40、; f1f;while(f<t);return f;49學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun ,其功能是:把低于平均分的學生數據放入b所指的數組中,低于平均分的學生人數通過形參n傳回,平均分通過函數值返回學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun ,其功能是:把低于平均分的學生數據放入b所指的數組中,低于平均分的學生人數通過形參n傳回,平均分通過函數值返回50編寫函數fun,其功能是:將ss所指字符串中所有奇數位上的字母轉換為大寫(若該位置上不是字母,則不轉換)。例如,若輸入"
41、abc4EFg",則應輸出"aBc4EFg"void fun(char *ss)int i;for(i0;ssi!0;i) /*將ss所指字符串中所有下標為奇數位置的字母轉換為大寫*/ if(i%21&&ssi>a&&ssi<z) ssissi32;51編寫函數fun,其功能是:將a、b中的兩個兩位數正整數合并成一個新的整數放在c中。合并的方式是:將a中的十位和個位數依次放在變量c的千位和十位上,b中的十位和個位數依次在變量c的個位和百位上。例如,當a45,b12,調用該函數后c4251void fun(int a,in
42、t b,long *c)*cb/10(a%10)*10(b%10)*100(a/10)*1000;52規定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:使字符串中尾部的*號不多于n個,若多于n個,則刪除多余的*號;若少于或等于n個,則不做任何操作,字符串中間和前面的*號不刪除。例如,字符串中的內容為:*A*BC*DEF*G*,若n的值為4,刪除后,字符串中的內容應為:*A*BC*DEF*G*;若n的值為7,則字符串中的內容仍為:*A*BC*DEF*G*。n的值在主函數中輸入。編寫函數時,不得使用C語言提供的字符串函數。void fun( char *a,int n )int i0
43、,k0;char *p, *t;pta;while(*t)t;t;while(*t*)k;t;if(k>n)while(*p&&p<tn1)ai*p; i;p; ai0;53函數fun的功能是:將s所指字符串中除下標為偶數同時ASCII碼值也為偶數的字符外,其余的全部刪除;字符串中剩余字符所形成的新串放在t所指的數組中。例如,若s所指字符串中的內容為:"ABCDEFG123456",其中字符A的ASCII碼值為奇數,因此應當刪除;其中字符B的ASCII碼值為偶數,但在數組中的下標為奇數,因此也應當刪除;字符2的ASCII碼值為偶數,但在數組中的下
44、標為奇數,因此不應當刪除,其它依此類推。最后t所指的數組中的內容應是"246"。void fun(char*s, char t)int i,j0;for(i0;si!0;i)if(i%20&&si%20) /*將s所指字符串中下標和ASCII碼值都為偶數的字符放入數組t中*/tjsi;tj0/*在字符串最后加上結束標識*/54函數fun的功能是:將兩個兩位數的正整數 a、b合并成一個整數放在c中。合并的方式是:將a數的十位和個位數依次放在c數的千位和十位上,b數的十位和個位數依次放在c數的百位和個位上。例如,當a45,b12時,調用該函數后c4152。voi
45、d fun(int a,int b,long *c)*cb%10(a%10)*10(b/10)*100(a/10)*1000;55學生的記錄由學號和成績組成,N名學生的數據已放入主函數中的結構體數組s中,請編寫函數fun,其功能是:把指定分數范圍內的學生數據放在b所指的數組中,分數范圍內的學生人數由函數值返回。例如,輸入的分數是6069,則應當把分數在6069的學生數據輸出,包含60分和69分的學生數據。主函數中把60放在low中,把69放在heigh中。int fun (STREC *a, STREC *b, int l, int h )int i,j0;for(i0;i<N;i)if
46、(ais>l&&ais<h) /*將分數高于l,低于h的學生記錄存于結構體數組b中*/bjai;return j;/*返回分數范圍內的學生人數*/56請編寫一個函數int fun(int *s,int t,int *k),用來求出數組的最大元素在數組中的下標并存放在k所指向的存儲單元中。例如,輸入如下整數:876 675 896 101 301 401 980 431 451 777則輸出結果為6,980。int fun(int *s,int t,int *k)int i;*k0;/*k所指的數是數組的下標值*/for(i0;i<t;i)if(s*k<s
47、i) *ki;/*找到數組的最大元素,把該元素的下標賦給k所指的數*/return s*k;/*返回數組的最大元素*/57請編寫函數fun,其功能是:計算并輸出當x<0.97時,如下多項式的值,直到|SnSn1|<0.000001為止。例如,若主函數從鍵盤給x輸入0.21后,則輸出為S1.100000。 double fun(double x)double s11.0,p1.0,sum0.0,s0,t1.0;int n1;dos0s1;sums0;t*n;p*(0.5n1)*x;s1p/t;n;while(fabs(s1s0)>1e6);return sum;58編寫函數fu
48、n,它的功能是:根據以下公式求p的值,結果作為函數值返回。m與n為兩個正數且要求m>n。pm!/(n!(mn)!)例如,m12,n8時,運行結果為 495.000000。float fun (int m, int n)int i;double p1.0;for(i1;i<m;i) pp*i;/*求m!*/for(i1;i<n;i) pp/i;/求m!/n!*/for(i1;i<mn;i) pp/i;/*求m!/(n!(mn)!)*/ return p;59請編寫函數fun,函數的功能是:求出二維數組周邊元素之和,作為函數值返回。二維數組中的值在主函數中賦予。例如,若二維
49、數組中的值為13579299946999813570則函數值為61。int fun( int aMN)int i,j,sum0;for(i0;i<M;i)for(j0;j<N;j)if(i0|iM1|j0|jN1)/*只要下標中有一個為0或M1或N1,則它一定是周邊元素*/sumsumaij;/*將周邊元素相加*/return sum;60請編寫函數fun,該函數的功能是:判斷字符串是否為回文,若是則函數返回1,主函數中輸出"YES",否則返回0,主函數中輸出"NO"。回文是指順讀和倒讀都一樣的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。int fun(char *str)int i,n0,fg1;char *pstr;while(*p)/*將指針p置位到字符串末尾,并統計字符數*/n;p;for(i0;i<n/2;i)/*循環比較字符*/if(stristrn1i) ;/*相同,什么都不作*/else/*不同,直接跳出循環*/fg0;break;return fg;61編寫函數int fun(int lim, int aaMAX),該函數的功能是求出小于或等于lim的所有素數并放在aa數組中,該函數返回所求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國涂料用殺菌劑市場調查研究報告
- 2025年中國流水線球市場調查研究報告
- 2025年中國沉水式羅茨鼓風機市場調查研究報告
- 2025年中國氣液壓墻式壓底機市場調查研究報告
- 2025年中國機械泡沫滅火器數據監測報告
- 2025年中國有蓋魚翅碗市場調查研究報告
- 2025年中國無線尋呼屏市場調查研究報告
- 2025年中國手編鉤線市場調查研究報告
- 2025年中國彩鋼玻璃瓦PU發泡成型機數據監測研究報告
- 2025年中國平面研磨機市場調查研究報告
- 2024年吉林省中考歷史試卷真題(含答案)
- 免檢車輛標志委托書
- 人教鄂教版科學18《制作日晷》課件-科學四年級下冊人教鄂教版
- 員工手冊民主程序步驟及相應簽字文件
- 數字煉化廠整體解決方案
- 信息安全、網絡安全和隱私保護-信息安全控制清單(2024A1-雷澤佳編制)
- (正式版)HGT 20593-2024 鋼制化工設備焊接與檢驗工程技術規范
- RFJ 003-2021 人民防空工程防護設備產品與安裝質量檢測標準(暫行)
- 養殖場安全培訓課件
- 軟件測試和軟件質量保證
- DB61-T 5071-2023 鋼管桁架裝配式預應力混凝土疊合板技術標準
評論
0/150
提交評論