zoukankan      html  css  js  c++  java
  • 最近帮朋友用c写的一个算法题

    請用C++寫一個小程序,從一個文本文件中把所有數字累加起來,然後顯示出結果。文本文件內容如下所示:

    華倫巴菲特-世界首富的選股法則:
    1. 股東權益報酬率(1季及2年平均)均大於3.75%
    2. 現金流量成長率(1季及2年平均)均大於5%
    3. 價格/淨值比小於2
    4. 毛利率(1季及2年平均)均大於15%
    5. 本益比小於20

    結果=1+2+3+75+1+2+5+2+1+2+15+20
     

    题目还有一个要求,要忽略标题,这里忽略的方法是只截取“.”之后的数字。

    用时 30 分钟,感觉手有点生了。

    Code

    #include
    <stdio.h>


    int main(int argc, char* argv[])
    {
    FILE
    *file = fopen("d:\\xx.txt", "r"
    );
    if (file ==
    NULL)
    {
    printf(
    "file open fail."
    );
    return 0
    ;
    }

    // 缓冲区

    char buf[20];
    int index = 0
    ;

    // 是否跳过标题

    bool step = false;

    // 最后的总数

    int sum = 0;
    char
    c;

    while( (c= fgetc(file))!=
    EOF)
    {
    if (c == '\n'
    )
    step
    = false
    ;

    if (c == '.'
    )
    step
    = true
    ;

    if ((c >= '0' && c <='9') &&
    step)
    {
    buf[index]
    =
    c;
    index
    ++
    ;
    }
    else

    {
    if (index > 0)
    {
    int n = 0
    ;
    for(int i = 0; i < index; i++
    )
    {
    n
    = n * 10
    ;
    n
    += (buf[i] - '0'
    );
    }

    printf(
    "%d + "
    , n);
    sum
    +=
    n;
    index
    = 0
    ;
    }
    }
    }

    printf(
    "\nsum:%d \n"
    , sum);
    return 0
    ;
    }

  • 相关阅读:
    在光驱按钮不好使用时如何关闭光驱门
    将24位及32位图像数据保存到位图中
    VIM代码自动完成
    加载TLBB场景(一)
    创建异形窗口
    Windows快速关机与重启
    Direct3D9应用CEGUI
    利用GDI+加载图片
    ubuntu MP3乱码解决
    asp.net动态生成控件及访问控件
  • 原文地址:https://www.cnblogs.com/yahle/p/1285368.html
Copyright © 2011-2022 走看看