#includeint main(){ printf("*********\n *******\n *****\n ***\n *"); }
首先道个歉,这几天事情有点多结果把作业落下了真的很不好意思。
说真的,这个程序很基础,其中包含的知识也是少的可以:
#include<stdio.h>程序的起始
int main() 主函数(有且只有一个)
printf 输出
这个实验主要就是这几个知识点的实际应用。
不过虽然早已写过,但还有一个我以前没有学到的东西,那就是return 0的省略。
这也是自己了解的,记得不错的话,如果没有写,编译器会默认性的加上return 0,以结束这个程序。
另外return作为“返回值”也可以用作很多地方的结束。
希望没有说错的地方,还望老师和各位学长学姐指导。感激不尽。
#includeint main(){ int a,b,c,d; printf("请输入三个整数"); scanf("%d %d %d",&a,&b,&c); d=a+b+c; printf("%d+%d+%d=%d",a,b,c,d);}
第二个程序,以前已经写过了,算是复习了一下知识点。
新增知识点:
scanf 输入
算式
赋值
变量的声明
输入格式
输出格式
大概就这些。这个程序我也省略了return 0。
#includeint main(){ int x,y,z; printf("请输入今天的日期,年月日用逗号分开"); scanf("%d,%d,%d",&x,&y,&z); int a,b,c,e; printf("请输入你的生日,格式:年-月-日"); scanf("%d-%d-%d",&a,&b,&c); e=x-a; printf("你今年%d岁,你的生日是%d-%02d-%02d",e,a,b,c); return 0; }
这个也是做过的了,没什么新增的知识点。
当然,这个代码有点问题,变量声明了两次,是个很不好的习惯(个人认为),故意留下来供自己看的。
另外也是一个不强壮的程序,如果生日和日期输反了的话,输出的东西就很有意思了。所以最好用if条件句限制一下。不过因为现在太晚了所以改良版做不完了,等等再补吧。其实改起来有点像“生日的下一天”那个程序呢。(其实是写好了大部分但出了点bug而且没考虑闰年)
突然觉得自己这种态度会被打零分啊。
老师请饶了我吧,现在真的有点晚了QAQ
#includeint main(){ int a,b,c,d; printf("请输入三个数字:"); scanf("%d%d%d",&a,&b,&c); d=c,c=b,b=a,a=d; printf("%d,%d,%d",a,b,c); return 0;}
如何把三杯饮料互换位置?
加个杯子。
说起来,我这是在写报告还是写随笔......
但无论如何,这就是这个实验所蕴含的思想。当然,实验本身很简单而且做过一遍了也没什么知识点。不过,蕴含了新思想。
我总认为,计算机学科,思想最重要。编一个程序,总要理解“电脑怎么想”,而后知道自己到底要干什么(或者两者互换),再然后才是怎么做。
换句话说,修水管的时候,是没扳手严重,还是不知道怎么修严重?——扳手可以去找。不过找不来的话还是很严重的。
当然,不会用扳手也挺严重。
所以说,高数和c语言都很重要啊。
#includeint main(){ int a,b,c; printf("请输入分钟:"); scanf("%d",&a); b=a/60,c=a%60; printf("%d分钟=%d小时%d分钟",a,b,c); return 0;}
挺实用的一个程序。强壮性也还算可以。知识点嘛......还是没新增的......硬说的话......
% 余
说起来,我这么写实验报告没问题吗......
不过,反正是博客呢。
ps:大家知道键盘没背光有什么好处吗?练盲打。
不过我的笔记本并不是标准键盘。
真是个悲伤的故事。
#includeint main(){ int n,nr; printf("请输入一个四位整数:"); scanf("%d",&n); nr=n/1000+(n/100)%10*10+n%100/10*100+n%10*1000; printf("%04d",nr); return 0; }
如果是个大东西的话会把人累死,是我的第一反应。还好是四位数。
不过相较前一阵的那个,这个算简单的要命了。算是对c语言运算机制的运用吧。
知识点的话......
x位整数的输出:%0xd
好多碎知识点啊。
#include#define T 3.1415926int main(){ float r,a,b; printf("请输入圆的半径:"); scanf("%f",&r); a=r*T*2,b=r*r*r*T*4/3; printf("圆的周长为%0.2f,绕直径形成的球体的体积为%0.2f",a,b); return 0;}
新知识新知识!
define 定义一个值 这可能省不少力气。 当然,还有这个———— float 声明单精度变量 double 声明双精度变量 char 声明字符型变量 当然,float在运算的时候回转换为 double。 还有,整数/小数=小数。数值转换。(偷懒全声明成了小数) 最后,不要忘了float的位数。 以上如有错误,还望及时纠正。
#includeint main(){ int a,b,c; char e='y';next: printf("请输入您的生日,以x年-x月-x日的形式输入"); scanf("%d-%d-%d",&a,&b,&c); if(a%4==0) { printf("此年是闰年\n"); if(b==1||b==3||b==5||b==7||b==8||b==10) { if(c==31) { c=1,b++; } else if(c<31&&c>0) { c++; } else { printf("输入错误"); } } else if(b==4||b==6||b==9||b==11) { if(c==30) { c=1,b++; } else if(c<30&&c>0) { c++; } else { printf("输入错误"); } } else if(b==12) { if(c==31) { a++,b=1,c=1; } else if(c<31&&c>0) { c++; } else { printf("输入错误"); } } else if(b==2) { if(c==28) { c=1,b++; } else if(c<28&&c>0) { c++; } else if(c==29) { printf("此年无2月29日,请重新输入\n"); goto next; } else { printf("输入错误"); } } else { printf("输入错误"); } } else { printf("此年是平年\n"); if(b==1||b==3||b==5||b==7||b==8||b==10) { if(c==31) { c=1,b++; } else if(c<31&&c>0) { c++; } else { printf("输入错误"); } } else if(b==4||b==6||b==9||b==11) { if(c==30) { c=1,b++; } else if(c<30&&c>0) { c++; } else { printf("输入错误"); } } else if(b==12) { if(c==31) { a++,b=1,c=1; } else if(c<31&&c>0) { c++; } else { printf("输入错误"); } } else if(b==2) { if(c==29) { c=1,b++; } else if(c<29&&c>0) { c++; } else { printf("输入错误"); } } } printf("您生日的下一天是%d-%d-%d\n",a,b,c); if(getchar()=='y') { goto next;} }
这应该是我最近编的最长的程序了,比涉及自定义函数的都长......
这不是好事,一个程序应该是越简洁越好才对。以后应该养成画图的习惯。
加上循环应该会简化不少。不过还没想好。
这里的知识就是if条件句的运用了,真是充实的练习呢。
本身感觉没什么好说的,但循环上出了点问题。
我本来想让程序在平年2月29那个地方按‘y’返回的来着,但如果这么写的话:
else if(c==29)
{ printf("此年无2月29日,请按'y'重新输入,或按其它键退出\n");if(getchar()=='y'){ goto next;}
虽然是可以,但程序还是会输出“您生日的下一天是”,这不是我想要的。
但如果用return 0,程序就结束了。这也不能用break啊......
所以只好这样写了。这样的话,那个人如果一直输入平年的2月29的话,就出不去了呢(笑)。
如果是工作的话,这肯定不是客户想要的,所以我还需要改进呢。
但现在真的太晚啦,等等吧......