鱼C论坛

 找回密码
 立即注册
查看: 4765|回复: 10

c表达式问题

[复制链接]
发表于 2012-8-9 22:06:05 | 显示全部楼层 |阅读模式
2鱼币
#include<stdio.h>
int main()
{
int n=2345,sum=0;
do
{sum=sum+(n%10)*(n%10);
n=n/10;
}while(n);
printf("sum=%d",sum);
return 0;
}
代码功能是计算2345各位数字的平方和,不理解n=n/10  的作用!!


最佳答案

查看完整内容

让n的值这样变:2345->234->23->2->0
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-8-9 22:06:06 | 显示全部楼层
让n的值这样变:2345->234->23->2->0
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2012-8-9 22:11:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-9 22:15:30 | 显示全部楼层
首先sum=sum+(n%10)*(n%10);就是累加个位数的平方和,然后n=n/10就是把2345变成234,这样4就成了个位,然后以此类推。。。n/10执行了4次后就==0了,跳出循环。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-10 16:28:03 | 显示全部楼层
n=n/10  ,你可以理解为。把2345向左移动一位。这样在第二次循环时,把2345十分位上的4给平方了,哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-11 11:28:06 | 显示全部楼层
整除的意思,2345整除10就等于234
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-11 21:04:47 | 显示全部楼层
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         int n=2345,sum=0;
  5.         do
  6.         {
  7.                 sum=sum+(n%10)*(n%10);
  8.                 n=n/10;                //就是从千位->百位->十位->个位   一直除到n的值为假时 才会停止
  9.         }while(n);

  10.         printf("sum=%d\n",sum);

  11.         return 0;
  12. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-12 00:05:47 | 显示全部楼层
建议你去看一下%的作用!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-15 16:55:15 | 显示全部楼层
建议把/和%结合在一起看      
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-18 22:36:00 | 显示全部楼层
:lol两整数相除 结果是个整数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2012-8-20 17:49:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 15:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表