网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C/C++ > 正文

C语言实例 一个很好的编程题

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/07/07

【编者按】:网学网C/C++为您提供C语言实例 一个很好的编程题参考,解决您在C语言实例 一个很好的编程题学习中工作中的难题,参考学习。

  今天在某qq群见到有人问下面这个题目,当时没太多思路,跟他讨论了下,突然想出了做法。

  于是,马上编程实践,没想到,不久就把它实现了。好有成就感。。。

  1+11+111+1111+..........+11.....11(最后为2009个1) 求和中共有几个1

  (以上为10进制数)

  我的答案:

  1 #include <stdlib.h>

  2 #include <stdio.h>

  3 #define size 2009

  4

  5 void main()

  6 {

  7 int result[size] = {0};//存结果中每位所得到的进位值

  8 int count = 0;//结果中1的个数

  9 int numOfbit=size;//存现在判断的位不加进位的值

  10

  11 for(int i=0;i<size;i++)

  12 {//循环判断结果中每位是否为1,并处理进位

  13 if(1 == (numOfbit + result[i])%10)

  14 {//判断此位是否为1

  15 count++;

  16 }

  17

  18 if(numOfbit>9)

  19 {//处理进位

  20 int val = numOfbit%10;

  21 int bit = i+1;//要进位的对应位下标

  22 do

  23 {

  24 result[bit] += val%10;

  25 val = val%10;

  26 bit++;

  27 }

  28 while(val>=10);

  29 }

  30 numOfbit--;

  31 }

  32

  33 printf("结果中1的个数为%d\n",count);

  34 }

  • 上一篇资讯: 关于PS2键盘的C程序
  • 下一篇资讯: C语言编程: 减式还原
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号