3月份题库1.编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。
实现两个字符串连接
注意:这一段是程序题答案
int i,j;
for(i=0;p1[i];i++);
for(j=0;p2[j];j++) p1[i++]=p2[j];
p1[i]='\0';
注意:这三个是填空题 答案
if(t%2==0)
x=10*x+t;
n=n/10;
注意这两个...
1.编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。
实现两个字符串连接
注意:这一段是程序
int i,j;
for(i=0;p1[i];i++);
for(j=0;p2[j];j++) p1[i++]=p2[j];
p1[i]='\0';
注意:这三个是填空题 答案
if(t%2==0)
x=10*x+t;
n=n/10;
注意这两个是改成题答案
*t = 0;
if (d%2 != 0)
2. 请编写函数fun,其功能是:计算并输出当x<0.97时下列多项式的值,直到|Sn-S(n-1)|<0.000001为止。Sn=1+0.5x+0.5(0.5-1)/2!x(2)+...+ 0.5(0.5-1)(0.5-2)
.....(0.5-n+1)/n!x(n)
输入0.21后,则输出为s=1.100000。
double s1=1.0,p=1.0,sum=0.0,s0,t=1.0; int n=1;
do {s0=s1; sum+=s0; t*=n; p*=(0.5-n+1)*x;
s1=p/t;n++;}while(fabs(s1-s0)>1e-6);
return sum;
t = x;
t *= (-1.0)*x/n;
while (fabs(t) >= 1e-6);
for(i=1; i<=y; i++)
t=t%1000;
3. 请编写函数fun,其功能是:计算并输出下列多项式值: s=1+1/(1*2)+1/(1*2*3)+..1/(1*2+3...*50)
输入50后,则输出为S=1.718282。
int i; double s=0.0,s1=0.0;
for(i=1;i<=n;i++)
{ s1=s1*i; s=s+1.0/s1; }
return s;
switch(n%10)
case 1: c1++;break;
case 2: c2++;break;
if(t==0)
*zero=count;
4. 请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
低于平均分的人作为函数值返回
int i,j=0,aver=0;
for(i=0;i
=len) strcpy(j);
t[j++]=0;
t[j]= i++;
for(i = 2 ; i <= m ; i++)
y -= 1.0/(i * i) ;
5. 请编写函数fun,它的功能是:使字符串的前导*号不得多于n个
前导*不多于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'; }
void fun(char (*ss) [M], int k)
while(i< N) {
ss[i][k]=0; i++; }
t=1;
return(2*s);
6. 请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
串前*移至串尾
int i=0,n=0 ; char *p ; p=a;
while (*p=='*') {n++ ; p++; }
while (*p) { a[i]= *p ; i++; p++ ; }
while(n!=0) { a[i]= '*' ; i++ ; n-- ; }
a[i]= '\0' ;
void fun(int (*t) [N]
t[i][j]=t[i][j]+t[j][i];
t[j][i] =0;
#define FU(m,n) (m)/(n)
return(value);
7. 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
下标奇数位置子母改大写
int i;
for(i=0;ss[i]!='\0';i++)
if(i%2==1&&ss[i]>='a'&&ss[i]<='z')
ss[i]=ss[i]-32;
void fun(int (*a)[N], int k)
for(i = 0 ; i < N; i++)
a[0][i] = a[k][i];
for(i=strlen(t);i>0;i--)
if(t[j] > t[ j + 1 ])
8. 请编写函数fun,它的功能是:按分数的高低排列学生的,高分在前。
按分数高低排列学生纪录,高分在前
int i,j;
STRUC t;
for(i=1 ;i 0)
9. 请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
只删除中间*号
int i=0; char *q=a ;
while(q0.001)
10. N名学生的成绩已在主函数中放入一个带头节点的链结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
N名学生的成绩的平均分,78.625
double av=0.0;
STRUC *p= h->next;
while(p!=NULL) { av=av+ p->s; p=p->next; }
return av/N;
char fun(char ch)
if (ch>='0' && ch<='9')
return '9'- (ch-'0');
while(i<3 && *p)
b[k]=*p;
b[k]=' ';k++;
11. 请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除
除下标奇数同时ASCII码也为奇数外其余字符删除
int i, j=0, n; n=strlen(s);
for( i=0; is;
for(i=0 ; is>max) max=(h+i)->s;
return max;
while (!feof(fp))
if (n.sno==sno) break;
fseek(fp, -(long)sizeof(STU), SEEK_CUR);
n=strlen( aa );
ch=aa[i];
13. 请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。
删除前导和尾部*
int i,j=0;
for(i=h;i< n-e ;i++)
a[j++]=a[i];
a[j]= ‘\0’ ;
strlen(ss[i])
substr
0
fun(int x, int y, int z )
return j;
14. .请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。例如,当a=45,b=12,调用该函数后
c=5241。
*c= a/10*10+a%10*1000+b/10+b%10*100;
for(p=1; p<= k; p++)
for(j=0; j< N-1 ; j++) a[i][j]=a[i][j+1];
a[i][N-1]= temp;
void fun(int a[][M], int m)
a[j][k] = (k+1)*(j+1) ;
15. 请编写函数fun,其功能是:计算并输出
S=1+(1+2^0.5)+(1+2^0.5+3^0.5)+……+
(1+2^0.5+3^0.5+……+n^0.5)
输入20后,则输出为s=534.188884。
int i; double s=0.0,s1=0.0;
for(i=1;i<=n; i++)
{s1=s1+pow(i,0.5); s=s+s1; }
return s;
t = (a>b) ? (b>c? b :(a>c?c:a)) : ((a>c)?a : ((b>c)?c:b));
c=c+32;
c=c+5;
16. 请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。n的值不大于1000。
整数n的所有因子
int s=0,i;
for(i=2;i<=n-1;i++) if(n%i==0) s+=i;
return s;
s->data= x
q= p
q->next= s
void fun(int a[M])
a[j]=a[j-1];
17. 编写函数fun,它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。
同时能被3与7整除的所有自然数之和的平方根
int sum,i;sum=0;
for(i=0;i=1&&k<=6)&&(i!=0&&j!=0)||k==0)
19. 请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
能整除形参x且不是偶数的各整数
int i,j=0;
for( i=1;i<=x;i=i+2)
if(x%i==0) pp[j++]=i;
*n=j;
if(n>=len) strcpy(t,s);
for(i=len-n; i<=len-1; i++) t[j++]= s[i] ;
t[j]= ‘\0’ ;
if (i % k == 0)
if (k >= i)
20. 请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。例如,当a=45,b=12,调用该函数后
c=2415。
*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
struct student * fun(struct student *a)
for (i=0; i<3; i++) a->score[i] += 1;
return a ;
char *fun(char (*sq)[M])
return sp;
21. 某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。
8门课程平均分78.875
int i; p->ave=0.0 ;
for(i=0;iave=p->ave+p->s[i];
p->ave= p->ave/N ;
max = min = a[i];
if (maxa[j])
switch(g)
case 1: case 2:return 1;
22. 请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。
除尾部*号其余*删除
char *t=a;
for(;t<=p;t++) if(*t!='*' ) *(a++)=*t;
for(;*t!='\0' ;t++) *(a++)=*t;
*a='\0';
void fun(int t[N][N] , int n)
for(i=0;ia[mid])
23. 请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中。低于平均分人数通过n
低于平均分的学生数据
int i,j=0; double av=0.0;
for(i=0;isno = 10004;
strcpy(b->name, "LiJie");
fun(&t);
double fun(double a, double x0)
if( fabs(x1-x0)>0.00001 )
27. 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。
找出一维数组最大值及其下标
int i;
*max=a[0]; *d=0;
for(i=0;i*max) {*max=a[i]; *d=i;}
k=1;
t=2*i;
k=k*(-1);
k++;
if (m == k )
28. 请编写一个函数fun,它的功能是:根据以下公式求π的值 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)
求π的值
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;
s=0;
for(i=1; i<=n; i++)
s=s+(2.0*i-1)*(2.0*i+1)/(t*t);
for(i = 0; str[i]; i++)
if(substr[k+1]=='\0')
29. 编写函数fun,它的功能是:计算并输出下列级数和:S=1/1*2+1/2*3+...+1/n(n+1)
n=10时,函数值为0.909091。
int i; double s=0.0;
for(i=1;i<=n;i++) s= s+1.0/(i*(i+1));
return s;
ch=tolower(*s);
k[n]+= 1 ;
if(max=l && a[i].s<=h) b[j++]=a[i];
return j;
struct student t;
for (i=0; i 0)
q=p+i;
while( q>p )
31. 请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个
串尾部*号不多于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&&pmax){ max=s[i];*k=i;}
n++ ; flag=1;}
if (*s==' ') flag= 0 ;
s++ ;
t += s[k] ;
*aver = ave ;
35. 请编写函数fun,其功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
ASCII值为奇数删除
int i, j=0, n ; n=strlen(s);
for(i=0; i=p) xx[j++]=p;
p++;} while(j e)
x=k*(t+1)/(t*t);
double fun ( int n )
s = s + (double)a / b;
39. 请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。
返回指定学号学生数据
int i;
STRUC str={"\0",-1};
for(i=0;i1&&n<=100)
{for(i=1;i<=n;i++)
sum+=1.0/(2*i-1)-1.0/(2*i);
for (j=a[i]*2; j<=n; j+= a[i])
while (a[i]== 0)
if (a[i]!= 0)
sum=0;j=0;
if(sum%4==2)
42. 请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。例如,当a=45,b=12,调用该函数后
c=4251。
*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);
i=1;
while(s)
x=x+t*i; i=i*10;
int fun(int n,int xx[][M])
printf("%d",xx[i][j]);
43. 请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。例如,当a=45,b=12,调用该函数后
c=1524。
*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10 ;
void WriteText(FILE *fw)
fputs(str,fw); fputs("\n",fw);
printf("%s",str);
*t=0;
if (d%2 != 0)
44. 请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。
二维数组周边元素之和
int sum=0,i;
for(i=0;in。p=m!/n!(m-n)!。
m=12,n=8,运行结果为495.000000。
int i,j,k; long int t=1,s=1,p=1; float q;
for(i=1;i<=m;i++) t*=i;
for(j=1;j<=n;j++) s*=j;
for(k=1;k<=m-n;k++) p*=k;
q=(float)t/s/p; return q;}
*(t+n)= *s ; n++; }
s++ ;
return n ;
int j, c=0; float xa=0.0;
if (x[j] >= xa)
48. 请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。
3到n之间所有素数平方根之和
int i,j=0; double s=0;
for (i=3;i<=n;i++)
{ for (j=2;jif (i%j==0) break;
if (j==i) s=s+sqrt(i); }
return s;
#define OK(i, t, n) ((i%t==0) && (i/t0&&n<=100)
{for (i=1;i<=n;i++) if(i%5==0||i%9==0)
sum+=1.0/i;
for (j=a[i]*2; j<=n; j+=a[i])
while (a[i]==0)
if (a[i]!=0)
y=1;
d=a-i;
_1234567891.unknown
_1234567892.unknown
_1234567890.unknown
本文档为【3月份题库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。