第三周 数据算法实现与顺序结构程序设计的程序(一、二)(北理)

来源:互联网 发布:豆瓣是什么软件 编辑:程序博客网 时间:2024/04/26 01:16

2.2 关系运算的C程序实现

/* 打印补考通知 */#include <stdio.h>int main(){    float x;    printf("please input x\n");    scanf("%f",&x);    if (x < 60)        printf("Plesae  补考\n");    return 0;}

打印绩点成绩

#include <stdio.h>int main(){    float x;    printf("please Input \n");    scanf("%f",&x);    if(x>90)        printf("学分积:%.2f", 3 * 1.8);}

打印通过的成绩

#include <stdio.h>int main(){    float x, t;    printf("Please input x,t\n");    scanf("%f %f",&x,&t);    if (x + t >= 60)        printf("%.1f,OK!\n",x+t);}
//打印补考通知单(一)#include <stdio.h>int main(){    float t, x;    printf("Please input x,t\n");    scanf("%f %f",&x,&t);    if (x + t >= 60)        printf("*************\n");        printf("%.1f,ok!\n", x + t);        printf("*************\n");    return 0;}

比较两个程序有什么区别?

//打印补考通知单(二)#include <stdio.h>int main(){    float t, x;    printf("Please input x,t\n");    scanf("%f %f",&x,&t);    if (x + t >= 60)    {        printf("*************\n");        printf("%.1f,ok!\n", x + t);        printf("*************\n");    }    return 0;}

字符比较

#include <stdio.h>int main(){    char x;    printf("Please input x\n");    scanf("%c",&x);    if (x == 'S')        printf("%c is ok! ",x);    return 0;}

讨论题(一)

1和’1’相等吗?”ab”比”abc”大吗? 来自课件“讨论题4”

不相同 加单引号的是字符常量,没有加的是数字
双引号内的是字符串

老师课堂交流区
请思考下列问题
main()
{char c = ‘k’;
inti = 1, j = 2, k = 3;
float x = 3e+5, y = 0.85;
printf(“%d,%d\n”,’a’+5 < c, i-2*j>=k+1);
printf(“%d,%d\n”, 1

2.7 顺序结构程序实例

综合应用问题2-1(求三角形面积)

问题描述 :
输入三角形的各边的长度,求出三角形的面积
问题分析:
已知三角形的三边长a,b,c
根据三角形的面积公式:
area = 开平方(s-a)(s-b)(s-c)s
s=(a+b+c)/2;
C语言的表达式:
area = sqrt(s*(s-a)(s-b)(s-c))
将a,b,c,area定义为double型的变量
算法表示

开始
输入a,b,c;
计算s
计算area
输出area
结束

#include <stdio.h>#include <math.h>int main(){    double a, b, c,s;    double area;    printf("请输入三角形的三边: ");    scanf("%lf %lf %lf",&a,&b,&c);    s = (a + b + c) / 2;    area = sqrt(s*(s - a)*(s - b)*(s - c));    printf("%dlf %lf %lf %lf",a,b,c,area);    return 0;}

(一)讨论题

关于2.7 顺序结构程序实例–求三角形面积的程序  
在最后一次运行程序时出现了无效结果,这是什么原因造成的?如何避免这样的结果?来自课件“讨论题12”
因为计算机又不知道你输入的数据是三角形的边,他也不知道啥是三角形,只是我们输入的数使得sqrt对一个负数s*(s-a)(s-b)(s-c)开平方,这是不合法的计算,从而导致了错误的结果。解决的方案是对输入的数值进行合法性判断,判断的规则就要根据实际问题给出了。

(二)讨论题

分析讨论下面这个问题如何用C语言顺序结构设计
设1990年我国的工业产值是p,如果每年以r%的速度增长,求n年后我国的工业产值是多少?来自课件“讨论题11”

0 0
原创粉丝点击