填空题下面rotate函数的功能是:将n行n列的矩阵A转置为A’,例如: #define N 4 voidrotate(inta[ ][N]) { inti,j,t; for(i=0;i<N;i++) for(j=0;【13】;j++) {t=a[i][j]; {{U}} 【14】 {{/U}}; a[j][i]=t;}}
填空题为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域),请填空。sructlink{chardata;______;}node;
填空题下面程序的运行结果是______。
int m, n;
int fun()
{
m=88;
n=99;
return(n);
}
int main()
{
int m=55, n=66;
printf("/n%d, %d, %d, %d/n", m, fun(), m, n);
return 0;
}
填空题下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之积。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
int fun()
{
int a[3][3],mu1;
int i,j;
mu1=l;
for (i=0;i<3;i++)
{
/*************found*************/
for(i=0;i<3;j++)
scanf(“%d”,&a[i][j]);
}
for(i=0;i<3;i++)
/*************found*************/
mu1=mu1*a[i][j];
printf("Mu1=%d/n",mu1);
}
main()
{
fun();
}
填空题以下程序段的输出结果是 【2】 。 int i=9; printf("%o/n",i);
填空题以下程序中函数fun的功能是:统计person所指结构体数组中所有性别(sex)为M的记录的个数,存入变量n中,并作为函数值返回。请填空:
#include<stdio.h>
#define N 3
typedef struct
{int mum,char name[10];char sex;}SS;
int fun(SS person[])
{int i,n=0;
for(i=0;i<N;i++)
if(______=='M')n++;
return n;
}
main()
{SS W[N]={{1,'AA','F'},{2,'BB','M'},{3,'CC','M'}};int n;
n=fun(W);printf("n=%d/n",n);
}
填空题数组xx[N]保存着一组4位无符号整数,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。 例如:当xx[8]=1111,2413,2321,2222,4245,3333,1414, 5335时,bb[6]=1111,2321,2222,4245,3333,1414)。 注意:部分源程序给出如下。 请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio. h> #include<conio. h> #define N 1000 int fun (int xx [], int bb [], int num) int i, n=0; int g,b; for (i=0; i<num; i++) g= 【1】 ; b=xx [i]/100%10; if (g==b) 【2】 return 【3】 ; main() int xx [8] =1111,2413, 2321, 2222, 4245, 3333,1414,5335 ; int yy[N]; int num=0, n=0, i=0; num=8; clrscr (); printf ("*****original data ******/n "); for (i=0; i<num; i++) printf ("%u ",xx[i]); printf ("/n/n/n"); n=fun (xx, yy, num); printf ("/n yy= "); for (i=0; i<n; i++) printf ("%u ", yy [i]);
填空题下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。 (注:程序采用了冒泡排序法) #include<stdio.h> #include<string.h> main() char*str="ABCDabcd",temp; int n,i; n=strlen(str); while(n-->1) for(i=0;i<n;i++) if(str[i]<str[i+l]) temp={{U}} {{/U}}; str[i]=str[i+l];{{U}} {{/U}}=temp; printf({{U}} {{/U}});
填空题以下程序运行后的输出结果是______。 int fun(int a) int b=0; static int c=3; b++; c++; return(a+b+c); main() int i, a=5; for(i=0; i<3; i++)printf("%d%d", i, fun(a)); printf("n");
填空题以下程序运行后的输出结果是______。
#include<stdio.h>
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf("%d%d",x,y);
}
填空题给定程序中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。
请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<stdlib.h>
typedef struct aa
{int data;
struct aa*next;
}NODE;
NODE*Creatlink(int n,int m)
{NODE*h=NULL,*p,*s;
int i;
/**********found**********/
p=(NODE)malloc(sizeof(NODE));
h=p;
p->next=NULL;
for(i=1;i<=n;i++)
{s=(NODE*)malloc(sizeof(NODE));
s->data=rand()%m; s->next=p->next;
p->next=s; p=p->next;
}
/**********found**********/
return p;
}
void 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;
head=Creatlink(8,22);
outlink(head);
}
填空题a为任意整数。能将变量a清零的表达式是______。
填空题以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整型数据,成员变量link是指向自身结构体的指针,请将定义补充完整。
struct node
} int info;
{{U}}【19】 {{/U}}link;
};
填空题下列给定程序中,函数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;
ho(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);}
填空题以下程序段的输出结果是( )。
#include
mian()
{ char a,b;
for(a=0;a<20;a+=7) { b=a ; putchar(b+’0’); }
}
填空题以下程序运行后,若输入:3,abcde <回车>,则输出结果是 【11】 。 #include <stdio.h> #include <string.h> move(char *str,int n) char temp; int i; temp=str[n-1]; for(i=n-1;i>0;i--) str[i]=str[i-1]; str[0]=temp; main() char s[50]; int n,i,z; scanf("%d,%s", z=strlen(s); for(i=1;i<=n;i++) move(s,z); printf("%s/n",s);
填空题以下程序的输出结果是{{U}} 【18】 {{/U}}。
#define MCRA(m) 2*m
#define MCRB(n,m) 2*MCRA(n)+m
main( )
{ int i=2,j=3;
printf("%d/n",MCRB(j,MCRA(i)));
}
填空题以下程序中给指针p分配3个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(char *s),该函数的功能是把字符串中的内容逆置。
例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容变为edcba。
注意;部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
$include<string.h>
#include<conio.h>
#include<stdio.h>
#define N 81
void fun(char*s)
{
int i=0,t,n=strlen(s);
for(;{{U}} 【1】 {{/U}};i++)
{
t=*(s+i);
{{U}}【2】 {{/U}};
{{U}}【3】 {{/U}};
}
}
main()
{
char a[N];
clrscr();
printf("Enter a string:");
gets(a);
printf("The original string is:");
puts(a);
fun(a);
printf("/n");
printf("The string after modified:");
puts(a);
}
填空题以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。 #define N 4 void rotade(int a[][N],int b[][N]) int i,j; for(i=0;i<N;i++) b[i][N-1]={{U}} {{/U}};{{U}} {{/U}}:a[N-1][i];