點(diǎn)擊查看:2015年計(jì)算機(jī)二級C語言測試題及答案解析匯總
1: 請編寫函數(shù)fun,對長度位7個(gè)字符的字符串,除首尾字符外,將其余5個(gè)字符按ascii碼降序排列。
答案:
void fun(char *s,int num)
{
char t;
int I,j;
for(i=1;i
for(j=i+1;j
if(s[i]
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
2: n名學(xué)生的成績已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請編寫函數(shù)fun,它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。
答案:
double fun(STREC *h)
{
double max;
STREC *q=h;
max=h->s;
do
{
if(q->s>max)
max=q->s;
q=q->next;
}
while(q!=0);
return max;
}
3: 請編寫函數(shù)fun,該函數(shù)的功能是:判斷字符串是否為回文?若是則函數(shù)返回1,主函數(shù)中輸出yes,否則返回0,主函數(shù)中輸出no;匚氖侵疙樧x和倒讀都是一樣的字符串。
答案:
int fun(char *str)
{
int I,n=0;fg=1;
char *p=str;
while (*p)
{
n++;
p++;
}
for(i=0;i
if (str[i]==str[n-1-i]);
else
{
fg=0;
break;
}
return fg;
}
4: 請編寫一個(gè)函數(shù)fun,它的功能是:將一個(gè)字符串轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用c語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。
答案:
long fun (char *p)
{
long s=0,t;
int i=0,j,n=strlen(p),k,s1;
if(p[0]==‘-’)
i++;
for(j=I;j<=n-1;j++)
{
t=p[j]-‘0’;
s1=10;
for(k=j;k
t*=s1;
s+=t;
}
if(p[0]==‘-’)
return –s;
else
return s;
}
5: 請編寫一個(gè)函數(shù)fun,它的功能是:比較兩個(gè)字符串的長度,(不得調(diào)用c語言提供的求字符串長度的函數(shù)),函數(shù)返回較長的字符串。若兩個(gè)字符串長度相同,則返回第一個(gè)字符串。
答案:
char *fun(char *s,char *t)
{
char *p,*t1=t,*s1=s;
int n=0;m=0;
while (*s1)
{
n++;
s1++;
}
while(*t1)
{
m++;
t1++;
}
if(n>=m)
p=s;
else
p=t;
return p;
}
6: 請編寫一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求x的值(要求滿足精度0.0005,即某項(xiàng)小于0.0005時(shí)停止迭代):
x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1)
程序運(yùn)行后,如果輸入精度0.0005,則程序輸出為3.14…。
答案:
double fun(double eps)
{
double s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1.0;
while((fabs(s))>=eps)
{
pi+=s;
t=n/(2*n+1);
s*=t;
n++;
}
pi=pi*2;
return pi;
}
7: 請編寫一個(gè)函數(shù)fun,它的功能是:求除1到m之內(nèi)(含m)能北7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。
答案:
void fun(int m, int *a, int *n)
{
int I,j=0; *n=0;
for(i=1;i<=m;i++)
if (i%7==0 || i ==0)
{
a[j]=I;
j++;
}
*n=j;
}
8: 請編寫一個(gè)函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n 是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。
答案:
void fun (int a[],int n, int *max, int *d)
{
int I;
*max=a[0];
*d=0;
for(i=0;I
if(a[i]>*max)
{
*max=a[i];
*d=I;
}
}
9: 請編寫一個(gè)函數(shù)fun,它的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。
答案:
void fun(char *ss)
{
int I,n;
n=strlen(ss);
for(i=1;i
if(ss[i]>=‘a(chǎn)’&& ss[i]<=‘z’)
ss[i]=ss[i]-32;
}
10: 請編寫一個(gè)函數(shù)fun,它的功能是:求除一個(gè)2×m整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。
答案:
int fun(int a[][M])
{
int I,j,max;
max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j
if(a[i][j]>max)
max=a[i][j];
return max;
}
相關(guān)推薦:
各地2015上半年計(jì)算機(jī)等級考試報(bào)名時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |