C语言填空题。求解意思?详细解答

C语言填空题。求解意思?详细解答,第1张

主要是

while

(_m!=0)

{

k*=m%10

s+=m%10

m/=10

}

这一段吧

k记录的是这个数每一位的乘积

s记录的是每一位数的和

例如m=1234

进入while循环

k*=m%10等价于k=k*(m%10)

s+=m%10等价于s=s+(m%10)

m%10就是当前m的最低位4

k=k*4=4(k的初值为1)

s=s+4=4(s的初值为0)

m/=10的意思就是m=m/10

因为m是Int型的

所以只保留整数位

m=123

相当于把计算过的个位就扔掉了,那样下次%10取余的就是以前的十位了

m!=0那么又进入while循环

一直到m=1的时候

k的总值就是4*3*2*1

s的总值就是4+3+2+1

这时m/=10

因为商是0

所以m=0

说明这个数的所有位数已经计算完毕

则跳出循环,判断k和s的大小

如果k>s,就是满足条件的数,输出n

答案:15,64 6(由于有些输出中间没有空格,所以输出是连在一起的了),分析如下:

#include<stdio.h>

int k=1

void main()

{

int i=4

void fun(int m)

fun(i)  //调用函数

printf("%d %d\n",i,k)  //变量i=4,全局变量k的值是6,所以输出4 6

}

void fun(int m)

{

m+=k k+=m //这里m=4,全局变量k=1,所以m=m+k=4+1=5,k=k+m=1+5=6

{

char k='B' //定义了局部变量k,在花括号{}这个代码块内,屏蔽了全局变量的k

printf("%d",k-'A')  //这里由于只有局部变量k起作用而k='B',输出1。

}

printf("%d,%d",m,k) //出了花括号后,局部变量的作用域结束了,全局变量的k又开始起作用,所以输出5,6

}

答案如下:记得采纳哟~~O(∩_∩)O~

#include<stdio.h>

main()

{ int t=0,s=0,i

for(i=1i<=5i++)

{ t=i+10*t

s=s+t}

printf("s=%d\n",s)

getchar()

}

findmax( int s[],int t)

{ int k,p

for(p=0,k=pp<tp++)

if(s[p]>s[k])

k=p

return k

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11303875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存