作业七

#include <stdio.h>
#include <math.h>
int sign(int x);
int even(int n);
int prime(int m);
int countdigit(int number,int digit);
int is(int number);
int main()
{
    int choice=0;
    int n;
    int x,y,m,i,sum=0;
    int digit,z,c;
    do{
    printf("*************实验六:函数**************\n");
    printf("******1.计算输出分段函数发(x)的值******\n");
    printf("******2.利用函数求奇数和***************\n");
    printf("******3.计算素数个数并求和*************\n");
    printf("******4.统计指定数字的个数*************\n");
    printf("******5.输出m~n之间的所有水仙花数******\n");
    printf("******0.退出***************************\n");
    printf("请选择题号:");
    scanf("%d",&choice);
    switch(choice)
    {
        case 1:printf("请输入x:");
                scanf("%d",&x);
                printf("f(%d)=%d\n",x,sign(x));
                break;
        case 2:printf("请输入正整数:\n");
                do{
                    scanf("%d",&n);
                    if(n>0){
                        y=even(n);
                    if(y==0){
                        sum=sum+n;
                        }
                    }
                }while(n>0);
                printf("sum=%d\n",sum);
                break;
        case 3:printf("请输入两个正整数:");
                scanf("%d%d",&m,&n);
                c=sum=0;
                for(i=m;i<=n;i++)
                if(prime(i)!=0)
                    {
                        c++;
                        sum=sum+i;
                    }
                printf("c=%d,sum=%d\n",c,sum);
                break;
        case 4:scanf("%d%d",&z,&digit);
                c=countdigit(z,digit);
                printf("number %d of digit %d:%d\n",z,digit,c);
                break;
        case 5:scanf("%d%d",&m,&n);
                printf("result:\n");
                for(i=m;i<=n;i++)
                if(is(i)!=0)
                printf("%d\n",i);
                break;
    }
    }while(choice!=0);
    return 0; 
} 
int sign(int x)
{
    if(x<0) return -1;
    else if(x>0) return 1;
    else return 0;
}
int even(int n)
{
    int x;
    if(n%2==0)
     x=1;
    else
     x=0;
     return x;
} 
int prime(int m)
{
    int i;
    if(m==1)
    return 0;
    for(i=2;i<=m/2;i++)
        if(m%i==0)
         return 0;
        else
         return 1;
}
int countdigit(int number,int digit)
{
    int c;
    if(number<0)
    number=-number;
    c=0;
    do{
        if(number%10==digit)
         c++;
             number=number/10;
    }while(number!=0);
    return c;
}
int is(int number)
{
    int digit,sum,temp;
    temp=number;
    sum=0;
    while(temp!=0){
        digit=temp%10;
        temp=temp/10;
        sum=sum+pow(digit,3);
    }
    return sum==number;
}
#include<stdio.h>
int main(void)
{
    int i;
    long int f[40]={1,1};
    
    for(i=2;i<40;i++)
        f[i]=f[i-1]+f[i-2];
        
    for(i=0;i<40;i++){
        if(i%5==0)
            printf("\n");
            printf("%12ld",f[i]);
    }
    return 0;
} 

 

posted @ 2016-12-23 23:14  Leonardo#*  阅读(131)  评论(0编辑  收藏  举报