四、程序填充題(本大題共3小題,每小題6分,共18分)
給出下列程序,將橫線處缺少的部分補(bǔ)上,使其能正確運(yùn)行。
36. 一個(gè)三位整數(shù)(100~999),若各位數(shù)的立方和等于該數(shù)自身,則稱其為“水仙花數(shù)”(如:153=13+53+33), 找出所有的這種數(shù)。
main( )
{
int n, a, b, c;/*n、a、b和c分別為三位數(shù)自身及其個(gè)位、十位和百位 */
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. 輸入一個(gè)數(shù)字(范圍在0~9之間,若不在此范圍內(nèi)顯示輸入錯(cuò)),輸出對(duì)應(yīng)的英文單詞(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. 將一個(gè)文本文件(ma. dat)拷貝到另一個(gè)文本文件(niu. dat)中。
#include
main( )
{
FILE *ma, *niu;
ma=fopen(″ma. dat″, ______); /*第一空 */
miu=fopen(″niu. dat″, ″w″);
while(! feof(ma)) fputc(fgetc(ma), ________); /*第二空 */
fclose(niu);__________; /*第三空 */
}
給出下列程序,將橫線處缺少的部分補(bǔ)上,使其能正確運(yùn)行。
36. 一個(gè)三位整數(shù)(100~999),若各位數(shù)的立方和等于該數(shù)自身,則稱其為“水仙花數(shù)”(如:153=13+53+33), 找出所有的這種數(shù)。
main( )
{
int n, a, b, c;/*n、a、b和c分別為三位數(shù)自身及其個(gè)位、十位和百位 */
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. 輸入一個(gè)數(shù)字(范圍在0~9之間,若不在此范圍內(nèi)顯示輸入錯(cuò)),輸出對(duì)應(yīng)的英文單詞(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. 將一個(gè)文本文件(ma. dat)拷貝到另一個(gè)文本文件(niu. dat)中。
#include
main( )
{
FILE *ma, *niu;
ma=fopen(″ma. dat″, ______); /*第一空 */
miu=fopen(″niu. dat″, ″w″);
while(! feof(ma)) fputc(fgetc(ma), ________); /*第二空 */
fclose(niu);__________; /*第三空 */
}