第四章循环控制4.4经典范例
发表在C语言图书答疑 2015-06-23
是否精华
版块置顶:
第四章 循环控制4.4经典范例,4.4.2经典范例2 平方和运算。#include<stdio.h>这是头文件,main主函数,{
long a[10],n,i;这是定义数组和整型变量。
p:printf("请输入一个大于1的数:\n");
   scanf("%ld",&n);从键盘输入一数,
  if(n==0‖n==1)输入0或1重新输入,
        goto p这是转回到p位置,
以上这些非常简单。可下面的循环不理解,
while("n!=145")while是先对条件判断为真就执行,n不等于145为真,了解对否?
{
  printf("n=%ld->",n)
  i=1;i是从1开始执行,
  while(n>0)为真
{
    a[i++]=n%10 %取于例如75是将5存到数组a吗?
   n/=10;如按75=70。
}
n=0;是把0赋值到n,循环结束吗?
i--是如何减的?
while(i>=1)
{
   printf("%ld*%ld",a[i],a[i]);括号里面是长整型乘长整型,a[i]a[i]数组不理解,里面是多少数值,
  if(i>1)
    printf("+")
  n+=a[i]*a[i]乘数组,
  i--;
  }
  printf("=%ld\n,"n)这是最后的结果这个不用解释,
请高手解释上面while的嵌套的代码,
分享到:
精彩评论 1
爱学习
学分:0 LV1
TA的每日心情
开心
2020-03-23 20:54:03
2015-06-23
沙发
你之前理解的都对,从while("n!=145")循环开始说。这个题意你应该清楚,最后如果n是145的话,程序结束,程序主要输出这个过程。a数组是用来保存n这个数的各个位,比如75,5放到a[1]中,7放到a[2]中,注意的是,
while(n>0)为真
{
a[i++]=n%10
n/=10;
}
这个循环结束后,i又加了一次,a[i++]=n%10,因为这条语句,也就是将75各个位存储在数组中后,i的值现在是3,所以后面的语句是i--,让i=2,从7的平方开始累加到n中,注意在这之前将n的值变成0,
while(i>=1)
{
printf("%ld*%ld",a[i],a[i]);括号里面是长整型乘长整型,a[i]a[i]数组不理解,里面是多少数值,
if(i>1)
printf("+")
n+=a[i]*a[i]乘数组,
i--;
}
这个循环就是算平方和,比如7*7+5*5=74,此时n不等于145,又回到我们刚开始分析的位置,继续循环。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照