最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

計算機(jī)二級C語言上機(jī)題庫(八)

2021-03-01 08:10 作者:朝顏晚扶桑  | 我要投稿

字符題:

80、將字符串ss中所有下標(biāo)為偶數(shù)位置上的字母轉(zhuǎn)化為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。若輸入abc4Efg,則應(yīng)輸出AbC4EfG.

void fun( char *ss)

{int i;

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

{if(i%2= =0&&ss[i]>=a&&ss[i]<=z)

ss[i]=ss[i]-32;}}

81、將ss所指字符串中所有下標(biāo)為偶數(shù)位置的字母轉(zhuǎn)換為小寫(若該位置上不是字母,則不轉(zhuǎn)換)。若輸入ABC4efG,則應(yīng)輸出aBc4efg.

void fun(char *ss)

{int i;

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

{if(i%2==0&&ss[i]>=A&&ss[i]<=Z)

ss[i]=ss[i]!+32;}

82、將s所指字符串中下標(biāo)為偶數(shù)同時ASCII值也為偶數(shù)的字符刪除,s中剩余的字符形成一個新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,最后t所指的數(shù)組中的內(nèi)容應(yīng)是“ABCDEFG135”。

void fun(char *s,char t[])

{int i,slenth,n=0;

slenth=strlen(s);

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

{if(s[i]%2==0&&i%2==0)

else t[n++]=s[i];}t[n]=?'\0';}

83、將s所指字符串中下標(biāo)為奇數(shù)、同時ASCII值也為奇數(shù)的字符刪除,串中剩余的字符形成一個新串放在t所指的數(shù)組中。例如:若s所指串中的內(nèi)容為“ABCDEFG12345”,最后,t所指的數(shù)組中的內(nèi)容是“ABCDEFG24”。

void fun(char *s,char t[])

{int i,slenth,n=0;

slenth=strlen(s);

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

{if(i%2!=0&&s[i]%2!=0);

else t[n++]=s[i];}t[n]=\0;}

84、將s所指字符串中下標(biāo)為奇數(shù)同時ASCII值為奇數(shù)的字符刪除,s中剩余的字符形成的新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為ABCDEFG12345最后,t所指的數(shù)組中的內(nèi)容應(yīng)是“ACEG12345”。

Void fun(char*s,char t[])

{int i,slenth,n=0;

slenth=strlen(s);

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

{if(i%2!=0&&s[i]%2==0);

else t[n++]=s[i];}t[n]=\0;}

85、將s所指字符串中下標(biāo)為偶數(shù)同時ASCII值為奇數(shù)的字符刪除,s中剩余的字符形成的新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi) 容為ABCDEFG12345,則在t所指數(shù)組中的內(nèi)容應(yīng)是BDF12345。

void fun(char*s,char t[])

{int i,j=0,n=

strlen(s);

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

if(!(i%2==0&&s[i]%2!=0))

t[j++]=s[i];t[j]=\0;}

86、將s所指字符中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。例如,當(dāng)s所指字符串中的內(nèi)容為ABCDEFGHIJK,則在t所指數(shù)組中的內(nèi)容應(yīng)是BDFHJ.

void fun(char *s,char t[])

{int i,j=0,k=strlen(s);

For(i=1;i<k;i=i+2)t[j++]=s[i];t[j]=\0;}

87、將s所指字符中下標(biāo)為奇數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。例如,當(dāng)s所指字符串中的內(nèi)容為siegAHdied,則在t所指數(shù)組中的內(nèi)容應(yīng)是seAde.

Void fun(char*s,char t[])

{int i,j=0,k=strlen(s);

For(i=1;i<k;i=i+2)t[j++]=s[i];t[j]=\0;}

88、將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字符形成一新串放在t所指的數(shù)組中。例如,若 ?所指字符串中的內(nèi)容為ABCDEFG12345,最后t所指的數(shù)組 ?內(nèi)容應(yīng)是ACEG135。

89、將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字符形成一新串放在t所指的數(shù)組中。若s ?所指字符串中的內(nèi)容為ABCDEFG1234 ??,最后t所指的數(shù)組 ?的內(nèi)容應(yīng)是BDF24。

Void fun(char*s,char t[])

{int i,j=0,

n=strlen(s);

For(i=0;i<n;i++)

If(s[i]%2==0)

t[j++]=s[i];t[j]=\0;}

