C语言:输入一个长整数n,从高位开始逐位分离并输出。要求使用while或do-while语句实现循环结构。

  • Post author:
  • Post category:其他


题目:

程序功能:输入一个长整数n,从高位开始逐位分离并输出。例如输入123456,程序运行结果如下图。要求使用while或do-while语句实现循环结构。

考察知识:

1、关系表达式、逻辑表达式及运算符的使用。

2、while或do…while实现循环结构程序设计。

3、数组。

解题思路:

1、定义长整型避免输入数据过大而溢出,若希望输入更大的数,可定义unsigned long long,即无符号的长整型。

2、定义数组并将其中元素全部初始化为0,用于后续存放分离后的数。

3、输入一个正整数,例如:输入了12345。

4、定义循环变量i。

5、利用循环实现逐位分离长整数。a、b、c……为分离长整数具体步骤。

a、a[i] = n % 10;取个位数字,并将所得数存放到数组中。如第一次循环:a[0]=12345%10=5 第二次循环:a[1]=1234%10=4……

b、n /= 10;相当于n=n/10;每次循环,都将丢弃个位数字,成为一个新数字。如第一次循环:12345/10=1234 第二次循环:1234/10=123……

6、计数器更新次数比分离后所得数的数量多1,即多执行了一次i++,故需要i–。

7、再次利用循环输出分离后的数。

代码:

运行结果:



版权声明:本文为lbcbjtlhmjq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。