zoukankan      html  css  js  c++  java
  • C语言第一次作业

    一、PTA实验作业

    题目1.温度转换

    本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
    输入格式:

    本题目没有输入。

    输出格式:

    按照下列格式输出

    fahr = 150, celsius = 计算所得摄氏温度的整数值

    1.实验代码

    int celsius,fahr;
    fahr = 150;
    celsius = 5*(fahr-32)/9;
    printf("fahr = 150, celsius = %d",celsius);
    

    2.设计思路

    • 第一步:定义celsius,fahr俩个变量,分别表示摄氏温度和华氏温度
    • 第二步:将150赋值给fahr
    • 第三步:运用表达式celsius=5*(fahr-32)/9计算出celsius的值
    • 第四步:输出fahr和celsius的值

    3.本题调试过程中碰到的问题及解决办法

    1.格式错误
    错误原因:没有完全按照题目输出结果,忽略了等号左右的空格
    解决办法:将题目输出与自己的仔细对比发现了空格问题
    2 答案错误
    题目要求输出:fahr = 150, celsius = 计算所得摄氏温度的整数值
    而我的代码为:printf("fahr = 150,celsius =%d",fahr,celsius);
    错误原因:惯性思维printf里面出现的变量就在后面表示出来,导致输出结果为fahr = 150,celsius = 150 因为此时%d对应的是fahr

    题目2.将x的平方赋值给y

    假设x的值为3,计算x的平方并赋值给y,分别以“y = x ∗ x”和“x ∗ x = y”的形式输出x和y的值。
    输入格式:

    本题无输入

    输出格式:

    按照下列格式输出代入x=3的结果:

    y = x * x
    x * x = y

    1.实验代码

        int x,y;
    x=3;
    y=x*x;
    printf("%d = %d * %d\n%d * %d = %d",y,x,x,x,x,y);
    

    2.设计思路

    • 第一步:定义变量x,y
    • 第二步:将3赋值给x
    • 第三步:根据公式y=x*x计算出y的值
    • 第四步:按照题目要求输出结果

    3.本题调试时碰到的问题及解决方法

    必须完全和题目要求的输出输出结果,一个%d对应一个变量,不能出错,否则出现答案或是格式错误
    忘记\n,而题目要求俩行输出,导致结果错误
    解决办法

    题目3.是不是太胖了

    据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)
    输入格式:

    输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。

    输出格式:

    在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。

    输入样例:

    169
    输出样例:

    124.2

    1.实验代码

       double H,weight;
    scanf("%lf",&H);
    weight=(H-100)*0.9*2;
    printf("%.1f",weight);
    

    2.设计思路

    • 第一步:定义浮点型变量H,weight,分别代表身高和体重
    • 第二步:输入H的值
    • 第三步:根据公式weight=(H-100)0.92计算出weight的值
    • 第四步:输出weight的值

    3.本题调试时遇到的问题及解决办法

    问题:题目要求输出的是124.2
    我的错误输出

    解决办法
    发现输出的位数与要求输出的不同,通过课本例题得知应用%.nf形式,通过改变n改变输入的位数,改正后

    题目4.输出各位数字

    给定一个三位正整数,输出其百位数字、十位数字及个位数字。
    输入格式:

    直接输入一个三位正整数,没有其它任何附加字符。

    输出格式:

    在一行中输出所输入正整数的各个位数字,各个数字之间用逗号间隔,没有其它任何附加字符。

    输入样例:

    258
    输出样例:

    2,5,8

    1.实验代码

    int x,single,tens,hund;
    scanf("%d",&x);
    hund=x/100;
    tens=(x-hund*100)/10;
    single=x%10;
    printf("%d,%d,%d",hund,tens,single);
    

    2.设计思路

    • 第一步:定义变量x,single,tens,hund,分别表示三位数,个位数,十位数,百位数
    • 第二步:输入x
    • 第三步:计算。x除以100得到百位数,x对10求余得到个位数,x减去百位数与100的乘积再除以10得到十位数字
    • 第四步:按格式输出这3个数字

    3.本题调试遇到的问题及解决方法

    问题:如何通过合适的表达式求出这3个数字,尤其是求十位数字
    解决方法:用到了整数除整数等于整数和求余这俩种运算

    二、截图本周题目集的PTA提交列表及最后排名

    三、本周学习总结

    1.你学会了什么?

    1.认识函数头,主函数,了解\n和return 0 的含义
    2.运用scanf和printf语句实现输入,输出
    3.学会调用数学函数
    4.用double和float定义浮点型变量,以及浮点数在输入输出对应使用%lf,%f
    5.%.nf通过n规定输出时的小数点位数
    6.了解顺序结构,选择结构,循环结构
    7.简单了解if-else语句,if else if语句,switch语句
    8.什么是字符型数据,如何定义字符型变量,如何输入输出字符
    9.=是赋值,是等于,a是变量,'a'是字符还有用、>、<、>= 、<= 、 !=表示关系式

    2.本周的内容你还不会什么?

    变量输入要求了范围,不知道如何在代码中表示(用if语句判断吗?)

    3.你碰到什么困难,打算如何解决?

    知道算法怎么写,但是转化成代码还是需要参考书本。还有通过PTA作业,发现省题不清,多次格式错误,答案错误,比如第一题的时候因为语言习惯多加了个.导致答案错误,系统提示错误理由:无话可说。。。。
    我认为应该多多练习,提高写代码的能力,另外就是写代码时更加严谨,像格式错误和答案错误是可以避免的。

  • 相关阅读:
    bzoj4517 [Sdoi2016]排列计数
    bzoj1415 [Noi2005]聪聪和可可
    两个系列的书
    陈天权:数学分析教学中学到的和想到的
    广义范德蒙德行列式计算
    蒙特卡罗方法入门
    LaTeX 文字带边框
    LaTeX算法排版
    常用工具
    常用算法
  • 原文地址:https://www.cnblogs.com/tajiyu/p/7681037.html
Copyright © 2011-2022 走看看