• 作业4


    1、输入2个正整数m和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之和是否等于其自身。

    /* 输出m~n之间的所有水仙花数 */
    #include<stdio.h>
    int is(int number);   //自定义 is number函数判断各位数字之和是否等于其自身
     int main(void)
    {
        int i;
        for(i=1;i<=10000;i++)
            if(is(i))
                printf("%d  ",i);
    }
    int is(int number){        //调用函数
    int sum,n,p; 
    sum=0;
            n=number;  
            while (number!=0){               
                p= number%10;   //取出个位数值            
                sum=sum+p*p*p;   
                number=number/10;    
            }     
            return  (sum==n); 
        }

    4、输入x、n后输出下列算式的值,fact(n)实现n!,mypow(x,n)实现xn。

    /* 输入x、n后输出下列算式的值,fact(n)实现n!,mypow(x,n)实现xn */
    #include <stdio.h>
    #include<math.h>                 //程序中需要调用fact函数和pow函数
    double fact(int n);              //定义fact函数求阶乘
    int main(void)
    {
     int i,x,flag;                   //分子为flag
     double n,sum;                   //sum表示总和
      printf("输入x和n:
    ");
      scanf("%d %f",&x,&n);
      sum=0;
      flag=1;
      n=x;
     
    
      for(i=1;i<=n;i++){  
          sum=sum+flag*powl(x,i)/fact(i);
       flag=-flag;                   //每次循环后分子变号  
      }
      printf("%.2f
    ",sum);
     return 0;
    }
    double fact(int n)             //调用fact函数
    {
     int i;
     double fact=1;
     for(i=1;i<=n;i++)
     {
      fact=fact*i;                 //求阶乘
     }
     return fact;
    }

    6、输出80到120之间的满足给定条件的所有整数,条件为构成该整数的每位数字都相同。要求定义和调用函数is(n)判断整数n的每位数字是否都相同,若相同则返回1,否则返回0。

    /* 输出80-120间的整数,要求构成该整数的每位数字都相同 */
    #include <stdio.h>
    int is(int n);
    int main(void)
    { 
        int  i;     
    for(i = 80; i <= 120; i++)    //判断80-120之间的数字
    if(is(i) != 0)
    printf("%d ", i);
    printf("
    ");
    }
    int is(int n)
    { 
        int old, digit;          //定义整型变量,位数
        old = n % 10;              
        //首先提取出个位数字
        do{
    digit = n % 10;        //提取出十位数字
    if( digit != old  )   //若不相等,返回0   
     return 0 ;
        digit = old;   
    n = n / 10;
    }
    while( n != 0 );
       return 1;   
    }

    7、阅读教材 第五章 函数,回答以下问题:

    1) 怎样定义函数?如何调用函数?如何声明函数?

    答:函数定义的一般形式为:函数类型 函数名(形式参数表)/* 函数首部 */

    函数实现过程 /* 函数体 */

    2) 什么是函数的参数?什么是形参、实参?在函数调用时,参数是如何传递的?

    答:1.数学中函数的自变量在c语言中被称为参数

          2.函数定义时,位于其首部的参数被称为形参,主调函数的参数被称为实参

          3.程序运行遇到函数调用时,实参的值依次传给形参,这就是参数的传递

    3) 在使用函数的过程中,要注意哪些问题?怎样确定函数的参数?

    答:1.函数首部后面不能加分号,它和函数体一起构成完整的函数定义,实参和形参应一一对应,数量应相同;

         2.按需分配,需要什么参数就设定什么参数

    4) 如何使用局部变量和全局变量?

    答:局部变量一般定义在函数或复合语句的开始处,全局变量一般定义在程序的最前面,即第一个函数的前面。

    5) 什么是静态变量?

    存放在静态存储区,不会因函数调用结束而被系统收回,而是持续到程序结束的变量。

    8、预习第七章 数组,并回答一下问题:

    1) 什么是数组? 为什么要使用数组? 如何定义数组?

    答:1.数组是最基本的构造类型,它是一组相同类型数据的有序集合。

          2.定义数组要确定哪些数据组成数组,数组中有多少个元素,属于哪个数据类型。

           定义一维数组的一般形式为:类型符 数组名[常量表达式];

    2) 如何引用数组元素?

    答: 引用数组元素的表示形式为:数组名[下标]

    3) 二维数组的元素在内存中按什么方式存放?

    答:二维数组中元素排列的顺序是按行存放的,即在内存中先顺序存放第1行的元素,

         接着再存放第二行的元素

    4) 什么是字符串? 字符串结束符的作用是什么?

    答:1.字符串常量就是用一对双引号括起来的字符序列,即一串字符,它有一个结束标志''

          2.起一个隔绝的作用,字符串遇''结束,也就是说,第一个''之后的其他数组元素与该字符串无关

    5) 如何实现字符串的存储和操作,包括字符串的输入和输出?

    答:将字符串存入一维字符数组

    6) 怎样理解C语言将字符串作为一个特殊的一维字符数组?

    答:字符串的有效长度就是有效字符的个数,所以也可算是特殊的字符数组

  • 相关阅读:
    Appium(一):java环境、AndroidSDK环境
    SQL Server Merge语句的使用
    ASP.NET MVC下判断用户登录和授权的方法
    javascript的错误处理
    javascript的封装实例
    Javascript的封装
    ASP.NET MVC的请求生命周期
    Asp.Net页面生命周期
    SQL注入原理
    ASP.NET MVC:窗体身份验证及角色权限管理示例
  • 原文地址:https://www.cnblogs.com/liyang1995/p/3417351.html
Copyright © 2020-2023  润新知