C语言程序设计第二次作业——顺序结构

(一)改错题
1.错误信息1:

错误原因:stido拼写错误
改正方法:应该将stido改为stdio
错误信息2:

错误原因:基础错误mian
改正方法:将mian改为main
错误信息3:
错误原因:第二个输出后没有;
改正方法:在第二个输出最后加上;
错误信息4:
错误原因:第三个输出少后面的引号"
改正方法:在括号最后加上"

2.错误信息1:
错误原因:<>中应该有.h
改正方法:在stdio后加上.h
错误信息2:

错误原因:/* 输出应该删去
改正方法:删去/* 输出
错误信息3:

错误原因:输出应该为y,x,x
改正方法:将x改为y,x,x
错误信息4:
错误原因:少了个%
改正方法:将d改为%d
错误原信息5:
错误原因:输出应该为x,x,y
改正方法:将y改为x,x,y
错误信息6:无法运行
错误原因:缺少x的赋值
改正方法:添加x=3
错误信息7:
错误原因:不是两行出现的形式
改正方法:在输出的引号里的末尾处加上\n

(二)学习总结
1(1)

#include <stdio.h> 
int main()
{   
    printf("int:  %d字节\n",sizeof(int));
    return 0;
}

运行结果:

(2)

#include <stdio.h> 
int main()
{   
    printf("long:  %d字节\n",sizeof(long));
    return 0;
}

运行结果:

(3)

#include <stdio.h> 
int main()
{   
    printf("float:  %d字节\n",sizeof(float));
    return 0;
}

运行结果:

(4)

#include <stdio.h> 
int main()
{   
    printf("double:  %d字节\n",sizeof(double));
    return 0;
}

运行结果:

2.在C语言中,在头文件limits.h中,有关于各种基本数据类型的最大以及最小值的宏定义。例如,int型的最大值为INT_MAX,最小值为INT_MIN。运行下列程序,看一下结果是什么?

修改程序,输出i+1,结果是什么?为什么?

原因:此时的I的值超过了最大值整数的值,将发生溢出,即整数溢出。

修改程序输出j-1,结果是什么?为什么?

原因:此时的j的值低于最大值整数的值,将发生溢出,即整数溢出。

3.运行下面的程序,输入100 144 64,看看运行结果是什么?为什么?

原因:通过网上资料得知“%o”为八进制的整数的输入格式,“%x”为十六进制整数的输入格式。在输出语句中均为十进制整数的输出格式,导致运行结果不符。

4.对本章其他你认为需要进行总结的内容进行总结。
学习C语言首先要细心,比如最基础的main不能写成mian,每一行结尾要;,不能忘记取地址符等等,还有一个经常出现的错误就是中英文的符号,这个错误要是不能避免就要花一段时间去发现自己的错误在哪里,这一点对于我来说很重要。C语言这个道路我们才刚刚启程,我们要面对的挑战还很多,我们应该从这一单元找到学习的技巧,多去查阅资料拓展自己的知识宽度才能在这条道路上更加游刃有余。

(三)实验总结
1.求整数均值

(1)题目
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
(2)流程图

(3)源代码

# include<stdio.h>
int main()
{
    int a,b,c,d,Sum;
    double Average;

    scanf("%d %d %d %d",&a,&b,&c,&d);
    Sum=a+b+c+d;
     Average = Sum /(double)4;
     printf("Sum = %d; Average = %.1f",Sum,Average);
 
     return 0;


}

(4)测试数据及运行结果

(5)实验分析
问题1:第一次写的average=sum/4导致输出的是2.0
原因:
正确形式为average=sum/(double)4 average=sum/4格式不对
解决办法:将average=sum/4改成average=sum/(double)4

3.是不是太胖了

(1)题目
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?
(2)流程图

(3)源代码

# include<stdio.h>
int main()
{
    int h;
    double shijin;

    scanf("%d",&h);
    shijin=(h-100)*0.9*2;
    printf("%.1f",shijin);

    return 0;
}

(4)测试数据及运行结果

(5)实验分析
问题1:int与double中应该只有double有shijin,第一次写的时候都有
原因:忘记只能在double中才对
解决办法:删去int中的shijin

5.计算物体自由下落的距离

(1)题目

一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒
​2
​​ 。

(2)流程图

(3)源代码

# include<stdio.h>
int main()
{
    double h; 
    h=10*3*3/2;
    printf("height = %.2f",h);

    return 0;
}

(4)测试数据及运行结果

(5)实验分析
问题1:
原因:忘记定义int 换成double
解决办法:将int 换成double

9.逆序的三位数

(1)题目

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

(2)流程图

(3)源代码

# include<stdio.h>
int main()
{
    int a,b,c,m;
    scanf("%d",&m);
    a = m/100;
    b = m/10%10;
    c = m%10;
    if(c==0)
    {
	    if(b==0)
	    {
		    printf("%d",a);
	    }
	    else
	    {
		    printf("%d%d",b,a);
	    }
    }
      else
      {
  	    printf("%d%d%d",c,b,a);
      }

    return 0;
}

(4)测试数据及运行结果

(5)实验分析
问题1:在else后面加括号里面写的输出
原因:if,else ,运用不熟练
解决办法:将输出部分放在else下面的大括号里

(四)PTA提交列表
顺序结构(1)提交列表

顺序结构(2)

posted @ 2017-10-21 16:03  折翼之舞、  阅读(252)  评论(0编辑  收藏  举报