实验4-1-2 求奇数和 (15分)

本题要求计算给定的一系列正整数中奇数的和。

输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。

输出格式:
在一行中输出正整数序列中奇数的和。

输入样例:
8 7 4 3 70 5 6 101 -1
输出样例:
116
题目集全集传送门

#include <stdio.h>
int main()
{
    int n,sum = 0;
    scanf("%d", &n);
    while (n > 0){
        if (n % 2 != 0)
            sum += n;
        scanf("%d", &n);
    }
    printf("%d", sum);
        
    return 0;
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
实验二 栈 一、实验目的 1、掌握栈的结构特性及其入栈,出栈操作; 2、对栈相应算法的时间复杂度进行分析; 3、理解栈数据结构的特点(优缺点); 4、掌握栈的概念。 二、实验环境 windowsXP microsoft visual studio 三 、实验内容 利用栈实现数据的分类,要当输入为偶数时进栈当输入为数时进栈2,最后分别 从栈1和栈2输出偶数和数序列。 栈是限定插入和删除只能在表的"端点"进行的线性表。 栈的定义和特点: 定义:限定仅在表尾进行插入或删除操作的线性表,表尾—栈顶,表头—栈底,不含元素 的空表称空栈。 特点:先进后出(FILO)或后进先出(LIFO) 1、顺序栈:栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底至栈顶的 数据元素,即同时附设指针top指示栈顶元素在顺序栈中的位置。类似于线性表的顺序映 象实现,指向表尾的指针可以作为栈顶指针。 //----- 栈的顺序存储表示 ----- #define STACK_INIT_SIZE 100; #define STACKINCREMENT 10; typedef struct { SElemType *base; SElemType *top; int stacksize; } SqStack; 栈底指针base,始终指向栈底位置;栈顶指针top,其初值指向栈底,始终在栈顶元素的下 一个位置。 2、链栈:栈的链式存储结构是利用一个结点指针来实现的,结点由两部分组成,一部分 是结点的数据域,另一部分是指针域,用next指针指示结点的后继,从而实现链式存储 。栈的链式存储结构。栈顶指针就是链表的头指针。 3、入栈函数程序如下: int Push(SqStack *S,ElemType e){ if(S->top-S->base>=S->stacksize){ S->base=(ElemType *)realloc(S->base,(S->stacksize+STACKINCREMENT) *sizeof(ElemType)); if(!S->base) return ERROR; S->top=S->base+S->stacksize; S->stacksize+=STACKINCREMENT;} *S->top++=e; return OK; }/*Push*/ 4、出栈函数程序如下: int Pop(SqStack *S,ElemType *e){ if(S->top==S->base)return ERROR; *e=*--S->top; return OK; }/*Pop*/ 三、实验运行结果如下 四、算法分析:输入元素序列1 2 3 4 5,为什么输出序列为5 4 3 2 1?体现了栈的什么特性? 答:1、push函数算法分析:它是一个元素入栈函数,首先判断栈是否已满,若栈已满, 就申请栈空间,当输入一个数据时,栈顶指针top加一,始终指向栈顶元素的上面,当1 2 3 4 5入栈后,指针top指在5的上面空格里,此时push函数已执行结束。 2、pop函数算法分析:它是一个元素出栈的函数,首先判断栈是否已空,若栈不为 空,就执行程序中栈顶元素出栈的语句。每次栈顶元素出栈时,栈顶指针top先自减一, 然后把所指元素输出,即执行语句{e=--S->top}。此时,输出序列为5 4 3 2 1。这体现了栈的先进后出,后进先出的特性。 ----------------------- 实验2--实验报告全文共3页,当前为第1页。 实验2--实验报告全文共3页,当前为第2页。 实验2--实验报告全文共3页,当前为第3页。
实验名称:Python基础语法实验-1 实验目的: 1. 学习Python基础语法的使用方法; 2. 熟悉Python中的变量、数据类型、运算符; 3. 掌握Python中的控制流程语句。 实验内容: 1. 定义一个变量,变量名为name,赋值为“Tom”,输出该变量的值; 2. 定义一个变量,变量名为age,赋值为20,输出该变量的值; 3. 定义一个变量,变量名为score,赋值为85.5,输出该变量的值; 4. 定义两个变量,变量名分别为a和b,分别赋值为10和5,使用加、减、乘、除、取模、幂运算符,输出运算结果; 5. 使用if-else语句,判断一个数x是否为偶数,如果是,输出“x是偶数”,否则输出“x是数”; 6. 使用for循环,计算1到10之间所有整数的和,并输出结果; 7. 使用while循环,计算1到10之间所有偶数的和,并输出结果。 实验步骤: 1. 定义变量name,赋值为“Tom”,使用print()函数输出该变量的值: ``` name = "Tom" print(name) ``` 2. 定义变量age,赋值为20,使用print()函数输出该变量的值: ``` age = 20 print(age) ``` 3. 定义变量score,赋值为85.5,使用print()函数输出该变量的值: ``` score = 85.5 print(score) ``` 4. 定义变量a,赋值为10,变量b,赋值为5,分别使用加、减、乘、除、取模、幂运算符,输出运算结果: ``` a = 10 b = 5 print(a + b) print(a - b) print(a * b) print(a / b) print(a % b) print(a ** b) ``` 5. 使用if-else语句,判断一个数x是否为偶数,如果是,输出“x是偶数”,否则输出“x是数”: ``` x = 8 if x % 2 == 0: print("x是偶数") else: print("x是数") ``` 6. 使用for循环,计算1到10之间所有整数的和,并输出结果: ``` sum = 0 for i in range(1, 11): sum += i print(sum) ``` 7. 使用while循环,计算1到10之间所有偶数的和,并输出结果: ``` sum = 0 i = 1 while i <= 10: if i % 2 == 0: sum += i i += 1 print(sum) ``` 实验结果: ``` Tom 20 85.5 15 5 50 2.0 0 100000 x是偶数 55 30 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Re:从零开始的代码生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值