填空题给定的程序中,fun函数的功能是:将M行N列的矩阵中的数据,按行的顺序依次放在一维数组中,一维数组中的元素的个数存放在形参n所指的存储单元中。
请在程序的下划线处填写正确的内容,使程序得到正确的结果。
void fun(int(*S)[10],int*b,int*n,int mm,int nn)
{
int i,j;
for(i=0;i<mm;s++,i++)
for(j=0;j<{{U}} (1) {{/U}};j++)
{{U}} (2) {{/U}};
{{U}}(3) {{/U}}
}
main()
{ int w[10][10]={{11,12,13,14},{21,22,23,24},{31,32,33,34}},i,j;
int a[100]={0},n=0:
printf("The matrix:/n");
for(i=0;i<3;i++)
{ for(j=0;j<4;j++) printf("%3d",w[i][j]);
printf("/n");
}
fun(w,a,/n");
for(i=0;i<n;i++)
printf("%3d”,a[i];printf("/n/n");
NONO();严本函数与考生答题无关,考生不得改动,否则后果自负。*/
}
填空题下列程序的功能是计算1~100的整数的累加和。 main() int i, sum= 【13】 ; i=1; for( 【14】 ) sum+=i; i++; printf("sum=%d/n", 【15】 );
填空题给定程序中,函数fun的功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 6
typedef struct node{
int data;
struct node*next;
}NODE;
void fun(NODE*h)
{NODE*p,*q;int t;
/*********found*********/
p=______;
while(p){
/*********found*********/
q=______;
while(q){
/*********found*********/
if(p->data______q->data)
{t=p->data;
p->data=q->data;
q->data=t;}
q=q->next;
}
p=p->next;
}
}
NODE*creatlist(int a[])
{NODE*h,*p,*q;int i;
h=(NODE*)malloc(sizeof(NODE));
h->next=NULL;
for(i=0;i<N;i++)
{q=(NODE*)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h->next==NULL)
h->next=p=q;
else{p->next=q;p=q;}
}
return h;
}
void outliSt(NODE*h)
{NODE * p;
p=h->next;
if(p==NULL)
printf("The list is NULL!/n");
else
{printf("/nHead");
do
{printf("->%d",p->data);
p=p->next;}
while(p!=NULL);
printf("->End/n");
}
}
main()
{NODE*head;
int a[N]={0,10,4,2,8,6};
head=creatlist(a);
printf("/nThe original list:/n");
outlist(head);
fun(head);
printf("/nThe list after sorting:/n");
outlist(head);
}
填空题以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6 请填空。
#include "math.h"
double fun(double x){ return (x*x-2*x+6);}
main() { double x,y1,y2;
printf("Enter x:"); scanf("%1f",
y1=fim({{U}}
{{/U}}); y2=run({{U}}
{{/U}});
printf("y1=%1f,y2=%1f/n",y1,y2); }
填空题程序MODI1.C中函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。 例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 文件MODI1.C内容如下: #include<stdio.h> #include<math.h> double funx(double x) return(2*x*x*x-4*x*x+3*x-6); double fun(double m,double n) /***********found**********/ int r; r=(m+n)/2; /**********found**********/ while(fabs(n-m)<0.001) if(funx(r)*funx(n)<0) m=r; else n=r; r=(m+n)/2; return r; void main( ) double m,n,root; printf("Enter m n:/n"); scanf("%1f%1f",&m,&n); root=fun(m,n); printf("root=%6.3f/n",root);
填空题以下函数的功能是求x的y次方,请填空 double fun(double x,int y) int i; double z; for(i=1,z=x;i<y;i++)z=z* 【12】 ;
填空题下列程序的运行结果是{{U}} 【16】 {{/U}}。
#include <string.h>
char *ss(char *s)
{ return s+strlen(s)/2; }
main()
{ char *p,*str="abcdefgh";
p=ss(str); printf("%/n",p);
}
填空题以下程序的输出结果是 【14】 。 void reverse(int a[],int n) int i,t; for(i=0;i<n/2;i++) t=a[i];a[i]=a[n-1-i];a[n-1-i]=t; main() int b[10]=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf("%d/n",s);
填空题函数delete(s,i,n)的作用是从字符串s中删除从第i个字符开始的n个字符,请填空。 void delete(char s[],int i, int n) int j,k,legth=0; while(s[length]) 【11】 ; -i; j=i; if( 【12】 ) k=i+n; if(i+n<length) while(k<length) s[j++]=s[k++]; s[j]='/0'
填空题已知字符A的ACSII码值为65,以下语句的输出结果是{{U}} 【6】{{/U}}。
char ch=’B’; printf(“%c %d/n”,ch,ch);
填空题以下程序的输出结果是______。 #include<stdio.h> int fun(int x, int y) static int m=0, i=2; i=i+1; m+=i+x+y; return m main() int j=4, m=1, k; k=fun(j, m);printf("gd," , k); k=fun(j, m); printf("%d/n", k)
填空题联合变量有以下三个主要用途:(1)节省内存空间;(2)在数据处理问题中,可以用一个数据域存放不同类型的对象;
____
______。
填空题从键盘输入一组小写字母,保存在字符数组str中。请补充函数fun(),该函数的功能是:把字符数组str中字符下标为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。
例如,输入“acegikm”,输出“aCeGiKm”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define N 80
void fun (char s[])
{
int i=0;
while ({{U}} 【1】 {{/U}})
{
if (i%2!=0)
s[i]-={{U}} 【2】 {{/U}};
{{U}} 【3】 {{/U}};
}
}
main ()
{
char str [N];
clrscr ();
printf("/n Input a string:/n");
gets (str);
printf("/n*** original string ***/n");
puts (str);
fun (str);
printf ("In*** new string ***/n");
puts (str);
}
填空题以下函数用来在w数组中插入x。n所指向的存储单元中存放w数组中字符个数。数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。请填空。
void fun(char*w,char x,int*n)
{ int i, p;
p=0;
w[*n]=x;
while(x>w[p])p++;
for(i=*n;i>p;i--)w[i]={{U}} 【13】 {{/U}};
w[p]=x;
++ *n;}
填空题下面程序的运行结果是______。
#include<stdio.h>
main()
{ int i,f[10];
f[0]=f[1]=1;
for(i=2;i<10;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<10;i++)
{if(i%4==0)printf("/n");
printf("%3d",f[i]);
}
}
填空题下列给定程序中,函数fun()的功能是:根据输入的三条边长(整形),判断能否构成三角形;构成的是等边三角形还是等腰三角形。若能构成等边三角形函数,返回3;若能构成等腰三角形函数,返回2;若构成三角形函数,返回1;若不能构成三角形函数返回0。
请修改函数fun()中的错误,得出正确的结果。
注意:不要改动main()函数,不能增行或减行,也不能更改程序的结构。
试题程序:
#include<stdio.h>
int fun(int x,int y,int z)
{
if(x+y>z
else if(x==y||y==z||x==z)
return 2;
else
//****found****
return 3;
}
else
return 0;
}
void main()
{
int x,y,z,shape;
printf("/nInput x,y,z:");
scanf("%d%d%d",
printf("/nx=%d,y=%d,z=%d/n",x,y,z);
shape=fun(x,y,z);
printf("/n/nThe shape:%d/n",shape);
}
填空题函数voidfun(float*sn,intn)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。voidfun(float*sn,intn)floats=0.0,w,f=-1.0;inti=0;for(i=0;i《=n;i++)f=(11)*f;w=f/(2*i+1);s+=w;(12)=s;
填空题以下程序的定义语句中,x[1]的初值是 (7) ,程序运行后输出的内容是 (8) 。 #include<stdio.h> main() int x[]=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, *p[4], 1; for(i=0; i<4; i++) p[i]=&x[2*i+1]; printf("%d", p[i][0]); printf("/n");
填空题有以下程序: main() int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf("%d/n",x); 执行后输出的结果是 【9】 。
填空题下列给定程序中函数fun()的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。
例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。
请改正程序中的错误,使它得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序 #include
<stdlib.h> #include <conio.h> #include
<stdio.h> int fun(int*x, int y) { int
t; /* * * * *found* * * * * / t=x;
x=y; /* * * * *found* * * * * / return
(y); } void main() { int a=3,
b=8; printf("% d % d/n", a, b); b=fun( printf("% d % d/n", a, b); }
