第一个程序:俩数求大值
程序
/*给俩个数,求俩数中的大者
课程:贺利坚老师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;
}
今天先到这里!