90、將s所指字符串中除了下標(biāo)為奇婁,同時ASCII值也為奇數(shù)的字符外,其余的全部刪除,串中剩余字符所形成的一個新串放在t所指的數(shù)組中。若s所指字符串中的內(nèi)容為ABCDEFG12345,最后t所指的數(shù)組中的內(nèi)容應(yīng)是135。

Void fun(char*s,char t[])

{int i,j=0,n;n=

strlen(s);

For(i=0;i<n;i++)

If(i%2!=0&&s[i]%2!=0)

T[j++]=s[i];t[j]=\0;}

91、將s所指字符串中除了下標(biāo)為偶數(shù)、同時ASCII值也為偶數(shù)的字符外,其余的全部刪除,串中剩余字符所形成的一個新串放在t所指的數(shù)組中。若s所指字符串中的內(nèi)容為ABCDEFG123456,最后t所指的數(shù)組中的內(nèi)容應(yīng)是246。

Void fun(char *s,char t[])

{int i,j=0;

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

if(i%2= =0&&s[i]%2= =0)

t[j++]=s[i];t[j]=\0;}

92、將s所指字符串中除了下標(biāo)為偶數(shù)、同時ASCII碼值為奇數(shù)的字符之外,其余的所有字符刪除,串中剩余字符形成的一個新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為ABCDEFG12345,最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。

Void fun(char *s,char t[])

{int i,j=0;

for (i=0;s[i]!=\0

;i++)

{if(i%2==0&&s[i]2!=0)

t[j++]=s[i];}t[j]=\0;}?

93、s所指字符串中除了下標(biāo)為奇數(shù)、同時ASII值為偶數(shù)的字符外,其余的全部刪除,串中剩余字符所形成的一個新串放在t所指的數(shù)組中。例如,若S所指字符串中的內(nèi)容為edB2A4Dsdg,最后t所指數(shù)組中的內(nèi)容應(yīng)是d24。

void fun(char*s,char t[])

{int i,j=0;

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

if(i%2!=0&&s[i]%2==0)

t[j++]=s[i];t[j]='\0';}

94、除了尾部的*號之外將字符串中其他*號全部刪除。形參p已指向字符串中最后一個字母。不得使用字符串函數(shù)例如,若字符串中的內(nèi)容為****A*BC*DEF*G******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是ABCDEFG******.

void fun(char?*a,char?*p)

{char*t=a;

for(;t<=p;t++)

if(*t!='*')*(a++)=*t;

for(;*t!='\0';t++)

*(a++)=*t;*a='\0';}

95、刪除字符串中所有的*不得使用字符串函數(shù)。例如,若字符串中的內(nèi)容為****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是ABCDEFG

void fun(char?*a)

{int i,j=0;

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

if(a[i]!='*')a[j++]=a[i],a[j]='\0';}

96、除了字符前導(dǎo)和尾部的*號之外,將串中其他*號全部刪除。形參h已指向字符串中第一個字母,形參P已指向字符串中最后一個字母。(不得使用字符串函數(shù))。若字符串中的內(nèi)容為***A*BC*DEF*G********,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是****ABCDEFG********。

void fun(char?*a,char?*h,char?*p)

{int i=0;char?*q=a;

while(q<h){a[i++]=*q;q++;}

while(q<p)

{if(*q!='*')a[i++]=*q;q++;}

while(*q){a[i++]=*q;q++;}

a[i]='\0';}

97、除了字符串前導(dǎo)的*號之外,將串中其他*號全部刪除。不得使用字符串函數(shù)。例如,若字符串中的內(nèi)容為****A*BC*DEF*G********,刪除后字符串中的內(nèi)容則應(yīng)當(dāng)是****ABCDEFG。

void fun(char?*a)

{int i=0;char?*p=a;

while(*p&&*p=='*')

{a[i++]=*p;p++;}

while(*p)

{if(*p!='*')a[i++]=*p;p++;}

a[i]='\0';}

98、將字符串尾部的*號全部刪除,前面和中間的*號不刪除。例如,若字符串中的內(nèi)容為***A*BC*DEF*G*******,刪除后的內(nèi)容則應(yīng)當(dāng)是****A*BC*DEF*G。

