| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4633 人关注过本帖
标题:求奇数和
只看楼主 加入收藏
波波卦
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2019-3-21
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:7 
求奇数和
本题要求实现一个函数,计算N个整数中所有奇数的和,同时实现一个判断奇偶性的函数。

函数接口定义:

int even( int n );
int OddSum( int List[], int N );
其中函数even将根据用户传入的参数n的奇偶性返回相应值:当n为偶数时返回1,否则返回0。函数OddSum负责计算并返回传入的N个整数List[]中所有奇数的和。

裁判测试程序样例:

#include <stdio.h>

#define MAXN 10

int even( int n );
int OddSum( int List[], int N );

int main()
{   
    int List[MAXN], N, i;

    scanf("%d", &N);
    printf("Sum of ( ");
    for ( i=0; i<N; i++ ) {
        scanf("%d", &List[i]);
        if ( even(List[i])==0 )
            printf("%d ", List[i]);
    }
    printf(") = %d\n", OddSum(List, N));

    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例:

6
2 -3 7 88 0 15
输出样例:

Sum of ( -3 7 15 ) = 19                  


我想知道更好的,优质的程序,知道更多的方法
搜索更多相关主题的帖子: 奇数 函数 int List 返回 
2019-04-24 08:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:2 
我想知道更好的,优质的程序,知道更多的方法
------ 这么简单直白的需求,不可能玩出什么花样

int even( int n )
{
    return n%2==0;
}
int OddSum( int List[], int N )
{
    int sum = 0;
    for( int i=0; i!=N; ++i )
        if( !even(List[i]) )
            sum += List[i];
    return sum;
}

一定要说的话,请更换一个更好的老师和教材。比如“int OddSum( int List[], int N );”放在C语言中绝对会写成 int oddsum( const int list[], size_t n );
随便拿个标准函数来看看,比如 void* memcpy( void* dest, const void* src, size_t count ); 看到了吧,不需要修改的前面一定会加const,而数量用的都是size_t。
2019-04-24 08:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
判断奇偶性 也要单独消耗一个函数   出题者也忒奇葩了

DO IT YOURSELF !
2019-04-24 08:59
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:2 
出题者为了让学生熟悉复杂程序功能和框架,用一个小问题演示复杂问题的解决方法

我想知道更好的,优质的程序,知道更多的方法:样例一般都是是优质程序。别要那么多,照要求自己做一个吧,框架都已经给你了
2019-04-24 09:29
波波卦
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2019-3-21
收藏
得分:0 
回复 4楼 zbjzbj
这个程序我自己写出来了,我感觉有点重复,我的程序和一楼是一样的方法,谢谢你的回答
2019-04-24 11:07
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:2 
判断奇偶也可以这样(取出最后一位) :n&1
2019-04-24 15:46
Mr_doge
Rank: 5Rank: 5
等 级:贵宾
威 望:10
帖 子:159
专家分:385
注 册:2018-6-28
收藏
得分:2 
    回3L的dalao,出题者奇葩么?这出题者很好啊,用粗糙,愚蠢,繁琐的方法来引导模块化构建实现的想法我觉得挺好,什么功能都追求一次性实现达到效率最大化,那就是不教新手走就讲怎么飞,很明显不好,先有实现,再谈优化,挺好的不是,何况题目也没啥问题,函数名使用驼峰命名,数组符号更突出参数类型易于理解,能用数组符号就不用指针,大部分情况下是正确想法吧,比起扯一个表达式重复赋值的编译器实现步骤什么的靠谱太多了。
    c语言有很高的格式、风格兼容性,其实也是标准建立时对于使用群体的妥协,因此c的格式风格一直都没什么硬性要求,只要结果正确,符合标准,贴近规范,易于理解,没有bug,我觉得没啥问题,比如说(void *)0 和 NULL,两者等效,喜欢哪个用哪个呗,我觉得如果使用c不能按照自己想法来折腾,而是像汇编一般严格,那真是太遗憾了,毕竟付出了承受各种错误可能的后果,却不能享受所获得的自由。
    除了2L,六楼也是干货,lz看到了位运算的章节建议回来看看,虽然由于编译器的优化,这个思路意义不大,但是却是窥视底层实现,补课的好视角,或者说,这便是c语言屠龙技的冰山一角。
2019-04-25 23:20
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用Mr_doge在2019-4-25 23:20:17的发言:

    回3L的dalao,出题者奇葩么?这出题者很好啊,用粗糙,愚蠢,繁琐的方法来引导模块化构建实现的想法我觉得挺好,什么功能都追求一次性实现达到效率最大化,那就是不教新手走就讲怎么飞,很明显不好,先有实现,再谈优化,挺好的不是,何况题目也没啥问题,函数名使用驼峰命名,数组符号更突出参数类型易于理解,能用数组符号就不用指针,大部分情况下是正确想法吧,比起扯一个表达式重复赋值的编译器实现步骤什么的靠谱太多了。
    c语言有很高的格式、风格兼容性,其实也是标准建立时对于使用群体的妥协,因此c的格式风格一直都没什么硬性要求,只要结果正确,符合标准,贴近规范,易于理解,没有bug,我觉得没啥问题,比如说(void *)0 和 NULL,两者等效,喜欢哪个用哪个呗,我觉得如果使用c不能按照自己想法来折腾,而是像汇编一般严格,那真是太遗憾了,毕竟付出了承受各种错误可能的后果,却不能享受所获得的自由。
    除了2L,六楼也是干货,lz看到了位运算的章节建议回来看看,虽然由于编译器的优化,这个思路意义不大,但是却是窥视底层实现,补课的好视角,或者说,这便是c语言屠龙技的冰山一角。



纯扯,用最优的办法去解决问题,才是最好的,本来用几句代码就能解决的问题,非要引申出一个函数来  不是有病 是神马

DO IT YOURSELF !
2019-04-26 14:27
快速回复:求奇数和
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034188 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved