人家写代码,我写BUG的日子(2)
2015-10-31 20:13
169 查看
好啦,趁热打铁,我胡汉三又杀回来写第一篇正经博客啦~
今天的主题是菜鸟到底有多菜
①.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符就输出对应的小写字符,如果是数字不输出。
#include <stdio.h>
int main()
{
int i;
i=getchar();
if((i>64)&&(i<91))
{
i=i+32;
putchar(i);
}
else if((i>96)&&(i<123))
{
i=i-32;
putchar(i);
}
return 0;
}
这是一个月里某一天的作业题,紧跟着是我自己写的解法,经历过半个月的写一题错一题多写多错之后发现诶这次居然一次性写对了还有点小激动呢,结果隔天上课发现我真是基础薄弱得好好看书。
单引号引起来的字符常量就等于该字符对应的ASCII数值,并且可以和数字进行+-运算,枉我翻箱倒柜找红色那本《C语言程序设计》查ASCII码表
并且应该判断(i=getchar())!=EOF,才能进行后面的字符处理。
②.将三个数按从大到小输出。
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a>b&&a>c)
{
if(b>c)
printf("%d %d %d ",a,b,c);
else printf("%d %d %d ",a,c,b);
}
else if(a<b&&a<c)
{
if(b>c)
printf("%d %d %d ",b,c,a);
else printf("%d %d %d ",c,b,a);
}
else if(a>b&&a<c)
printf("%d %d %d ",c,a,b);
else if(a>c&&a<b)
printf("%d %d %d ",b,a,c);
return 0;
}
讲真我真是太傻了,真的,光想着当天上课讲的是if条件句和else if语句,一看这题诶多适合练习逻辑呀,就写了上面这么彪的一段代码,真的,贴出来我都觉得丢人。通过这个题吧,我学到的知识点都是其次,以后遇到问题的时候千万憋光想着今天学了啥能不能套用上,不是所有问题都有模板的,更好更快捷的解决掉问题才是最重要的。好啦下面是长记性以后重写的代码~
#include <stdio.h>
#include <stdlib.h>
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
int main()
{
int i,j,k;
scanf("%d%d%d", &i, &j, &k);
if (i < j)
{
swap(&i, &j);
}
if (i < k)
{
swap(&i, &k);
}
if (j < k)
{
swap(&j, &k);
}
printf("%d %d %d\n", i,j,k);
return 0;
}
③.计算1/1-1/2+1/3-1/4+1/5......+1/99-1/100的值。
#include <stdio.h>
int main()
{
int numer=1;
double deno,sum;
deno=1.0;
sum=0.0;
while(deno<101)
{
sum=sum+(numer/deno);
deno++;
numer=-numer;
}
printf("%f",sum);
return 0;
}
编写程序数一下1到100的所有整数中出现多少次数字9。
#include <stdio.h>
int main()
{
int i;
int count=0;
for(i=1;i<100;i++)
{
if(i%10==9)
count++;
if((i-i%10)/10==9)
count++;
}
printf("%d",count);
return 0;
}
这俩题放一起呢是因为我犯错的知识点是一块的,第一个题做的时候第一次定义的变量全是int型,一输出一个1一输出一个1,死活看不出错哪了。整型做除法的时候小数位会被省去的不输出1才是见鬼了好吗!!!所以同理,第二个题就没必要很费劲的if((i-i%10)/10==9)啦,写成i%10==9就可以啦反正小数点会被省去┑( ̄Д  ̄)┍
一个月里的菜鸟错误一箩筐我就不挨着写出来啦不然一篇博客字数都不够
总结一下这个月我的一点小领悟叭~
能用局部变量就憋用全局变量!!!憋用!!!作为一只菜鸟习惯把全部变量都定义成外部变量因为很清楚省力但是完全高估了自己对自己写的代码的掌控力
不停重复同一个功能的话趁早赶紧封装成函数叭!!!来自一个写着写着就不知道自己写的代码到底是想干啥了的BUG写手 QAQ
养成随手注释的好习惯!!!养成随手注释的好习惯!!!养成随手注释的好习惯!!!重要的事情说三遍!!!今天整理博客的时候和我亲生的代码相看两不识我真是无语凝噎了
憋老只解决眼前这一个问题,多想想该怎么解决这同一类问题。并且!!!不要代码写完就丢过手不管了,多想想还能不能写的更简洁更优化,万一多想一步改变世界了呢23333333
尽早形成良好的代码风格。对这一条我理解不是很深刻但是各种书上和老师都是这么说哒,既然老前辈们总结出来经验了那就一定要听取才对嘛<( ̄︶ ̄)>
希望关了博客我还记得这点小领悟并且能用上
今天的主题是菜鸟到底有多菜
①.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符就输出对应的小写字符,如果是数字不输出。
#include <stdio.h>
int main()
{
int i;
i=getchar();
if((i>64)&&(i<91))
{
i=i+32;
putchar(i);
}
else if((i>96)&&(i<123))
{
i=i-32;
putchar(i);
}
return 0;
}
这是一个月里某一天的作业题,紧跟着是我自己写的解法,经历过半个月的写一题错一题多写多错之后发现诶这次居然一次性写对了还有点小激动呢,结果隔天上课发现我真是基础薄弱得好好看书。
单引号引起来的字符常量就等于该字符对应的ASCII数值,并且可以和数字进行+-运算,枉我翻箱倒柜找红色那本《C语言程序设计》查ASCII码表
并且应该判断(i=getchar())!=EOF,才能进行后面的字符处理。
②.将三个数按从大到小输出。
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a>b&&a>c)
{
if(b>c)
printf("%d %d %d ",a,b,c);
else printf("%d %d %d ",a,c,b);
}
else if(a<b&&a<c)
{
if(b>c)
printf("%d %d %d ",b,c,a);
else printf("%d %d %d ",c,b,a);
}
else if(a>b&&a<c)
printf("%d %d %d ",c,a,b);
else if(a>c&&a<b)
printf("%d %d %d ",b,a,c);
return 0;
}
讲真我真是太傻了,真的,光想着当天上课讲的是if条件句和else if语句,一看这题诶多适合练习逻辑呀,就写了上面这么彪的一段代码,真的,贴出来我都觉得丢人。通过这个题吧,我学到的知识点都是其次,以后遇到问题的时候千万憋光想着今天学了啥能不能套用上,不是所有问题都有模板的,更好更快捷的解决掉问题才是最重要的。好啦下面是长记性以后重写的代码~
#include <stdio.h>
#include <stdlib.h>
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
int main()
{
int i,j,k;
scanf("%d%d%d", &i, &j, &k);
if (i < j)
{
swap(&i, &j);
}
if (i < k)
{
swap(&i, &k);
}
if (j < k)
{
swap(&j, &k);
}
printf("%d %d %d\n", i,j,k);
return 0;
}
③.计算1/1-1/2+1/3-1/4+1/5......+1/99-1/100的值。
#include <stdio.h>
int main()
{
int numer=1;
double deno,sum;
deno=1.0;
sum=0.0;
while(deno<101)
{
sum=sum+(numer/deno);
deno++;
numer=-numer;
}
printf("%f",sum);
return 0;
}
编写程序数一下1到100的所有整数中出现多少次数字9。
#include <stdio.h>
int main()
{
int i;
int count=0;
for(i=1;i<100;i++)
{
if(i%10==9)
count++;
if((i-i%10)/10==9)
count++;
}
printf("%d",count);
return 0;
}
这俩题放一起呢是因为我犯错的知识点是一块的,第一个题做的时候第一次定义的变量全是int型,一输出一个1一输出一个1,死活看不出错哪了。整型做除法的时候小数位会被省去的不输出1才是见鬼了好吗!!!所以同理,第二个题就没必要很费劲的if((i-i%10)/10==9)啦,写成i%10==9就可以啦反正小数点会被省去┑( ̄Д  ̄)┍
一个月里的菜鸟错误一箩筐我就不挨着写出来啦不然一篇博客字数都不够
总结一下这个月我的一点小领悟叭~
能用局部变量就憋用全局变量!!!憋用!!!作为一只菜鸟习惯把全部变量都定义成外部变量因为很清楚省力但是完全高估了自己对自己写的代码的掌控力
不停重复同一个功能的话趁早赶紧封装成函数叭!!!来自一个写着写着就不知道自己写的代码到底是想干啥了的BUG写手 QAQ
养成随手注释的好习惯!!!养成随手注释的好习惯!!!养成随手注释的好习惯!!!重要的事情说三遍!!!今天整理博客的时候和我亲生的代码相看两不识我真是无语凝噎了
憋老只解决眼前这一个问题,多想想该怎么解决这同一类问题。并且!!!不要代码写完就丢过手不管了,多想想还能不能写的更简洁更优化,万一多想一步改变世界了呢23333333
尽早形成良好的代码风格。对这一条我理解不是很深刻但是各种书上和老师都是这么说哒,既然老前辈们总结出来经验了那就一定要听取才对嘛<( ̄︶ ̄)>
希望关了博客我还记得这点小领悟并且能用上
相关文章推荐
- 心得
- 努力飞翔-----------不悔的选择
- 测试用例心得分享
- 蓝桥培训日记
- Ubuntu下通过Chrome运行Android应用
- 实习心得体会--在一家互联网公司4个月的心得体会
- 初来咋到的菜鸟
- linux是香草,盗版windows是毒花
- 网页设计心得体会报告
- 工作三年之总结
- 迁移MAVEN项目有感
- 2010年05月15-16日在宁波实施小额外贸网站B2C、商品展示网站心得体会总结
- 程序员的希望 - 2012先彻底搞定中石油,给中石油现场培训通用权限管理系统的心得体会
- 写代码累了放松娱乐一下,在大型生产型企业成功实施工作审批流程项目的经验分享
- 记录通用权限管理系统组件使用心得体会,写技术博客赢IPad2
- 软件项目开发过程中主要遇到的核心问题小结
- 记录一次于程序员兄弟之间的心与心的交流(心里咨询写在浙江杭州)
- (09) 需求征集 -- 基础编码管理(例如下拉框数据管理)
- 这些年软件开发生涯心得体会 推荐
- 在浙江大学做全校单点登录接入的心得体会,采用sun公司的单点登录技术