void fun (char?*a)

while(*a!='\0')a++;a--;

while(*a=='*')a--;*(a+1)='\0';}

99、只刪除字符串前導(dǎo)和尾部的*號,串中字母之間的*都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號的個數(shù),形參e給出了字符串中最后*號的個數(shù)。(不得??使用字符串函數(shù))例如,若字符串中的內(nèi)容為****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是A*BC*DEF*G。

void fun(char?*a,int n,int h,int e)

{int i,j=0;

for(i=h;i<n-e;i++)

a[i++]=a[i];a[j]='\0';}

100、將字符串中的前導(dǎo)*號全部刪除中間和后面的*號不刪除。例如,若字符串中的內(nèi)容為****A*BC*DEF*G*******刪除后的內(nèi)容則應(yīng)當(dāng)是A*BC*DEF*G*******。

void fun(char *a)

{char *p=a;while(*p=='*'p++;

for(;*p!='0';p++,a++)

*a=*p;*a='\0';}

101使字符串中前部的*號不得多余n個;若多余n個,則刪除多余的*號,若少于或等于n個,則什么也不做,字符串中間和尾部的*號不刪除。例如,若字符串中的內(nèi)容為****A*BC*DEF*G*******;若n的值為2,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是****A*BC*DEF*G*******。n的值為4,則字符串中的內(nèi)容為****A*BC*DEF*G*******。n的值在主函數(shù)中輸入。(不得使用字符串函數(shù))。

void fun(char *a,int n )

{int i=0,k=0;char?*p,*t;

p=t=a;while(*t=='*'){k++;t++;}

if(k>n){while(*p){a[i]=*(p+k-n);

i++;p++;}a[i]='\0';}}

102、使字符串中尾部的*號不得多于n個;若多于n個,則刪除多余*號;若少于或等于n個,則什么也不做字符串中間和前面的*號不刪除。例如,字符串中的內(nèi)容為***A*BC*DEF*G*******,若n的值為4,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是***A*BC*DEF*G****;若n的值為7,則字符串中的內(nèi)容仍為****A*BC*DEF*G****; n的值在主函數(shù)中輸入。

void fun(char *a,int n)

{int i=0,k=0;char *p,*t;p=t=a;

while(*t)t++;t--;

while(*t=='*'){k++;t--;}t++;

if(k>n){while(*p&&p<t+n){a[i++]=*p;

p++;}a[i]='\0';}

103將字符串中的前導(dǎo)*號全部移到字符串的尾部。若字符串中的內(nèi)容為********A*BC*DEF*G****移動后,字符串中的內(nèi)容應(yīng)當(dāng)是A*BC*DEF*G***********.

void fun(char *a)

{int i=0,n=0;char *p=a;

while(*p=='*'){n++,p++;}

while(*p){a[i++]=*p;p++;}

while(n!=0){a[i++]='*';n--;}

a[j]='\0';}

104、從字符串中刪除指定的字符。同一字母的大、小寫按不同字符處理。例如:若程序執(zhí)行時輸入字符串為turbo c and borland c++從鍵盤上輸入字符n,則輸出后變?yōu)?/span>turbo c ad borlad c++。如果輸入的字符在字符串中不存在,字符串照原樣輸出。

int fun(char s[],int c)

{int i=0;char *p;p=s;

while(*p){if(*p!=c){s[i++]=*p;p++;}

s[i]='\0';}

105、刪除一個字符串中指定下標(biāo)的字符。其中,a指向原字符串刪除后的字符串存放在b 所指的數(shù)組中,n中存放指定的下標(biāo)。例如,輸入一個字符串world,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為word。

void fun(char a[],char b[],int n)

{int i,k=0;

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

if(i!=n)b[k++]=a[i];b[k]='\0';}

106、刪除字符串規(guī)定下標(biāo)開始的n個字符。例如,字符串內(nèi)容為HellolloWorld!,k中的值為:5,n中的值為3,則調(diào)用該函數(shù)的結(jié)果為:Hello World!

void fun(char *a,int k,int n)

{int i;i=k;

while(a[i-1]!='\0')

{a[i]=a[i+n];i=i+1;}}

107、刪除字符串中的數(shù)字字符。例如輸入字符串48CTYP9E6,則輸出CTYPE.

void fun(char *s)

{int i,j=0;char str[100],*p;p=s;

while(*p!='\0')}

{if(*p<'0')||*p>'9')

str[j++]=*p;p++;}str[j]='\0';p=s;

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

p[i]=str[i];p[i]='\0';}

