作业 4 函数应用

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

#include<stdio.h>
#include<math.h>          /*调用数学函数*/
int main(void)
{
    int m,n,i;
    int is(int number);         /*自定义is函数*/
    printf("Enter m,n:");
    scanf("%d%d",&m,&n);

    for(i=m;i<=n;i++){
        if(i==is(i))          /*判断函数是否等于其自身*/
            printf("%d\n",i);
    }
    return 0;
}
int is(int i)
{
    int a,sum;
    sum=0;

    do{
        a=i%10;
        sum=sum+a*a*a;
        i=i/10;            /*求各数字的立方和*/
    }
    while(i!=0);
    return sum;
}

 

 

--------------------------------题目分割线---------------------------------

2.编写一个程序,判断从键盘接收的数字是否为回文数字。回文数字就是顺着看和倒着看是相同的数。如121、656、2332等。

#include<stdio.h>
int main(void)
{
    int m,n,i;
    i=0;
    printf("Enter a number:");
    scanf("%d",&m);
    n=m;
    while(m)        /*m是个函数式,作为 while( ){ } 语句的参数,如果m≠0,则执行{}中的语句,否则执行while语句之后的语句*/
    {
        i=i*10+m%10;
        m/=10;        /*循环使数m进行倒叙*/
    }
    if(n==i)        /*判断n与i是否相等,若相等则执行下行语句*/
        printf("是回文。\n");
    else
        printf("不是回文。\n");
    return 0;
}

 

运行结果1:

运行结果2:

 

 

--------------------------------题目分割线---------------------------------

3.找出11~999之间的所有的三重回文数字。所谓三重回文数a就是指a、a2、a3都是回文数字。

 

无力了……T^T

 

 

 --------------------------------题目分割线---------------------------------

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

 

 --------------------------------题目分割线---------------------------------
5、按下面要求编写程序:
(1)定义函数f(n)计算n+(n+1)+…+(2n-1),函数返回值类型是double。
(2)在主函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数f(n)计算n+(n+1)+…+(2n-1)。
 
--------------------------------题目分割线---------------------------------

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

--------------------------------题目分割线---------------------------------

 

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

 

1) 怎样定义函数?如何调用函数?如何声明函数?
2) 什么是函数的参数?什么是形参、实参?在函数调用时,参数是如何传递的?
3) 在使用函数的过程中,要注意哪些问题?怎样确定函数的参数?
4) 如何使用局部变量和全局变量?
5) 什么是静态变量?

--------------------------------题目分割线---------------------------------

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

1) 什么是数组? 为什么要使用数组? 如何定义数组?
2) 如何引用数组元素?
3) 二维数组的元素在内存中按什么方式存放?
4) 什么是字符串? 字符串结束符的作用是什么?
5) 如何实现字符串的存储和操作,包括字符串的输入和输出?
6) 怎样理解C语言将字符串作为一个特殊的一维字符数组?

posted @ 2013-10-27 23:25  七颜℡  阅读(631)  评论(0编辑  收藏  举报