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

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

错误原因:stido拼写错误找不到该文件
改正:改成正确的拼写stdio
2、错误信息:

错误原因:上一语句末没有用分号结束无法进行下面
改正:在上一语句末最后加上一个英文半角的分号
3、错误信息:

错误原因:在printf里面应该有一对双引号,可在这里面printf里面只有一个引号缺少了另一个
改正:在最后的printf括号里面最后面加一个英文半角的引号
4、错误信息:

错误原因:mian拼写错误找不到改文件
改成:改成正确的拼写main
经检查最后的正确结果:

1、错误信息:

错误原因:<>里面的stdio后面少了个.h
改正:在括号里面最后加一个.h
2、错误信息:

错误原因:前后两个printf括号最后里面加上前面相对应的%d相对应的字母
改错:第一个括号的第二部分改成y,x,x 第二个括号第二部分改成x,x,y
3、错误信息;
错误原因:x没有赋值,执行不了 ,没有运算结果
改错:在scanf语句的下一行加一个x=3;这条语句
4、错误信息:
错误原因:注释语句没有完整编译,缺少东西。
改正:把注释语句修改完整在后面加上*/
5、错误信息:
错误原因:虽然C++在编译规格上面没有了问题,但是在运行时发现有一个不是数还是字母,经检查冒号里面的内容发现第二个printf的d前面少了一个%。并且两个式子在题目中给的是两行,而运行时却是一行。
改正:在第二个printf都改成%d。并且在第一个printf引号里面最后加一个\n。
经检查最后得出正确结果:

(二)学习总结
1、应用已给的内容总结利用sizeof运算符编程求出int、long、float和double类型数据所占的字节大小
按照short的格式改编依次写出其他的字节输出

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

int:

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

long:

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

float:

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

double:

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

以此改变printf里面括号里面的单词依次改变出来不同的相对应的字节数

2、运行了改程序

#include <stdio.h> 
#include <limits.h>
int main()
{   
int i,j;
i = INT_MAX;
j = INT_MIN;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i,j);
return 0;
}

修改程序为i+1输出结果为最小值

#include <stdio.h> 
#include <limits.h>
int main()
{   
int i,j;
i = INT_MAX+1;
j = INT_MIN;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i,j);
return 0;
}

整数的值如果超过它的最大值,将发生溢出,即整数溢出。整数i就像一个汽车里程指示表,当达到最大值时,它将溢出到起始点(即最小值)。

修改程序为j-1输出结果为最大值

#include <stdio.h> 
#include <limits.h>
int main()
{   
int i,j;
i = INT_MAX;
j = INT_MIN-1;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i,j);
return 0;
}

同理和上面举的例子一样,j就像一个汽车里程的指示表,当达到最小值又将到起始点(即最大值)。

3、运行结果为
因为输入的一个是十进制第二个是八进制第三个是十六进制,输出的都是十进制所以输出的都是100

多次测验发现没有错误问题。

4、我想对本章其他内容的总结:C语言中,数据有常量和变量之分。要明白这两者的定义联系与区别。C语言中最常用的数据类型要明白都有哪些时刻牢记。给变量起名时尽量做到“见明知意”,使别人一看到变量名就知道它的含义。习惯用小写的事情等等。C语言中的大小写代表的是不同的在写程序时要加以注意。C语言中的运算符号和数学有很大的区别,比如=代表的时赋值==才是相等的意思等等,C语言和raptor的语言也不一样不要弄混。整数除整数还是整数如果想让结果有保留几位数可以强制换成double的形式或者其他的。printf后面的说明一定要一一对应。

(三)实验总结

1、题目
厘米换算英尺英寸
2、流程图

3、源代码

 #include<stdio.h>
int main (void)
{
int cm,foot,inch;
double m;
scanf("%d",&cm);
m=cm/100.0;
foot=m/0.3048;
inch=(m/0.3048-foot)*12;
printf("%d %d",foot,inch);
return 0 ;

}

4、测试数据及运行结果
输入170合情合理下应该输出5 6


5、实验分析
问题:raptor在运行时无法运行
原因:忘记在输入input时加上引号
解决办法:加上引号
问题:框图中出来的除法最后是小数
原因:在编程中整数除整数直接只保留整数部分,而在框图中要向上取整
解决办法:在最后除法中加上了floor

1、题目
A乘以B
2、流程图

3、源代码

#include<stdio.h>
int main (void)
{
int A,B,C;
scanf("%d %d",&A,&B);
C=A*B;
printf("%d",C);
return 0 ;	
}

4、测试数据及运行结果
第一次输入错误,第二次输入四五得出正确结果,第三次输入8 -13得出正确结果等等多次验证发现框图代码完全正确。



5、实验分析
无问题

1、题目
整数四则运算
2、流程图

3、源代码

#include<stdio.h>
int main(void)
{
int A,B,sum,sub,pro,con;
scanf("%d %d",&A,&B);
sum=A+B;
sub=A-B;
pro=A*B;
con=A/B;
printf("%d + %d = %d\n",A,B,sum); 
printf("%d - %d = %d\n",A,B,sub);
printf("%d * %d = %d\n",A,B,pro);
printf("%d / %d = %d\n",A,B,con);
return 0 ;
}

4、测试数据及运行结果
在框图中第一次输入3 2最后除法出来的是1.5没有考虑向上取整,改正好再次输入3 2除法最后出来的是1。第二次输入20 4结果完全正确,多次测验结果发现正确即可



5、实验分析
问题:编程老是出不来结果
原因:在scanf括号中忘记了&
解决办法:在scanf里面最后对应的字母前面加上&

1、题目
整数152的各位数字
2、流程图

3、源代码

#include<stdio.h>
int main (void)
{
	int a,b,c,d;
a=152;
b=a%10;
c=a%100/10;
d=a/100;
printf("152 = %d + %d*10 + %d*100",b,c,d);
return 0 ;
 } 

4、测试数据及结果


5、实验分析
问题:在写框图时有小数
原因:忘记了求余等等向上取整
解决办法:在该式子前面加上floor
问题:在写框图最后输出时总是不对

原因:没有在合适的位置加上引号
解决办法:在合适的位置加上引号在最后正确输出

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



顺序结构二

posted @ 2017-10-20 23:22  善感👄  阅读(421)  评论(0编辑  收藏  举报