第8周学习总结

1.鸡兔同笼问题 

 这题鸡兔同笼没啥技术含量,只需要知道如何用数学方法去求就行。代码段如下:

#include<stdio.h>

int main()

{
     int m,n;
     scanf("%d %d",&n,&m);
     printf("%d ",(4*n-m)/2);
     printf("%d",n-(4*n-m)/2);



  return 0;



}



2.找最小

找最小问题,需要简单运用一维数组的数据输入,运用for循环对一维数组内的数据遍历,然后定义其所需的变量,循环判断后找到其所需要的值,然后在赋值给变量,在让其和最后一个数交换。

代码段如下

#include<stdio.h>

#include<math.h>

int main()

{

        int a[10],min,i,n;

        for(i=0;i<10;i++)

            scanf("%d",&a[i]);

        for(n=0,i=0;i<10;i++)

            if(abs(a[n])>abs(a[i]))

                n=i;

                min=a[n];

                a[n]=a[9];

                a[9]=min;

        for(i=0;i<10;i++)

            printf("%d ",a[i]);

        return 0;

}

 3.最大与最小

最大与最小问题和第2题类似,先循环输入 ,在定义 max和min,用for循环循环判断与max和min的关系 满足要求就把那位数赋值给我们定义的max和min。最后输出的时候不要忘记是输出2位小数 , 浮点数一般用%.2f即可。

#include<stdio.h>
int main()
{
        int n,i;
        scanf("%d",&n);
    float a[n],min,max;
        for(i=0;i<n;i++)
 
            scanf("%f",&a[i]);
 
 
        for( max=min=a[0],i=1;i<n;i++)
        {
            if(a[i]>max)
                max=a[i];
            if(a[i]<min)
                min=a[i];
        }
 
            printf("%.2f %.2f",max,min);
 
 
        return 0;
 

 4.递归初体验(阶乘)

程序调用自身的编程技巧称为递归( recursion)。递归作为一种算法程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

今天在慕课初步了解递归,简单来说就是在函数中调用其本身。

其中阶乘是其简单应用,自己的感觉就是能简单写就简单写,此题重点就是会定义结成运算的函数 ,懂得阶乘的实质,然后点出特殊情况当阶乘数小于0和等于0或者等于1时的值,然后返回他。定义完后,一定要记得要在主函数中调用他 ,今天那道用函数求数组元素的和我就没搞好。

#include<stdio.h>
    int asd(int n)
   {
    if(n<0)
        return 0;
    else if(n==0||n==1)
        return 1;
    else
        return asd(n-1)*n;
   }

int main()
{
    int n;
    scanf("%d",&n);
    printf("%d",asd(n));
    return 0;
}

 5.闰年问题

闰年问题 ,重点是要理解闰年的定义,能同时被4和100整除或不能被400整除的年份,会用if语句表示条件,还有逻辑语句。定义完后需要循环输入年份 一般循环输入使用while(scanf("%d",&n)!=EOF)

#include<stdio.h>
int isLeap(int year)
{
    if((year%4==0&&year%100!=0)||(year%400==0))
    {
        return 1;
    }
    return 0;
}

int main()
{
    int n,m;

  while(scanf("%d",&n)!=EOF)
  {
    if(isLeap(n)==1)
    {
        printf("yes\r\n");
    }
    else
        printf("no\r\n");

  }
    return 0;
}

 6.总结

本周慢慢的学到一些新的东西,尽管有很多还是不会,但身边大佬云集,每次和他(她)们请教,我都能学到新的东西,很享受交流的时刻。慢慢减少每次不会就往网上搜,这样没啥意义,多去问问,更好。心态放稳,不急,也要快快的赶上大家的步伐,我一直很相信自己,加油!!!

冲压横行霸道qyz!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值