四、程序填充题(本大题共3小题,每小题6分,共18分) 给出下列程序,将横线处缺少的部分补上,使其能正确运行。 36. 一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33), 找出所有的这种数。 main( ) { int n, a, b, c;/*n、a、b和c分别为三位数自身及其个位、十位和百位 */ for(c=1;c<=9;c++) for (b=0; b<=9;b++) for(______;a++) /*第一空*/ { n=_________; /*第二空*/ if(a*a*a+b*b*b+c*c*c==_________) /*第三空*/ printf(″%d\n″, n); } } 37. 输入一个数字(范围在0~9之间,若不在此范围内显示输入错),输出对应的英文单词(Zero, One, Two, ……,Nine)。 main( ) { int i; char *digit[10]={″Zero″, ″One″, ″Two″, ″Three″, ″Four″, ″Five″, ″Six″, ″Seven″, ″Eight″, ″Nine″}; scanf(″%d″, _________); /*第一空 */ printf(″%d→″, i); if(____________) /*第二空 */ printf(″%s\n″, digit[_________]); /*第三空 */ else printf(″Input error! \n″); } 38. 将一个文本文件(ma. dat)拷贝到另一个文本文件(niu. dat)中。 #include main( ) { FILE *ma, *niu; ma=fopen(″ma. dat″, ______); /*第一空 */ miu=fopen(″niu. dat″, ″w″); while(! feof(ma)) fputc(fgetc(ma), ________); /*第二空 */ fclose(niu);__________; /*第三空 */ }
|