str是一个由数字和字母字符组成的字符串,由变量hum传入字符串长度。请补充函数fun(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如:str=“Bcdl23e456hui890”,结果为:123456890。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
define N 80
int bb[N];
int fun(char s[ ],int bb[ ],int num)
{
int i,n=0;
for(i=0;i<num;i++)
{
if(【 】)
{
bb[n]=【 】;
n++;
}
}
return【 】;
}
main()
{
char str[N];
int num=0,n,i;
printf("Enter a string:\n");
gets(str);
while(str[num])
num++;
n=fun(str,bb,num);
printf("\nbb=");
for(i=0;i<n;i++)
printf("%d",bb[i]);
}
第1题
下列程序的输出结果是______。
long fun5(int n)
( long s;
if((n==l)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{ long x;
x=fun5(4);
printf(%1d\n",x);
第2题
下列给定程序中,函数fun()的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
试题程序:
include <conio.h>
include <stdio.h>
int fun( int m)
{ int i,k;
for (i=m+1; ;i++)
{ for (k=2;k<i;k++)
/*************found**************/
if (i%k!=0)
break;
/*************found**************/
if (k<i)
return(i);
}
}
main()
{ int n;
clrscr ();
printf("\nPlease enter n: ");
scanf ("%d", &n);
printf ("%d\n",fun(n));
}
第3题
回此和数。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <conio.h>
include <stdio.h>
define M 5
int fun(int n,int XX[][M])
{
int i,j,sum=O;
printf("\nThe %d x %d matrix:\n",M,M);
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
/*************found*************/
printf("%4d",XX[i j]);
/*************found*************/
printf('\n');
}
for(i=0;i<n;i++)
sum+=xx[i][i]*XX[i][i]+XX[i][n-i-1]
*XX[i][n-i-1];
return(sum);
}
main()
{
int aa[M][M)={{3,12,4,24,35},
{11,3, 3,7, 56},{61,27,58,49,24},
{17,28,7,36,85},{15,33,5,24,9}};
clrscr();
printf("\nThe result of all elements on 2
diagnals iS%d",fun(M,aa));
}
第4题
设有如下宏定义
define MYSWAP(z,x,y){z=x;x=Y;Y=z;}
以下程序段通过宏调用实现变量a、b内容的交换,请填空。
float a=5,b=16,c;
MYSWAP( 【 】,a,b) ;
第5题
以下程序的输出结果是【 】。
include<stdio.h>
main()
{int i,j,sum;
for(i=3;i>=-1;i-)
(sum=0;
for(j=1;j<=i;j++) sum+=i*j;
}
printf("%d\n,sum);
}
第6题
下列程序的输出结果是______。
main()
{ int a=2,b=4,c=6;
int*p1=&a,*p2=&b,*p;
*(p=&C) =*p1*(*p2);
printf("%d\n",c);
}
第7题
以下程序的输出结果是【 】。
include <stdio.h>
main()
{ int j,a[]={1,3,5,7,9,11,13,15},*P=a+5;
for(j=3; j;j-)
{ switch(i)
{ case 1:
case 2: printf("%d",*p++); break;
case 3: printf("%d",* (-p));
}
}
}
第8题
已有定义:char c=′ ′;int a=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【 】。
第9题
下面程序的功能是:计算1~20之间的奇数之和与偶数之和,请填空使程序功能完整。
include<stdio.h>
main()
{int a=0,b=0,c=0,i;
for(i=0;i<=20;i+=2)
{ a+=i;
( );
c+=b;
}
printf("偶数之和=%d\n",A);
printf("奇数之和=%d\n",c-21);
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!