填空题以下程序运行后的输出结果是{{U}} 【19】 {{/U}}。(注:如果结果中含有回车,可加一空格写在一行,例如:
1 1 1
1 1 1
1 1 1
可以写成:1 1 1 1 1 1 1 1 1。
#include <stdio.h>
mala()
{ int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=i+1;j<3;j++) a[j][i]=0;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++) printf("%d",a[i][j]);
printf("/n");
}
{
填空题若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是
________
。
int w[10]={23,54,10,33,47,98,72,80,61}, *p=w;
填空题有以下程序: main() char a,b,c,d; scanf("%c,%c,%d,%d", printf(%c,%c,%c,%c/n”,a,b,c,d); 若运行时从键盘上输入:6,5,65,66。则输出结果是 [7] 。
填空题以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。 #include <stdio.h> voidf(int x[],int n) int p0,p1,i,j,t,m; i=j=x[0]; p0=p1=0; for(m=0;m<n;m++) if(x[m]>i i=x[m];p0=m; else if(x[m]<j j=x[m];p1:m; t=x[p0];x[p0]=x[n-1];x[n-1)=t t=x[p1];x[p1]={{U}} {{/U}};{{U}} {{/U}}=t; main() int a[10],u; for(u=0;u<10;u++) scanf("%d",&a[u]); f(a,10); for(u=0;u<10;u++) printf("%d",a[u]); printf("//n");
填空题请补充main 函数,该函数的功能是:求n!
例如7!=5040。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。
试题程序:
# include<stdio. h>
#include<conio. h>
main()
{
int i,n;
long f=1;
clrscr ();
printf("Input n: ");
scanf ("%d",{{U}} 【1】 {{/U}});
for({{U}} 【2】 {{/U}};i<=n; i++)
{{U}}【3】 {{/U}};
printf ("%d!=%1d/n", n, f);
}
填空题以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。 #define M 2 #define N 4 void SumColumMin(int a[M][N],int *sum) int i,j,k,s=0; for(i=0;i〈N;i++) k=0; for(j=1;j<M;j++) if(a[k][i]>a[j][i])k=j; s+= ______; ______ =s; main( ) int x[M][N]=3,2,5,1,4,1,8,3,s; SumColumMin( ______ ); printf("%d/n",s);
填空题给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include<stdio.b>
#include<stdlib.h>
#define N 8
typedef struct list
{int data;
struct list*next;
}SLIST;
SLIST*creatlist(char*);
void outlist(SLIST*);
int fun(SLIST*h,char ch)
{SLIST*p;int n=0;
p=h->next;
/**********found**********/
while(p!=______)
{n++;
/**********found**********/
if(p->data==ch)return______;
else p=p->next;
}
return 0:
}
main()
{SLIST*head;int k;char ch;
char a[N]={"m","p","g","a",‘w","x","r","d");
head=creatlist(a);
outlist(head);
printf("Enter a letter:");
scanf("%c",
/**********found**********/
k=fun(______);
if(k==0)printf("/nNot found!/n");
else printf("The sequence number is:%d/n",k);
}
SLIST*creatlist(char*a)
{SLIST *h,*p,*q;int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)
{q=(SLIST*)malloc(sizeof(SLIST));
q->data=a[i];p->next=q;p=q;
}
p->next=0;
return h;
}
void outlist(SLIST*h)
{SLIST*p;
p=h->next;
if(p==NULL)printf("/nThe list is NULL!/n");
else
{printf("/nHead");
do
{printf("->%c",P->data);p=p->next;}
while(p!=NULL);
printf("->Endha");
}
}
填空题若有以下程序:
main()
{ int a=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a; a=c; c=t;
printf("%d %d %d/n",a,b,c);
}
执行后的输出结果是{{U}} 【8】 {{/U}}。
填空题下面函数用来求两个单精度数之和,并通过形参将结果传回,请填空。
Void sub(float x,noat y,{{U}} 【19】 {{/U}}z)
{{{U}} 【20】 {{/U}}=x+y;}
填空题下列给定程序中,函数fun的功能是:求出如下分数列的前n项之和。和值通过函数值返回main函数。例如,若n=5,则应输出8.391667。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>/*********found*********/fun(intn){inta,b,c,k;doubles;s=0.0;a=2;b=1;for(k=1;k<=n;k++){/*********found*********/s=s+(Double)a/b;c=a;a=a+b;b=c;}returns;}main(){intn=5;system("CLS");printf("/nThevalueoffunctionis:%lf/n",fun(n));}
填空题设有说明 struct DATE int year;int month;int day;; 请写出一条定义语句,该语句定义d为上述结构体类型变量,并同时为其成员year、month、day依次赋初值2006、10、1:______。
填空题以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回,请填空。(设M,N已定义)
int fun(int a[N][M])
{ int i,j,row=0,col=0;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(a[i][j]>a[row][col])
{
row=i;col=j;
}
return(______);
}
填空题给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
例如,s所指字符串为:asd123fgh543df,处理后新字符串为:asdfghdf123543。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *fun(char *s)
{int i, j, k, n; char *p, *t;
n=strlen(s)+1;
t=(char*)malloc(n*sizeof(char));
p=(char*)malloc(n*sizeof(char));
j=0; k=0;
for(i=0; i<n; i++)
{ if(((s[i]>="a") j++;}
else
{ p[k]=s[i]; k++;]
}
/**********found**********/
for(i=0; i<______; i++)t[j+i]=p[i];
/**********found**********/
t[j+k]=______;
return t;
}
main()
{ char s[80];
printf("Please input:"); scanf("%s", s);
printf("/nThe result is:%s/n", fun(s));
}
填空题在C语言中,字符的比较就是对它们的 【8】 码进行比较。
填空题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000。
移动后的输出为:30 6 17 15 26 46 32 40 45 48
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double *x)
{ int i, j; double av, y[N];
av=0;
/**********found**********/
for(i=0; i<N; i++)av+=______;
for(i=j=0; i<N; i++)
if(x[i]<av){
/**********found**********/
y[j]=x[i]; x[i]=-1; ______;}
i=0;
while(i<N)
{ if(x[i]!=-1)y[j++]=x[i];
/**********found**********/
______;
}
for(i=0; i<N; i++)x[i]=y[i];
return av;
}
main()
{ int i; double x[N];
for(i=0; i<N; i++){x[i]=rand()%50;
printf("%4.0f", x[i]);}
printf("/n");
printf("/nThe average is:%f/n", fun(x));
printf("/nThe result:/n", fun(x));
for(i=0; i<N; i++)printf("%5.0f", x[i]);
printf("/n");
}
填空题下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun()的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序 #include
<stdio.h> #include <conio.h> #include
<stdlib.h> typedef struct aa { int
data; struct aa *next; } NODE;
int fun(NODE *h) { int sum=0; NODE
*p; p=h->next; /* * * * *found* * * * *
/ while(p->next) { if(p->data% 2==0)
sum+=p->data; /* * * * *found* * * * * /
p=h->next; } return sum;
} NODE *creatlink(int n) { NODE *h, *p,
*s; int i;
h=p=(NODE*)malloc(sizeof(NODE)); for(i=1; i<n; i++)
{ s=(NODE*)malloc(sizeof(NODE)); s->data=rand()%
16; s->next=p->next; p->next=s;
p=p->next; } p->next=NULL;
return h; } outlink(NODE *h)
{ NODE *p; p=h->next; printf("/n/nTHE
LIST:/n/n HEAD") while(p) { printf("->% d",
p->data); p=p->next; }
printf("/n"); } main() { NODE
*head; int sum; head=creatlink (10);
outlink (head); sum=fun(head);
printf("/nSUM=% d", sum); }
填空题以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。 #include<stdio.h> void fun(int s[],int *n,int k,int x) int i; for(i=*n-1;i>=k;i--)s______=s[i]; s[k]=x; *n=*n+______; main() int a[20]=1,2,3,4,5,6,7,8,9,10,11,i,x=0,k=6,n=11; fun(a, for(i=0,i<n,i++)printf("%4d",a[i]);printf("/n");
填空题以下程序中给指针P分配三个double型动态内存单元,请填空: #include<stdio.h> main() double*p; p=(double*)malloc 【18】 ; p[0]=1.5;p[1]=2.5;p[2]=3.5; printf("%f%f%f/n",p[0],p[1],p[2]);
填空题规定输入的字符串中只包含字母和*号。编写函数fun(),其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:* * * * A*BC*DEF*G* * * * * *
*,删除后,字符串中的内容应当是:ABCDEFG。 注意:部分源程序给出如下。
请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干条语句。
试题程序 #include
<conio.h> #include <stdio.h> void fun(char *
a) { } void main()
{ char s[81]; printf("Enter a string:/n");
gets(s); fun(s); printf("The string
after deleted:n"); puts(s); }
填空题填空补充以下程序。 # define 【11】 30 【12】 ; total=num PRICE; printf("total=%d,num=%d/n", 【13】 );
