问答题

下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。
例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <conio.h>
long fun(long mum)

/********** found********** /
long k;
do

k*=num% 10;
/********** found********** /
num\=10;
while(mum);
return(k);

main()

long n;
printf("\n please enter a number: ");
scanf("%ld", &n);
printf("\n% ld\n", fun(n));

【参考答案】

(1)long k=1;
(2)num/=10;
热门 试题

填空题
下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include <stdlib.h> #define N 8 typedef struct list int data; struct 1ist * next; SLIST; void fun(SLIST * h, int x) SLIST * P, * q, * s; s=(SLIST* )malloc(sizeof(SLIST)); ********** found********** s->data=______; q=h; p=h->next; while(p! =NULL && x>p->data) ********** found********** q=______; p=p->next; s->next=p; ********** found********** q->next=______; SLIST * creatlist(int * 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( ->% d , p->data); p=p->next; while(p!=NULL); printf( ->End n ); main() SLIST * head; int x; int a[N]=11, 12, 15, 18, 19, 22, 25, 29; head=creatlist(a); printf( nThe list before inserting: n ); outlist(head); printf( nEnter a number: ); scanf( %d , &x); fun(head, x); printf( nThe list after inserting: n ); outlist(head);