108刪除字符串中的所有空格。如:輸入asd af aa z67,則輸出為asdafaaz67.

int fun (char *str)

{int i,j=0;

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

if(str[i]!='')str[j++]=str[i];

str[j]='\0'}

109、把字符串中的內(nèi)容逆置。例如:字符串中原有的字符串為abcdefg,則調(diào)用該函數(shù)后,串中的內(nèi)容為gfedcba。

fun(char *s)

{char ?ch;int i=0,n;

n=strlen(s)-1;

while(i<(n+1)/2)

{ch=s[i];s[i]=s[n];s[n]=ch;i++;n--;}}

110、判斷字符串是否為回文?若是則函數(shù)返回1,主函數(shù)中輸出YES,否則返回0,主函數(shù)中輸出NO?;匚氖侵疙樧x和倒讀都一樣的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。

int fun(char *str)

{int i,n=0,fg=1;char *p=str;

while(*p){n++;p++;}

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

if(str[i]==str[n-1-i]);

else{fg=0;break;}return fg;}

111、在字符串中的所有數(shù)字字符前加一個$字符。例如,輸入A1B23CD45,則輸出為:A$1B$2$3CD$4$5.

void fun(char *s)

{charp[80];int i=0,j=0;

while(s[i]!='/0')

{if((s[i]>='0'&&(s[i]<='9'))

{p[j]='$';p[j+1]=s[i];j=j+2;}

else {p[j]=s[i];j=j+1;}i++;}

p[j]='\0';strcpy(s,p);}

112、統(tǒng)計在tt字符串中’a’’z’26個字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中。例如:當(dāng)輸入字符串abcdefgabcdeabc后,程序的輸出結(jié)果應(yīng)該是:33322110000000000000000000。

void fun(char*tt,int pp[])

{int i;

for(i=0;i<26;i++)pp[i]=0;

for(;*tt!='\0';tt++)

if(*tt>='a'&&*tt<='z')

pp[*tt-'a']++;}

113統(tǒng)計一行字符串中單詞的個數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間有若干個空格隔開,一行的開始沒有空格。

int fun(char *s)

{int i,j=0;

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

if(s[i]!=''&&(s[i+1]==''||s[i+1]=='\0'))

i++;return j;}

114、統(tǒng)計字符串S在字符串str中出現(xiàn)的次數(shù)。例如,若輸入字符串“12 ?123 ?12345”“23”則應(yīng)輸出2表示字符串“23”在字符串“12 ?123 ?12345”中出現(xiàn)了兩次。若輸入字符串“33333”“33”,則應(yīng)輸出4(表示字符串“33”在字符串“33333”出現(xiàn)了四次)。

int MySearch(char* str;char* s)

{char *p;int n=0;

for(;*str;)

if((p=strstr(str,s))!=NULL)

{n++;str=p+1;}

else str++;return(n);}

115、統(tǒng)計一個長度為2的字符串在另一個字符串中出現(xiàn)的次數(shù)。如假定輸入的字符串為asd ?asasdfg ?asd ?as ?zx67 ?asd ?mklo,子字符串為as,則應(yīng)當(dāng)輸出6。

int fun(char *str, char *substr)

{int i,j=0;

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

if(str[i]==substr[0]&&str[i+1]==substr[1])

j++;return j;}

116將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)不得調(diào)用字符串函數(shù)。例如,若輸入字符串“-1234”,則函數(shù)把它轉(zhuǎn)換為整數(shù)值-1234。

long fun(char *p)

{long n=0;int flag=1;

if(*p=='-'){p++;flag=-1;}

else if(*p=='+')p++;

while(*p!='\0'){n=n*10+*p-'0';p++;}

return n*flag;}

117、將字符串tt中的小寫字母都改為對應(yīng)的大寫字母,其它字符不變并返回修改后的字符串。例如若輸入字符串“Ab、cD”,則輸出字符串“AB,CD”。

char* EXUL(char tt[])

