Level 4-4: 数位分离——练习三和练习四

给出一个三位数s,要求算出这个三位数的每一位数,例如现有三位数123, 希望得到“1 2 3”。

按照刚才所学的方法,我们可以把这个三位数的个位,十位,百位分别算出来。

个位123%10=3  s%10

十位123/10%10=2   s/10%10

百位123/100=1  s/100


如果给出一个正整数x,从最低位开始把这个数的每一位数算出来,

例如12345,应该得到“5 4 3 2 1”

如果还是按照刚才的方法,我们可以得出以下的算式

12345%10=5                                

12345/10%10=4                

12345/100%10=3

12345/1000%10=2

12345/10000%10=1


但是题目只告诉我们一个正整数x,并没有告诉我们x这个数是一个几位数,还能用刚才的方法吗?

经过刚才的学习我们知道x%10是求出最后一位,x/10是删除最后一位,x/10之后我们就会得到一个新的数,

通过上面的步骤我们继续对新的数%10就会得到新数的最后一位....直到这个数中所有的位数都删掉。



练习三

第1题     数字表示(程序填空)

 读入一个正整数n,把它的每位用该数字为颜色号,半径为20的实心圆表示。 

输入格式

第一行1个正整数n。

输出格式

正确的图形。

输入/输出例子1

输入:

13506

输出:

样例解释

作答区域

第2题     彩色冰糖葫芦

小 C 突然很想吃冰糖葫芦,但是市面上的冰糖葫芦颜色都太单调了,小 C 要是能吃到一种彩色的冰糖葫芦就好了。你能帮小 C 设计出来吗?输入一个整数n,葫芦的颜色是n的各位数字,每个葫芦的圆半径是 15,穿冰糖葫芦的每段线段的长度是 35。

输入格式

一个整数n,范围在【0,100000000】。

输出格式

相应的图形。

输入/输出例子1

输入:

3553131   

输出:

输入/输出例子2

输入:

4321

输出:

样例解释

作答区域

int main(){

      int x;

    cin>>x;

    for( ;x>0;x=x/10)

    {p.c(x%10).fd(35).oo(15);}

  p.hide();

    return 0;

}

第3题     各位数字之和

数学老师在黑板上写了一个数字a,请你计算出这个数的各位数字之和,并且用计算的结果画一个边长是50的正多边形。

例如:老师写了123,则1+2+3=6,所以你要画出一个边长是50的正六边形,请你编程完成。

输入格式

输入一个正整数a,范围【10,1000000】。

输出格式

对应的图形。

输入/输出例子1

输入:

123

输出:

int main(){

int a,s=0;

    cin>>a;

    for(;a>0;a=a/10)

    {s=s+a%10;}

    for(int i=1;i<=s;i++)

    {p.fd(50).rt(360.0/s);} 

    return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第1题 找规律 认真观察并计算一下算式,完成填空题。说说你有什么发现? 98765%10= 9876%10= 9...
    樱芷阅读 26评论 0 1
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,109评论 0 2
  • /* 变量命名规则: 1.只能由字母、数字、下划线、美元符号组成,并且不能以数字开头。 2.变量命名要...
    BJ000阅读 2,150评论 0 0
  • 基础 表示二进制的字母是b,表示八进制的字母是o(这是英文字母中小写的o,不要和数字0搞混了),表示十六进制的字母...
    MoShengLive阅读 125评论 0 0
  • 1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不...
    曲终人散Li阅读 3,522评论 0 19

友情链接更多精彩内容