填空题给定程序中函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
long fun(long num)
{
/**********found**********/
long k;
do
{k*=num%10;
/**********found**********/
num/=10;
}while(num);
return(k);
}
main()
{long n;
printf("/nPlease enter a number:");
scanf("%ld",
printf("/n%ld/n",fun(n));
}
填空题以下程序的输出结果是{{U}} {{U}} {{/U}} {{/U}}。
main()
{ int x=0;
sub(&x,8,1);
printf("%d/n",x);
}
sub(int *a,int n,int k)
{ if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
填空题下列给定程序中函数fun()的功能是;从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为4576235时,t中的数为4725。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#include<conio.h>
/************found*************/
int fun(long s,long *t)
{
long s1=l0;
*tis%10;
while(s>0)
{
/*************found*************/
s=s%100;
*t=s%10*s1+*t;
s1=s1*10;
}
}
main()
{
long s,t;
clrscr();
printf("/nPlease enter s:");
scanf("%ld",&s);
fun(s,&t);
printf("The result is:%ld/n",t);
}
填空题对长度为10的线性表进行冒泡排序,对坏情况下需要比较的次数为______
填空题在先左后右的原贝吓,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、 【1】 遍历和后序遍历。
填空题以下程序输出的最后一个值是______。
int ff(int n)
{ static int f=1;
f=f*n;
return f
}
main()
{ int i;
for(i=1;i<=5;i++) printf("%d ",ff(i));
}
填空题下列给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意
:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 5
typedef struct node
{
int data;
struct node *next;
}NODE;
void fun(NODE *h)
{NODE *p,*q,*r;
/********found********/
p=h->______;
/********found********/
if(p==______)return;
q=p->next;
p->next=NULL;
while(q)
{r=q->next;q->next=p;
/********found********/
p=q;q=______;
}
h->next=p;
}
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]={2,4,6,8,10};
head=creatlist(a);
printf("/nThe original list/n");
outlist(head);
fun(head);
printf("/nThe list after inverting:/n");
outlist(head);
}
填空题给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
void fun(char*s,int a,double f)
{
/**********found**********/
______fp;
char ch;
fp=fopen("file1.txt","w");
fprintf(fp,"%s %d %f/n",s,a,f);
felose(fp);
fp=fopen("file1.txt","r");
printf("/nThe result:/n/n");
ch=fgetc(fp);
/**********found**********/
while(!feof(______)){
/**********found**********/
putchar(______);ch=fgetc(fp);}
putchar("/n");
fclose(fp);
}
main()
{char a[10]="Hello!";int b=12345;
double c=98.76;
fun(a,b,c);
}
填空题下面程序的输出是 【9】 。 main() enum emem1=3,em2=1,em3; char*aa[]="AA"m,"BB","CC:,"DD"; printf("%s%s%s/n,aa[em1],aa[em2],aa[em3]);
填空题若有定义:int a=2, b=2, c=2; ,则语句++a||++b&&++c;运行后b的值为______。
填空题以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() int a[3][4]=12,41,36,28,19,33,15,27,3,27,19,1,b[3],i; fun(3,4,a,b); for(i=0;i<3;i++)printf("%4d",b[i]); printf("/n"); void fun(int m,int n,int ar[][4],int *br) int i,j,x; for(i=0;i<m;i++) x=ar[i][0]; for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j]; 【12】 =x;
填空题以下程序运行后的输出结果是 【14】 。 main() char a[]="Language", b[]="Programe"; char * p1, * p2; int k; p1=a; p2=b; for(k=0; k<=7; k++) if(*(p1+k)==*(p2+k))printf("%c", *(p1+k));
填空题mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。 int mystrlen(char*str) int i; for(i=0;______!='/0';i++); return(i);
填空题以下程序运行后的输出结果是 [9] 。 main() int a,b,c; a=10;b=20;c=(a%b<1)||(a/b>1); printf("%d%d%d/n",a,b,c);
填空题若有以下程序 main() char a; a='H'-'A'+'0'; printf("%c/n",a); 执行后输出的结果是______。
填空题下面程序的功能是求1!+2!+3!+…+9!,请把程序补充完整。
#include<stdio.h>
float fracsum(int n) /*求n!*/
{
if(n==1)
return(1); /*递归结束条件,当n=1时,n!=1*/
else
return(n*______); /*递归调用*/
}
int main()
{
int i=1;
float int, sum;
sum=______;
while(i<=9)
{
sum+=______;
i++;
}
printf("%.of/n", sum);
return 0;
}
填空题下面invert函数的功能是将一个字符串str的内容颠倒过来,请填空。 #include<string.h> void invert(char str[]) int i,j,______; for(i=0,j=strlen(str)______;i<j;i++,j--) k=str[i];str[i]=str[j];str[j]=k;
填空题若有如下程序: main() int x=20; if(x>10)printf("%d",x-=5); if(x>15)printf("%d",x); 则程序运行后的输出结果是______。
填空题设有下列宏定义:
#define A2
#define B(A+3)
则执行赋值语句"k=B*20;"(k为int型变量)后,k的值是______。
填空题下列给定的程序中,函数fun()的功能是:求出以下分数序列的前n项和。 2/1,3/2,5/3,8/5,13/8,21/13,… 其值通过函数值返回main()函数。例如,若输入n=5,则应输出8.391667。 [注意] 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 [试题源程序] #include<stdio.h> #include<conio.h> double fun(int n) int a=2, b=1, c, k; double[ (1) ]; for(k=1; k<=n; k++) s=s+1.0 *a/b; c=a; a+=[ (2) ]; b=c; return(d); main() int n=5; printf("/nThe value of function is: %1f/n", [ (3) ]);