{for(;*tt;tt++)

if((*tt>='a'&&(*tt <='z'))*tt=32;}

118把字符串中所有的字符前移一個位置,串中的第一個字符移到最后。例如:原有的字符串為:Mn.123xyZ,則調(diào)用該函數(shù)后,串中的內(nèi)容為:n.123xyZM

fun(char *s)

{int i,length;

char tmp;length=strlen(s);

if(length==0)return;tmp=s[0];

for(i=0;i<length-1;i++)

s[i]=s[i+1];s[length-1]=tmp;}

119、把字符串中所有的字母改寫在該字母的下一個字母,最后一個字母z改寫成字母a。大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他的字符不變。例如,原有的字符串為;Mn.123xyZ,則調(diào)用該函數(shù)后,串中的內(nèi)容為:No.123yzA。

fun(char *s)

{int i,length;

length=strlen(s);

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

{if(!((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&}s[i]<='Z')))continue;

switch(s[i])

{case'z':s[i]='a';break;

case'Z':s[i]='A';break;

defaule:s[i]+1;break;}}}

120、將字符串ss中所有下標(biāo)奇數(shù)位置上的字母轉(zhuǎn)換為大寫若該位置上不是字母,則不轉(zhuǎn)換。例如,若輸入“abc4EFG”,則應(yīng)輸出“aBc4EFG”.

void fun(char *ss)

{int i,n=0;char *p=ss;

while(*p){n++;p++;}

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

if((ss[i]>='a'&&ss[i<='z’)&&(i%2!=0)

ss[i]=ss[i]-32;ss[i]='\0';}

121將字符串tt中的每個單詞的首字符改為對應(yīng)的大寫字母,首字符后的字母都改為對應(yīng)的小寫字母,其它字符不變并返回修改后的字符串。例如,若輸入“ab,cD Boy!”,則應(yīng)輸出字符串為:“Ab, Cd Boy!”.

charEXUL(char tt[])

{int isfirst=1;int i ,

Lenhth;length=strlen(tt);

For(i=0;i<length;i++)

{if(tt[i]>=a&&tt[i]<=z){tt[i]=isfirst?(tt[i]+A-a);tt

122移動字符串中的內(nèi)容,移動???則是把第1到第m個字符,平移到???串的最后,把第m+1到最后的字到字符串的前部。例如,字符串???有的內(nèi)容為ABCDEFGHIJKm???移動后,字符串中的內(nèi)容應(yīng)該??DEFGHIJKABC.

void fun (char *w,int m)

{int i,j;char t;

for(i=1;i<=m;i++){t=w[0];

for(j=1;w[j]!='\0';j++)

w[j-1]=w[j];w[j-1]=t;}}

123、MN列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個字符串中。例如若二維數(shù)組中的數(shù)據(jù)為:

W W W W

S S S S

H H H H

則字符串中的內(nèi)容應(yīng)是WSHWSHWSHWSH.

void fun(char (*s)[N],char *b)

{int i,j,k=0;

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

for(j=0;j<M;j++)b{k++}=s[j][i];

b[k]='\0';}

124將放在字符串?dāng)?shù)組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串。例如,若字符串?dāng)?shù)組中的M個字符串為

AAAA

BBBBBBB

CC

則合并后的字符串內(nèi)容應(yīng)該是

AAAABBBBBBBCC

Void fun(char a[M][N],char *b)

{int i,j,k=0;

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

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

b[k++]=a[i][j];b[k]='\0';}

125、求出SS所指字符串中指定字符的個數(shù),并返回此值。例如,若輸入字符串123412132,輸入字符1則輸出3。

int fun(char *ss, char c)

{int i=0;

for(;*ss!='\0';ss++)

if(*ss==c)i++;return i;}

126、實(shí)現(xiàn)兩個字符串的連接不使用庫函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串后;若分別輸入下面兩個字符串FirstStringSecondString則程序輸出

irstStringSecondString

void fun(char p1[],char p2[])

{int i,j;

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

for(j=0;p2[j]!='\0';j++)

p1[i++]=p2[j];p1[i]='\0';}

127、對長度為7個字符的字符串,除首、尾字符外將其余5個字符按ASCII碼降序排列。例如:若原來的字符串為CEAedca,則排序后輸出為CedcEAa.

int fun(char *s, int num)

{char t;int i,j;

for(i=1;i<num-2;i++)

for(j=i+1;j<num-1;j++)

if(s[i]<s[j])

{t=s[i];s[i]=s[j];s[j]=t;}}

128、從傳入的num個字符中找出最長的一個字符串并通過形參指針max傳回該串地址(用****作為結(jié)束輸入的標(biāo)志)。

fun(char (*a)[81],int num,char *max)

{int i=0;max=a[0];

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

if(strlen(max)<strlen(a[i]))

max=a[i];return max;}

129、比較兩個字符串的長度,(不得調(diào)用字符串長度的函數(shù)),函數(shù)返回較短的字符串。若兩個字符串長度相等,則返回第1個字符串。例如,輸入nanjing<CR>nanchang<CR><CR>為回車鍵),函數(shù)將返回nanjing。

char *fun(char *s,char *t)

{int i,j;

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

for(j=0;t[j]!='\0';j++);

if(i<=j)return s;else return t;}

130比較兩個字符串的長度,(不得調(diào)用C語言提供的求字符串的函數(shù)),函數(shù)返回較長的字符串。若兩個字符串長度相等,則返回第1個字符串。例如,輸入beijing<CR>shanghai<CR><CR>為回車鍵),函數(shù)將返回shanghai。

