给定程序blank1.c中函数fun()的功能是将整数n的值进行逆序转换,其结果通过函数值返回。 例如,输入123,则输出321。 输入-810,则输出-18。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注

admin2023-02-27  18

问题 给定程序blank1.c中函数fun()的功能是将整数n的值进行逆序转换,其结果通过函数值返回。
  例如,输入123,则输出321。
  输入-810,则输出-18。
  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:不得增行或删行,也不得更改程序的结构!
1 #include
2 int fun(int n)
3 {
4    int m,y;
5    y=0;
6    if(n>=0)
7    m=n;
8    else
9    m=-n;
10    while(m!=0){
11 /*********found*********/
12    y=【1】+m%10;
13  /*********found*********/
14    m=【2】
15    }
16    y=(n>=0)?y:-y;
17  /*********found*********/
18  【3】
19 }
20 int main()
21 {
22    int m1,m2;
23    scanf("%d%d",&m1,&m2);
24    printf("%d的逆向是%d\t",
25 m1,fun(m1));
26  printf("%d的逆向是%d\n",m2,fun(m2));
26    return 0;
27 }

选项

答案(1)y*10或者10*y (2)m/10 (3)return y;

解析 题干要求将整数n逆序转换,霈要取变量n的每位上的数字。n%10的值为变量n的个位,n/10得到的数是去掉个位后的数字。
    (1)程序将逆序后的数存放到变量y,y乘以10以后,加m的个位数字。故空1处应该填y * 10或者10*y。
    (2)m的个位数已被用于y中,需要取出十位数字,m/10后得到的数为去掉了原先的个位,这时通过循环再取出个位数字。故空2处应该填m/10。
    (3)程序将逆序后的数存放于变量y中,函数返回这个值,故空3处应该填return y;。  
转载请注明原文地址:https://kaotiyun.com/show/tJ0D777K
0

相关试题推荐
最新回复(0)