问答题
下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符’0’~’9’,则将’0’转换成’9’, ’1’转换成’8’,’2’转换成’7’,……,’9’转换成’0’;若是其他字符则保持不变;并将转换后的结果作为函数值返回。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h >
/**********found********** /
(1) fun (char ch)
/**********found********** /
if(ch>’0’ && (2) )
/**********found********** /
return ’9’-(ch- (3) );
return ch;
main ()
char c1, c2;
printf ("\nThe result :\n");
c1=’2’; c2=fun (c1);
printf ("c1=% c c2=% c\n",
c1, c2);
c1=’8’; c2=fun (c1);
printf ("c1=% c c2=% c\n",
c1, c2);
c1=’a’; c2=fun (c1);
printf ("c1=% c c2=% c\n",
c1, c2);
【参考答案】
char (2) ch<=’9’ (3)’0’
答案考生文件夹
热门
试题
问答题
N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序 #include <stdlib.h> #include <stdio.h> #define N 8 struct slist double s; struct slist * next; ; typedef struct slist STREC; double fun(STREC * h) STREC * creat (double * s) *创建链表* STREC * h, * p, * q; int i=0; h=p=(STREC*) malloc (sizeof (STREC)); p->s=0; while (i<N) q=(STREC *)malloc (sizeof (STREC)); q->s=s[i]; i++; p->next=q; p=q; p->next=0; return h; outlist (STREC * h) STREC * p; p=h->next; printf ( head ); do printf( ->% 4.1f , p->s); p=p->next; *输出成绩* while (p !=NULL); printf ( n n ); void main () double s[N]=85, 76, 69, 85, 91, 72, 64, 87 , ave; STREC * h; h=creat (s); outlist (h); ave=fun (h); printf( ave=% 6.3f n , ave);