char *fun(char *s,char *t)

{int i,j;

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

for(j=0;t[j]!='\0';j++);

if(i>=j)return s;else return t;}

四、

131、N名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。找出學(xué)生的最低分,由函數(shù)值返回。

double fun(STREC *h)

{double min=h->s;

while(h!=NULL)

{if(min>h->s) min>h->s;h->h->next;}

return min;}

132、N名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h??鏈表的頭節(jié)點(diǎn)。的出學(xué)生的最高分,由函數(shù)值返回。

double fun(STREC *h)

{ double max=h->s;

while(h!=NULL)

{if(max>h->s) max=h->s; h->h->next;}return max;}

133已知學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。找出成績最低的學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一個最低分)。

fun(STU a[],STU *s)

{int i;*s=a[0];

for(i=0,i<N;i++)

if(s->s<a[i].s)*s=a[i];}

134、已知學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。找出成績最高的學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一個最高分)。

fun(STU a[], ?STU *S)

{int i;*s=a[0];

for(i=0,i<N;i++)

if(s->s<a[i].s)*s=a[i];}

135、學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中。注意:分?jǐn)?shù)低的學(xué)生可能不只一個函數(shù)返回分?jǐn)?shù)最高學(xué)生的人數(shù)。

int fun (STREC *a, STREC *b)

{int i,j=0,min=

a[0].s;

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

if(min>a[i].s)min=a[i].s;

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

if(min==a[i].s)b[j++]=a[i];

return j;}

136、學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù):把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中。注意:分?jǐn)?shù)高的學(xué)生可能不只一個函數(shù)返回分?jǐn)?shù)最高學(xué)生的人數(shù)。

int fun (STREC *a, STREC *b)

{int i,j=0,min=

a[0].s;

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

if(max<a[i].s)max=a[i].s;

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

if(max==a[i].s)b[j++]=a[i];return j;}

137學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù);返回指定學(xué)號的學(xué)生數(shù)據(jù),指定的序號在主函數(shù)中輸入。若沒找到指定的學(xué)號,在結(jié)構(gòu)體變量中給學(xué)號置空串,給成績置-1,作為函數(shù)值返回。

STREC fun(STREC *a, char *b)

{int i;STREC str={"\0",-1};

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

if(strcmp(a[i].num,b)==0)

str=a[i];return str;}

138、學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù);返回指定成績的學(xué)生數(shù)據(jù),指定的成績在主函數(shù)中輸入。若沒找到指定的成績,在結(jié)構(gòu)體變量中給學(xué)號置空串,給成績置-1,作為函數(shù)值返回。

STREC fun(STREC *a, int b)

{int i;STREC str={"\0",-1};

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

if(a[i].s==b)str=a[i];

return str;}

139學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù);把低于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,低于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。

double fun(STREC*a, STREC*b,int*n)

{int i,j=0;double av=0.0;

for(i=0;i<N;i++)av=av+a[i].s;

av=av/N;

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

if(a[i].s<av) b[j++]=a[i];

*n=j;return av;}

140、學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù):把高于等于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。

double fun(STREC *a,STREC *b,int *n)

