横排计算机二级C语言上机题库必备精选100道程序设计题.docx

上传人:b****4 文档编号:24828513 上传时间:2023-06-01 格式:DOCX 页数:53 大小:28.91KB
下载 相关 举报
横排计算机二级C语言上机题库必备精选100道程序设计题.docx_第1页
第1页 / 共53页
横排计算机二级C语言上机题库必备精选100道程序设计题.docx_第2页
第2页 / 共53页
横排计算机二级C语言上机题库必备精选100道程序设计题.docx_第3页
第3页 / 共53页
横排计算机二级C语言上机题库必备精选100道程序设计题.docx_第4页
第4页 / 共53页
横排计算机二级C语言上机题库必备精选100道程序设计题.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

横排计算机二级C语言上机题库必备精选100道程序设计题.docx

《横排计算机二级C语言上机题库必备精选100道程序设计题.docx》由会员分享,可在线阅读,更多相关《横排计算机二级C语言上机题库必备精选100道程序设计题.docx(53页珍藏版)》请在冰豆网上搜索。

横排计算机二级C语言上机题库必备精选100道程序设计题.docx

横排计算机二级C语言上机题库必备精选100道程序设计题

第一套

3程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:

把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

intfun(STREC*a,STREC*b,intl,inth)

{inti,j=0;

for(i=0;i

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

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

returnj;

}

第二套

3.程序设计

请编写一个fun函数,它的功能是:

求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

voidfun(intm,int*a,int*n)

{

inti;

*n=0;

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

if((i%7==0)||(i%11==0))

a[(*n)++]=i;

}

第三套

3.程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:

函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。

(用于字符串比较的函数是strcmp)。

STRECfun(STREC*a,char*b)

{

STRECc;

Inti;

c.num[0]=’\0’;

c.s=-1;

for(i=0;i

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

{strcpy(c.num,a[i].num);

c.s=a[i].s;break;}

returnc;

}

第四套

3.程序设计

请编写一个函数fun,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

voidfun(char*ss)

{

inti;

for(i=1;i

{if(ss[i]>=’a’&&ss[i]<=’z’)

ss[i]-=32;

}

}

第五套

3.程序设计

请编写一个函数fun,它的功能是:

根据以下公式求JI的值(要求满足精度0.0005,即某项小于0.0005时停止送代):

程序运行后,如果输入精度为0.0005,则程序输出为3.14…。

doublefun(doubleeps)

{doubles=1,t=1./3;

intn=1;

while(t>=eps)

{s+=t;n++;t=t*n/(2.0*n+1)

;}

return(s*2.0);

}

第六套

3.程序设计

函数fun的功能是:

将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。

voidfun(char*s,chart[])

{inti,j=0;

for(i=0;i

if(s[i]%2==0)t[j++]=s[i];

t[j]=0;

}

第七套

3.程序设计

函数fun的功能是:

将a、b中的两位正整数合并形成一个新的整数放在c中。

合并的方式是:

将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。

#include

voidfun(inta,intb,long*c)

{*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;

}

第八套

3.程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:

把分数最高的学生数据放在b所指的数组中,注意:

分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

intfun(STREC*a,STREC*b)

{

inti,max=a[0].s,n=0;

for(i=1;i

if(max

for(i=0;i

if(max==a[i].s)b[n++]=a[i];

returnn;

}

第九套

3.程序设计

请编写函数fun,函数的功能是:

求出二级数组周边元素之和,作为函数值返回。

二维数组中的值在主函数中赋予。

intfun(inta[M][N])

{

inttot=0,i,j;

for(i=0;i

{

tot+=a[0][i];

tot+=a[M-1][i];

}

for(i=1;i

tot+=a[i][0];

tot+=a[i][N-1];

}

returntot;

}

第十套

3.程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:

把分数最低的学生数据放在b所指的数组中,注意:

分数最低的学生可能不止一个,函数返回分数最低的学生的人数。

intfun(STREC*a,STREC*b)

{

inti,j=0,min=a[0].s;

for(i=0;i

{if(min>a[i].s){

j=0;

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

}

elseif(min==a[i].s)

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

}

returnj;

}

第十一套

3.程序设计

程序定义了N×N的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:

求出数组周边元素的平均值并作出函数值饭给主函数中的s。

doublefun(intw[][N])

{inti,j,n=0;

doublesum=0;

for(i=0;i

{sum+=w[0][i]+w[N-1][i];

n+=2;}

for(i=1;i

{sum+=w[i][0]+w[i][N-1];

n+=2;

}

returnsum/n;

}

第十二套

3.程序设计

函数fun的功能是:

将a、b中的两位正整数合并形成一个新的整数放在c中。

合并的方式是:

将a中的十位和个位依次放在变量c的个位和百位上,b中的十位和个位数依次放在变量c的十位和千位上。

#include

voidfun(inta,intb,long*c)

{

*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);}

第十三套

3.程序设计

编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。

函数fun中给出的语句仅供参考。

#include

#defineMAX100

intfun(intlim,intaa[MAX])

{inti,j,k=0;

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

{

for(j=2;j<=(i/2);j++)

if(i%j==0)break;

if(j>(i/2))aa[k++]=i;

}returnk;}

第十四套

3.程序设计

请编写函数fun,函数的功能是:

计算并输出给定整数n的所有因子(不包过1和n本身)之和。

规定n的值不大于1000.

intfun(intn)

{

ints=0,i;

for(i=2;i

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

returns;

}

第十五套

3.程序设计

请编写一个函数voidfun(char*tt,intpp[]),统计在tt所指字符串中‘a’至‘z’26个小写字母各自出现在的次数,并依次放在pp数组中。

voidfun(char*tt,intpp[])

{

char*p=tt;

inti;

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

pp[i]=0;

while(*p)

{if(*p>=’a’&&*p<=’z’)

pp[*p-‘a’]+=1;

p++;

}

}

第十六套

3.程序设计

函数fun的功能是:

将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指数组中。

#include

#include

voidfun(char*s,chart[])

{

inti,j=0;

for(i=0;i

if(s[i]%2)t[j++]=s[i];

t[j]=0;

}

第十七套

3.程序设计

请编写函数fun,函数的功能是:

求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。

#include

viodfun(int*a,int*n)

{inti;

*n=0;

for(i=7;i<1000;i++)

if(((i%7)==0││(i%11)==0

&&(i%77)!

=0)a[(*n)++]=i;

}

第十八套

3.程序设计

请编写函数fun,函数的功能是:

利用一下所示的简单迭代方法求方程求方程:

cos(x)-x=0的一个实根。

xn+1=cos(xn)迭代步骤如下:

(1)取x1的初值为0.0;

(2)x0=x1,把x1的值赋给x0;(3)x1=cos(x0),求出一个新的x1;(4)若x0-x1的绝对值小于0.执行步骤(5)否则执行步骤

(2);(5)所求x1就是方程cos(x)-x=0的一个实根作为函数值返回。

程序将输出结果为:

Root=0.。

floatfun()

{

floatx0,x1=0.0;

do{

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>0.);

returnx1;

}

第十九套

3.程序设计

函数fun的功能是:

将a、b中的两位正整数合并形成一个新的整数放在c中。

合并的方式是:

将a中的十位和个位依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。

voidfun(inta,intb,int*c)

{

*c=(a%10)*1000+(b%10)*100

+(a/10)*10+(b/10);

}

第二十套

3.程序设计

请编写一个函数voidfun(chara[],charb[],intn),其功能是:

删除一个字符串指定下标的字符。

其中,a指向原字符串,删除指定字符后的字符串放在b所指的n中存入指定的下标。

viodfun(chara[],char

b[],intn)

{

strncpy(b,a,n);

b[n]=0;

strcat(b,a+n+1);

}

第二十一套

3.程序设计

假定输入字符串中只包含字母和*号。

请编写函数fun,它的功能是:

将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

函数fun中给出的语句仅供参考。

voidfun(char*a,intn)

{

inti=0,k=0;

while(a[k]==’*’)k++;

if(k>n)

{

i=n;j=k;

for(;a[j]!

=0;j++)

a[i++]=a[j];

a[i]=0;

}}

第二十二套

3.程序设计

请编写函数fun,函数的功能是:

将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

voidfun(char*ss)

{

char*p=ss;

inri=0;

while(*p){

if((i%2)&&(*p>=’a’&&*p<=’z’))

*p-=32;

p++;

i++;

}

}

第二十三套

3.程序设计

函数fun的功能是:

将两位正整数a、b合并形成一个新的整数放在c中。

合并的方式是:

将a中的十位和个位依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的百位和个位上。

voidfun(inta,intb,long*c)

{

*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);

第二十四套

3.程序设计

假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

将字符串的前导*号全部移到字符串的尾部。

函数fun中给出的函数仅供参考。

voidfun(char*a)

{char*p,*q;

intn=0;

p=a;

while(*p==’*’)

{n++;p++;}

q=a;

while(*p){

*q=*p;

p++;q++;

}

for(;n>0;n--)

*q++=’*’;

*q=’\0’;

}

第二十五套

3.程序设计

请编写函数fun,它的功能是:

计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。

doublefun(intn)

{

inti;

doublesum=0.0;

for(i=1;i

if(i%5==0||i%9==0)

sum+=1.0/i;

returnsum;

}

第二十六套

3.程序设计

编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。

(注意:

主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考)。

第二十七套

3.程序设计

请编写函数fun,它的功能是:

计算并输出下列多项式的值:

sn=1+1/1!

+1/2!

+1/3!

+1/4!

+……1/n!

例如:

在主函数中从键盘给n输入15,则输出为:

s=2.。

注意:

要求n的值大于1但不大于100。

doublefun(intn)

{

doubles=1’

longt=1;

inti;

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

t=t*i;

s+=1.0/t;}

returns;

}

第二十八套

3.程序设计

假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

除了字符串前导和尾部的*号之外,将串中其他*号全部删除。

形参h已指向字符串中的第一个字母,形参p已指向字符串中最后一个字母。

在编写函数时,不得使用c语言提供的字符串函数。

voidfun(char*a,char*h,char*p)

{

intj=0;

char*q=a;

while(*q&&q

while(*h&&*p&&h

{

if(*h!

=’*’)a[j++]=*h;

h++;

}

while(*p)a[j++]=*p++;

a[j]=0;

}

第二十九套

3.程序设计

编写一个函数fun,它的功能是计算:

s=根号下(ln

(1)+ln

(2)+ln(3)+……ln(m))S作为函数返回,在C语言中可以调用log(n)求ln(n)。

log函数引用说明是:

Doublelog(doublex)例如,若m的值为:

20,fun函数值为:

doublefun(intm)

{

doubles=0.0;

inti;

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

s+=log(1.0*i);

s=sqrt(s);

returns;

}

第三十套

3.程序设计

假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

删除字符串中所有的*号。

在编写函数时,不得使用C语言提供的字符串函数。

voidfun(char*a)

{

intj=0;

char*p=a;

while(*p){

if(*p!

=’*’)

a[j++]=*p;

p++;

}

a[j]=0;

}

第三十一套

3.程序设计

假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

除了字符串前导*号之外,将串中其它*号全部删除。

在编写函数时,不得使用C语言提供的字符串函数。

函数fun中给出的语句仅供参考。

voidfun(char*a)

{

inti=0,k;

while(a[i]!

==’*’)i++;

k=i;

while(a[i]!

=’\0’)

{

if(a[i]!

=’*’)

a[k++]=a[i];

i++;

}

a[k]=’\0’;

}

第三十二套

3.程序设计

请编写函数fun,它的功能是:

计算n门课程的平均分,计算结果作为函数返回。

floatfun(float*a,intn)

{

inti;

floatave=0.0;

for(i=0;i

ave=ave+a[i];

ave=ave/n;

returnave;

}

第三十三套

3.程序设计

假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。

形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数。

在编写函数时,不得使用C语言提供的字符串函数。

voidfun(char*a,intn,inth,inte)

{

char*p=a;

intj=0,len=0;

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

while(j

a[j]=a[h+j];

j++;

}

a[j]=0;

}

第三十四套

3.程序设计

假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

将字符串尾部的*号全部删除,前面和中间的*号不删除。

voidfun(char*a)

{

char*p=a;

while(*p)p++;p--;

while(*p==’*’)p--;

p++;

*p=0;

}

第三十五套

3.程序设计

函数fun的功能是:

将s所指字符串中除了下标为偶数,同时ASCII指也为偶数的字符外,其余的全部都删除:

串中剩余字符所形成的一个新串放在t所指的数组中。

voidfun(char*s,chart[])

{

inti,j=0;

for(i=0;i

if(s[i]%2==0)t[j++]=s[i];

t[j]=0;

}

第三十六套

3.程序设计

N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。

请编写函数fun,它的功能是:

求出平均分,有函数值返回。

doublefun(STREC*h)

{

STREC*p=h->next;

doubleav=0.0;

intn=o;

while(p!

=NULL)

{

av=av+p->s;

p=p->next;

n++;

}

av/=n;

returnav;

}

第三十七套

3.程序设计

假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

使字符串中尾部的*号不得多于n个;若多于n个则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。

voidfun(char*a,intn)

{

char*p=a;

intj=0;

while(*p)p++;p--;

while(*p==’*’)p--;

p++;

while(j

p++;

j++;

}

*p=0;

}

第三十八套

3.程序设计

请编写函数fun,它的功能是:

计算下列级数和,和值由函数值返回。

例如,当n=10,x=0.3时,函数值为1.。

doublefun(doublex,intn)

{doubles=1.0,y=x;

inti;

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

{

s+=y/(double)jc(i);

y*=x;

}

returns;

}

第三十九套

3.程序设计

程序定义了N×N的二维数组,并在主函数中自动赋值,请编写函数fun,它的功能是:

使数组右上三角元素中的值乘以m。

intfun(inta[][N],intm)

{

inti,j;

for(i=0;i

for(j=i;j

a[i][j]*=m;

}

第四十套

3.程序设计

请编写函数fun,它的功能是:

求出ss所指字符串中指定字符个数,并返回次值。

intfun(char*ss,charc)

{

intcnt=0;

char*p=ss;

while(*p){

if(*p==c)cnt++;

p++;

}

returncnt;

}

第四十一套

3.程序设计

请编写函数fun,它的功能是:

求小于形参n同时能被3和7整除的所有自然数之和的平方根,并作函数的返回值。

doublefun(intn)

{

doublesum=0.0;

inti;

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

if((i%3==0)&&(i%7==0))sum

+=i;

returnsqrt(sum);

}

第四十二套

3程序设计

voidfun(int*w,intp,intn)

{

inti,j=0,b[N];

for(i=p+1;i

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

b[j++]=w[i];

for(i=0;i

w[i]=b[i];

}

第四十三套

3程序设计

请编写一个函数,函数的功能是:

删除字符串中所有的空格。

intfun(char*str)

{

char*p=str;

inti=0;

while(*p){

if(*p!

=’’)str[i++]=*p;

p++;

}

str[i]=0;

}

第四十四套

3程序编写

编写函数fun,它的功能是:

求Fibonacci数列中大于t的最小一个数,结果由函数返回。

其中Fibonacci数列F(n)定义为F(0)=0,F

(1)=1,F(n)。

intfun(intt)

{

intf0=0,f1=1,f;

do

{f=f0+f1;

f0=f1;

f1=f;

}while(f

returnf;

}

第四十五套

3程序设计

请编写函数fun,函数的功能是:

将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句提供参考。

voidfun(chara[M][N]),char*b)

{inti;*b=0;

for(i=0;i

}

第四十六套

3程序设计

编写函数fun,其功能是:

根据以下公式求p的值,结果由函数值带回。

m与n为两个正整数且要求m>n。

p=m!

/(n!

*(m-n)!

floatfun(intm,intn)

{

f

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1