作者自己都没有找到“使用C语言的感觉”,凭什么帮助初学者找到使用C语言的感觉_C程序设计伴侣书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > C程序设计伴侣 > 作者自己都没有找到“使用C语言的感觉”,凭什么帮助初学者找到使用C语言的感觉
薛非 C程序设计伴侣 的书评 发表时间:2012-09-30 09:09:13

作者自己都没有找到“使用C语言的感觉”,凭什么帮助初学者找到使用C语言的感觉

这是作者去年8月写的一段代码

#include <stdio.h>
#include <stdLib.h>
#include <memory.h>

struct grade
{
    scores[6][50];
};

// 获得一维数组的平均值
float getaver(int* st)
{
    int count = 0;
    int total = 0;
    while(0!=*st)
    {
        ++count;
        total += *st;
        ++st;
    }
    if(0 == count)
        return 0.0f;
    
    return (float)total/count;
     
}

// 通过数组的平均值大小进行比较
int cmp(const void* a, const void* b)
{
    // 获得两个数组的平均值
    float avera = getaver((int*)a);
    float averb = getaver((int*)b);

    // 返回比较结果
    return avera – averb;
}
int main()
{
    // 定义保存批量数据的二维数组,
    // 并用memset()函数完成数组的初始化
    const int classnum = 3;
    const int stnum = 100;
    int scores[classnum][stnum];
    memset(scores,0,classnum*stnum*sizeof(int));
    
    // 利用for语句完成数据的输入
    for(int i = 0; i < classnum;++i)
    {
        printf("please input the scores of class %d:n",i+1);
        for(int j = 0; j < stnum; ++j)
        {
            // 将输入的数据保存到scores[i][j]
            scanf("%d",&scores[i][j]);

            // 判断刚刚输入的数据是否为0,
            // 如果为0,则利用break结束本层循环
            if(0 == scores[i][j])
                break;
        }
    }
    puts("sort");
    qsort(scores,
        classnum,
        stnum*sizeof(int),
        cmp);
    puts("end");
    for(int i = 0; i < classnum;++i)
    {
        printf("average score is %.2f :n",
            getaver(scores[i]));

        for(int j = 0; j < stnum; ++j)
        {
            if(0 == scores[i][j])
                break;
            printf("%4d",scores[i][j]);
        }
        printf("n");
    }
    return 0;
}

大家从中不难看出作者真实的C语言“使用”能力

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“作者自己都没有找到“使用C语言的感觉”,凭什么帮助初学者找到使用C语言的感觉”的回应

薛非 2012-09-30 09:17:19

所以他声称“本书的重点在于,帮助初学者找到使用C语言的感觉”
问题是他自己都没有这种感觉
凭什么说他可以“帮助初学者”找到使用C语言的这种感觉呢?

薛非 2012-09-30 09:14:58

今年4月
http://bbs.chinaunix.net/thread-3705075-1-1.html
有诸多网友指出其中存在的错误
但是作者即使在这种情况下依然弄不清楚他自己的错误