{int i;double av=0.0;*n=0;

for(i=0;i<N;i++)av=av+a[i].s;

av=av/N;

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

if(av<=a[i].s){b[*n]=a[i];*n=*n+1;}

return av;}

141、學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù):把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,低于平均分的學(xué)生數(shù)據(jù)放在c所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參n傳回,低于平均分的學(xué)生人數(shù)通過形參n傳回,低于平均分的學(xué)生人數(shù)通過形參m傳回,平均分通過函數(shù)值返回。

double fun(STREC *a,STREC *b,STREC *c,int *n,int*m)

{int i;double av=0.0;*n=0;*m=0;

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

av=av/N;

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

if(av<=a[i].s){b[*n]=a[i];*n=*n+1;}

else{c[*m]=a[i];*m=*m+1;}

return av;}

142、學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù);按分?jǐn)?shù)的高低排列學(xué)生的記錄,低分在前。

int fun (STREC a[])

{int i,j;STREC t;

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

for(j=0;j<N-1;j++)

if(a[j].s>a[j+1].s)

{t=a[j];a[j]=a[j+1];a[j+1]=t;}}

143、學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù);按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。

int fun(STREC a[])

{int i,j;STREC t;

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

for(j=0;j<N-1);j++)

if(a[j];s<a[j+1].s)

{t=a[j];a[j]=a[j+1];a[j+1]=t;}}

144、學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù):把指定分?jǐn)?shù)范圍之外的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍之外的學(xué)生人數(shù)由函數(shù)值返回。例如,輸入的分?jǐn)?shù)是8089,則應(yīng)當(dāng)把分?jǐn)?shù)低于80和高于89的學(xué)生數(shù)據(jù)進(jìn)行輸出,不包含80分和89分的學(xué)生數(shù)據(jù)。主函數(shù)中把80放在low中,把89放在heigh中。

int fun (STREC *a,STREC *b,int 1,int h)

{int i,j=0;

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

of((a[i].s>=0&&a[i].s<1)||(a[i].s<=100))

b[j++]=a[i];return j;}

145學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,編寫函數(shù);把指定分?jǐn)?shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍內(nèi)的學(xué)生人數(shù)由函數(shù)值返回。若輸入的分?jǐn)?shù)是6069,則應(yīng)當(dāng)把分?jǐn)?shù)在60到69的學(xué)生數(shù)據(jù)進(jìn)行輸出,包含60分和69分的學(xué)生數(shù)據(jù)。主函數(shù)中把60放在low中,把69放在heigh中。

int fun(STREC *a,STREC *b,int 1, int h)

{int i,j=0;

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

if(a[i].s>=1&&a[i].s<=h)

b[j++]=a[i];return j;}

146某學(xué)生的記錄由學(xué)號、8門課成績和平均分組成,學(xué)號和8門課的成績已在主函數(shù)中給出。編寫函數(shù),求出該學(xué)生的平均分放在記錄的ave成員中。若學(xué)生的成績是

85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)當(dāng)是78.875。

void fun(STREC *p)

{int i;p->ave=0.0;

for(i=0;i<N;i++)p->ave+=p->s[i];

p->ave=p->ave/N;}

147、N名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。編寫函數(shù):求出平均分,由函數(shù)值返回。例如,若學(xué)生的成績是85,7669,91,72,64,87,則平均分應(yīng)當(dāng)是78.625。

double fun(STREC *h)

{double av=0.0;STREC *p=h->next;

while(p!=NULL){av=av+p->s;

p=p->next;}return av/N}


計算機(jī)二級C語言上機(jī)題庫(八)的評論 (共 條)

分享到微博請遵守國家法律
马山县| 泾源县| 东乡| 安泽县| 东城区| 盖州市| 鹤岗市| 绥中县| 西昌市| 安福县| 宁晋县| 黑水县| 南华县| 资阳市| 金阳县| 闵行区| 平遥县| 新晃| 三亚市| 鹤峰县| 咸阳市| 江津市| 平度市| 无为县| 凌源市| 封开县| 永安市| 勃利县| 商南县| 永德县| 进贤县| 苗栗市| 田东县| 平湖市| 黄平县| 徐汇区| 个旧市| 肥东县| 岑巩县| 左云县| 上思县|