填空题

给定程序中,函数fun()的功能是:使数组中的元素的值缩小5倍。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#include<conio.h>
float m[10];
/*************found**************/
int fun (void)

int j;
printf("In subfunc after calling\n");
for(j=O;j<lO;j++)
;
/*************found**************/
print ("%f ",m[j]%5);


main()

int i;
printf ("In main before calling\n");
for (i=0;i<10;i++)

m[i]=i+20;
printf("%f ",m[i]);

fun();
printf("\nIn main after calling\n");
for(i=O; i<10;i++)
printf("%f ",m[i]/5);

【参考答案】

(A)错误:int fun(void) 正确:void fun(void)
(B) 错误:prin......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

填空题
字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如,输入str=“1111”,x=2,y=10,结果输出:15。如果输入str=“15”, x=10,Y=2,结果输出: 1111。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio.h> #include<stdlib.h> #include<string.h> #define N 8 int xx[N]; int fun(char *str,int x,int y) int sum; int i=0; char *p=str; for(i=0; i<N; i++) xx[i]=0; sum=*p-’0’; p++; while (*p) sum= 【1】 ; p++; i=0; while(sum!=0) xx[i]= 【2】 ; 【3】 ; i++; return i; main () char str[6]; int i; int n; int x; int y; printf( Enter a string made up of ’0’ to ’9’ digits character: ); gets(str); if(strlen (str) >5) printf( Error:string too longer!, please input again! n n ); exit(0); for(i=0;str[i];i++) if(str[i]<’0’||str[i]>’9’) printf( Error:%c not is ’0’ to ’9’ digits character! n n , str[i]); exit(0); printf( The original string: ); puts(str); printf( nINPUT x= ); scanf( %d ,&x); printf( nINPUT y= ); scanf( %d ,&y); n=fun(str,x,y); printf( n%s is convered to ,str); for (i=n-1; i>=0; i--) printf( %d ,xx[i]);