实验一
实验1-1
实验要求:编程打印5行的倒三角,第一行打印九个*,第二行打印七个*,......第五行打印一个*
代码:
#include<stdio.h> int main() { printf("*********\n"); printf(" *******\n"); printf(" *****\n"); printf(" ***\n"); printf(" *\n"); return 0; }
程序运行结果:
实验总结:在这次试验中,可能是由于自己的马虎,丢掉了return 0后面的“;”,丢掉了int main()后面的“()”,所以以后一定要多注意基本格式的准确性,不能马虎大意。在写完代码以后,一定要检查是否有格式错误。
实验1-2
实验要求:输入三个整数,并计算它们的和。
代码:
#include<stdio.h> int main() { int a,b,c,max; printf("请您输入三个整数。\n"); scanf("%d%d%d",&a,&b,&c); max=a+b+c; printf("%d+%d+%d=%d",a,b,c,max); return 0; }
程序运行结果:
实验总结:
在这次的试验中,我犯了一个错误就是在printf后面的语句中的变量前面也加了“&”符号,使运行结果出错,而且在输入函数以后,还有计算式后面,都忘记加“;”,
所以在今后写代码的过程中,这种低级的错误要多注意,尽量不犯,还要做到多练习写代码,熟悉基本格式,避免今后再出这样的错误。
实验1-3
实验要求:
按照下列各式要求输入输出数据
输出:请输入今天的日期,年月日用逗号分开
输入:2016,9,13
输出:请输入你的生日,格式:年-月-日
输入:1998-5-6
输出:你今年18岁了,你的生日是1998-05-06
代码:
#include<stdio.h> int main() { int a,b,c,x,y,z,m; printf("请输入今天的日期,年月日用逗号分开\n"); scanf("%d,%d,%d",&a,&b,&c); printf("请输入你的生日,格式:年-月-日。\n"); scanf("%d-%d-%d",&x,&y,&z); m=a-x; printf("你今年%d岁了,你的生日是%d-%d-%d",m,x,y,z); return 0; }
程序运行结果:
实验总结:
在这次实验里同样犯了以前犯的错误,就是在printf语句里的变量前面加了“&”符号。还要注意的是,scanf条件中%d的符号用什么连接,在运行的时候也要用相同的格式的符号,而且在单独的计算式后面不能忘记加“;”,一个计算式也是一条语句。
实验二
实验2-1
实验要求:
输入三个整数给a,b,c,然后交换他们中的数,把a原来的值给b,把b中原来的值给c,把c中原来的值给a,最后输出a,b,c的值。
代码:
#include<stdio.h>int main(){ int a,b,c,m; printf("请输入三个整数。\n"); scanf("%d%d%d",&a,&b,&c); m=c; c=b; b=a; a=m; printf("a=%d,b=%d,c=%d",a,b,c,m); return 0;}
程序运行结果:
实验总结:在写这个程序的代码时候很费劲,尤其是在数字转换的时候弄不清。一开始写的顺序是倒叙数,a=c,c=a,b=b,但是后来通过认真读题,发现自己的程序是错的,与题目要求的不相符,通过自己的修改和思考,终于把这个小程序写对啦,心里还是很有成就感哒O(∩_∩)O~~,我也希望在以后的实验中,能够多用心,尤其是对题目要求要认真,认真分析和思考。
实验2-2
实验要求:
输入x分钟,将分钟换算成小时和分钟表示。如输入150分钟,则输出格式为:150分钟=2小时30分钟。
代码:
#include<stdio.h> int main() { int x,hour,min; printf("请输入多少分钟\n"); scanf("%d",&x); hour=x/60,min=x%60; printf("%d分钟=%d小时%d分钟\n",x,hour,min); return 0; }
程序运行结果:
实验总结:在这个程序中,我认为自己犯的最低级的错误就是,没有注意到一小时是60分钟,默认了100分钟......还要注意到的一点就是在printf语句后面%d的意义要与变量的顺序一致,(由于自己对程序不熟悉,所以在此认真分析一下,505分钟/60取整数部分是5,即5小时。505%60取余是5,即5分钟。)。
实验2-3
实验要求:
编程输入一个四位整数n,求其倒叙数nr。要求输出的也应该是一个四位整数。如输入3720,输出应该为0273。
代码:
#include<stdio.h> int main() { int a,b,c,d,e,f; printf("请输入一个四位数\n"); scanf("%d",&a); b=a/1000; c=a%1000/100; d=a%1000%100/10; e=a%1000%100%10; f=b+c*10+d*100+e*1000; printf("它的倒叙数是%04d",f); return 0; }
程序运行结果:
实验总结:
这个程序在我第一次写的时候,举得例子是1996,即输出是6991,表面看没啥问题,但没有注意到当输入末尾是0的时候,开头输出不来0,所以通过改动,即把%d改成了%04d,输出数字为四位数,开头用0补齐空位。而且,此实验代码与时间换算的算法相类似,都是整除和求余相结合的。第一次试验的时候,我把中间的语句都放在了一排,中间用逗号,也没问题,但是分行以后,还要用“;”才可以。
实验2-4
实验要求:
(学习使用符号常量)输入圆的半径,输出圆的周长和绕直径形成的球体的体积,结果保留两位小数。
代码:
#include<stdio.h> #define PI 3.1415926 int main() { float r,l,V; printf("请输入圆的半径\n"); scanf("%f",&r); l=2*PI*r,V=3/4.0*PI*r*r*r; printf("此圆的周长为%.2f,球的体积为%.2f,\n",l,V); return 0; }
程序运行结果:
实验总结:
这次试验不仅考察了对于数学方面的一些公式,主要还是运算式子里符号的一些格式,对符号常量的运用。保留两位小数要用%.2f,r立方不能不r³,不能用r^3,只能用r*r*r。还要注意的是默认的double类型,所以输出小数的话,要在4/3里面加上小数,即4.0/3或4/3.0。