C语言上机报告之水仙花数.docVIP

  • 12
  • 0
  • 约 6页
  • 2017-06-07 发布于重庆
  • 举报
C语言上机报告之水仙花数

C语言程序设计 上机报告 课题名称:水仙花数的算法 院 (系):工程学院 专业班 级: 052126 学生姓名: 喻培 学 号: 20121004040 指导教师: 熊慕舟 2013年11月24日 C语言上机报告之水仙花数 上机目的:1.了解c语言和程序设计 2.学习怎样实现算法,怎样实现水仙花数的输出 上机作业:判断是否是水仙花数。 —水仙花数是指一个n位数(n=3),它的每个位上数字n次幂之和等于它本身。 要求: —用scanf输入的数字为任意位数字 —要求进行错误检查 —判断该数是否为水仙花数 —对判断结果进行输出 程序设计 1、NS流程图: 输入n 0→sum,1→i,0→c,n→h,h→j n/10不小于1 是 否 n/10→n,i+1→i 跳出循环 直到n/10不小于1 ci 是 否 h%10→b,h/10→h,sum+b的i次幂→sum,c+1→c 跳出循环 直到c=i sum=j 是 否 输出n“是水仙花数” 输出n“不是水仙花数” 2、算法: 首先将0赋值给sum,1赋值给i,0赋值给c,n赋值给h,h赋值给j,再输入任意一位数n,对它取10的商,用该商与1比较。若不小于1,则将该商赋值给n,i+1赋值给i,再进行判断,重复以上步骤,直到n/10不小于1,跳出循环体,记住此时i的值,执行下一步。判断c是否小于i。若是,则将h取10的余数赋值给b,h除以10的商赋值给h,sum+b的i次幂赋值给sum,c+1赋值给c,再进行判断,重复以上步骤,直到c不小于i,跳出循环体,执行下一步。最后判断sum=i,若是,则输出n“是水仙花数”;若不是,则输出n“不是水仙花数”。 3、程序代码: # includestdio.h //预处理指令 # includemath.h //定义一个函数 int main() //函数首部 { int n,b,h,j; //定义变量 sum=0; //对变量sum赋值 c=0; //对变量c赋值 i=1; //对变量i赋值 printf(please enter a number,n=?); //输出语句 scanf(%d,n); //输入任意数n h=n; //对变量h赋值 while(n/10=1) //循环结构的开始 { n=n/10; //对变量n赋值 i=i+1; //对变量i赋值 } //第一层循环结 束 j=h; //对变量j赋值 while(ci) //第二层循环的 开始 { b=h%10; //对变量b赋值 h=h/10; //对变量h赋值 sum=sum+(int)pow(b,i);

文档评论(0)

1亿VIP精品文档

相关文档