贺利坚老师c教程第七课学习总结

第一个程序:俩数求大值


程序

/*给俩个数,求俩数中的大者
课程:贺利坚老师C视频第七课
分支结构程序体验*/
#include <stdio.h>
int main()
{
    int a,b,c;                //定义三个整型变量
    scanf("%d %d",&a,&b);     //键盘输入俩个整数
    if(a>b)                   //判断 如果a大于b
{
        c=a;                   //则将a赋值给c

}
    else
{
        c=b;                    //否则将b赋值给c
}
    printf("max=%d\n",c);       //执行完if else判断a和b后取大值赋值给c并输出
    return 0;
}

本程序学习总结:

if,else通俗讲为如果......否则

if后面跟条件 用()


第二个程序:

我自己先按题目解了下题目

程序

/*再解给俩个数,求俩数中的大者,保证定义的第一给变量为最大
课程:贺利坚老师C视频第七课
分支结构程序体验*/
#include <stdio.h>
int main()
{
    int a,b,c;  //定义三个整型变量
    scanf("%d %d",&a,&b);//键盘输入俩个整数
    if(a>b)  //判断 如果a大于b
{
        c=a;//则将a赋值给c

}
    else
{
        c=a;//先将a赋值给c,保存a的值
        a=b;//再将b赋值给a
}
    printf("max=%d\n",a);//执行完if else判断a和b后取大值赋值给c并输出
    return 0;
}


贺利坚老师的课题解法

/*再解给俩个数,求俩数中的大者,保证定义的第一给变量为最大
课程:贺利坚老师C视频第七课
分支结构程序体验*/
#include <stdio.h>
int main()
{
    int a,b,c;  //定义三个整型变量
    scanf("%d %d",&a,&b);//键盘输入俩个整数
    if(a<b)  //判断 如果a小于b,下面我们要使a,b值互换
{
    c=a;
    a=b;
    b=c;

}
    printf("max=%d\n",a);//执行完if else判断a和b后取大值赋值给c并输出
    return 0;
}

贺老师的解法明显比自己做的要简洁的多,我还是被if,else的框架局限住了思维,遇到同类型的问题应该先思考有没有更简洁的方式来解决问题



上机项目作业

第一题

程序

/*给定俩个正整数,求出俩数的正差值并输出
课程:贺利坚老师C视频第七课
分支结构程序体验*/
#include <stdio.h>
int main()
{
    int a,b,c,d;
    scanf("%d %d",&a,&b);
    if(a<b)
    {
       c=a;
       a=b;
       b=c;
       d=a-b;
    }
    else
    {
        d=a-b;
    }

    printf("俩数正差值为%d\n",d);
    return 0;

}

这里这样写我不知道有什么错误,编译没问题,但是build后程序直接提示按任意键结束,猜测有可能越界.没有输入提示


特别标注  上述代码用vs2008可以正常输入输出,程序警告scanf用法,未错误

将if内的c=b;d=a-b;删掉修改成d=a-c;后程序正常运行编译

上题更简便的方式是if内直接写d=0-a+b;  简便好多 而且可以少定义一个变量



第二题

程序

/*输入3个整数,输出其中的最大值
课程:贺利坚老师C视频第七课
分支结构程序体验*/
#include <stdio.h>
int main()
{
    int a,b,c,d;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b)
    {
        if(a>c)
        {
            d=a;
            printf("max=%d",d);
        }
        else
        {
            d=c;
            printf("max=%d",d);
        }
    }
    else
    {
        if(b>c)
        {
            d=b;
            printf("max=%d",d);
        }
        else
        {
            d=c;
            printf("max=%d",d);
        }

    }
    return 0;
}

以上我的解题代码 老样子  用codeblocks未能正确的build  直接跳出任意退出 无法输入变量值    但是在vs2008内一切正常 警告一个scanf用法   暂时不知道什么意思


第三题

程序

/*计算周工资,超过40小时部分30一小时,未超过20一小时
课程:贺利坚老师C视频第七课
分支结构程序体验*/
#include <stdio.h>
int main()
{
    int a,b;
    scanf("%d",&a);
    if(a>40)
        {
            b=(a-40)*30+40*20;
        }
    else
    {
     b=a*20;
    }
    printf("周工资为%d\n",b);
    return 0;
    }


今天先到这里!




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值