码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--函数

时间:2017-11-18 12:53:31      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:com   函数   ges   字符型   down   表情   数据   1.5   src   

题目1: 400~499 中4出现的次数:

1.本题PTA提交列表

技术分享图片

2. 设计思路

  • 先创建一个函数int fun(int x)
  • 定义变量count用于登记数字中含4的次数,a用于求数字的各个位数的大小
  • count赋值于0;
  • do{ //这个循环结构用于判断数字4出现的次数
    a=x%10;
    如果(a==4)
    count++;
    x=x/10;
    }while(x!=0);
  • 返回值给主函数

    3.本题调试过程碰到问题及PTA提交列表情况说明。

  • 本题调试过程中发现无论x取何值,都经过count++,后来在count++附近发现我的(a=0)错误

题目2: 使用函数输出一个整数的逆序数

1.本题PTA提交列表

技术分享图片

2. 设计思路

  • 定义一个函数int reverse( int number )
  • 定义变量number1的值等于number的绝对值,flag用于正负号,count用于数字位数,i,j 用于循环
  • 如果number为正 ,则number1=number;
  • 如果number<0) number转化成他的绝对值 flag=-1*flag;
  • do{ //求数字的几位数
    number=number/10;
    count++; //用于记录数字的几位数
    }while(number!=0);
  • for(i=1;i<=count;i++){ //这循环结构用于求逆序数
    a=number1%10; //求该数的各个位数的大小,求余
    for(j=1;j<count+1-i;j++){ //用于将数字位数本末倒置
    a=a*10;
    }
    sum=sum+a; //用于求本末倒置的数字的和
    number1=number1/10;
    }
  • 返回sum的值

    3.本题调试过程碰到问题及PTA提交列表情况说明。

  • 本题刚开始没有设一个变量用来存储原先number的值,导致无论输入多少结果都为0
    经过调试,发现number的值在进入for循环时已为0

题目3:使用函数输出水仙花数

1.本题PTA提交列表

技术分享图片

2. 设计思路

  • 创建一个函数int narcissistic( int number )
  • 定义变量 i,n=0,sum=0,count=0(用于求数字有几位);
  • n=number
  • while(n){ //求输入值有几位数
    count++;
    n/=10;
    }
  • while(n){ //用于求每个位上的数字的N次幂之和
    i=n%10;
    sum =sum+ (int)pow(i, count);
    n/=10;
    }
  • 判断sum 是否等于number //判断sum是否等于number,来确定返回值
  • 创建void PrintN( int m, int n )
  • 定义变量 i;
    for(i=m+1;i<n;i++) //调用narcissistic(),求m,n
    if(narcissistic(i)==1)
    printf("%d\n", i);

    3.本题调试过程碰到问题及PTA提交列表情况说明

  • 本题在Dev上 输出结果和答案相符,在pta上部分正确,经过多次在Dev上输入不同的值,发现i<=n错误。

二、同学代码结对互评

我的代码
技术分享图片

乐国的代码
技术分享图片

  • 我们两个的代码思路一样,乐国的代码中采用pow比较简洁,但是他没有注释,读起来比较费力。

三、截图本周题目集的PTA最后排名。

技术分享图片

四、本周学习总结

1.你学会了什么?

1.1 C语言哪些数据类型?

  • C语言的数据类型有刚开始的int,double,float,新学会的有short,long,有字符和无字符

    1.2 字符型数据需要注意地方?

  • 字符型数据应该注意输入字符数字的ASC||码与数学上的数字不一样

    1.3 自增自减运算符?

  • 差不多已经掌握,应该注意++a与a++的区别,前面结果已经加一了,后面还没

    1.4 运算符优先级?

  • 对于运算符优先级我现在目前脑海呈现的是单目,三目运算符是从右到左,对于优先级的就需要继续练习才可以完全记住

    1.5 C语言哪些表达式?课堂派哪里做错,做错的请在这里分析原因?

  • 算数表达式,自增自减表达式,逗号表达式,逻辑表达式,
  • 课堂派中第2.4.10题做错误,错误在于对于自增,逻辑运算没有理解清楚

    1.6 其他内容?

  • 学会了多个if语句程序都要判断的这个小知识点,学会了a和b值互相转换的高效率代码

2.本周的内容,你还不会什么?

其实我还不会的就是空格问题的解决思路,对于2进制的不是很清楚

3.循环结构考试总结

1.哪题做错了,怎么改?

  • 第4,5,充分理解 题目的意思和隐含条件,对症下药

    2.考试结果满意么,怎么改进?

    不满意,对于以后题目做错的在pta上显示的要理解pta显示错误的意思,以及多花时间在C语言上

    3.其他总结。

  • 首先就是对于空格的解决没有解决到位,对于题目一些隐含限制没有理解到位。

C语言博客作业--函数

标签:com   函数   ges   字符型   down   表情   数据   1.5   src   

原文地址:http://www.cnblogs.com/guobaoqing/p/7855999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!