zoukankan      html  css  js  c++  java
  • 实验7

    #include<stdio.h>
    #include<math.h>
    int sign(int x);
    double even(int n);
    int prime(int m); 
    double countdigit(int number,int digit);
    int number(int m,int n);
    int main()
    {
        int i,n;
        do{
            printf("********************************
    "); 
            printf("** -------------实验六:函数 ----------------- **
    "); 
            printf("** -------1.计算并输出分段函数f(x)的值 ------ **
    ");
            printf("** -------2.使用函数求奇数和 ---------------- **
    ");
            printf("** -------3.计算素数个数并求和 -------------- **
    ");
            printf("** -------4.统计指定数字的个数 -------------- **
    ");
            printf("**-------5.输出m~n之间的所有水仙花数 ------- **
    ");    
            printf("********************************
    ");
            printf("请输入题号:");
            scanf("%d",&i);
            switch(i){
                case 1:
                {
                    int x,y;
                    printf("输入任意值确认。
    ");
                    scanf("%d",&x);
                    printf("请输入x值:");
                    scanf("%d",&x);
                    y=sign(x);
                    printf("f(x)=%d
    ",y);
                }break; 
                case 2:
                   {
                    int n,sum=0;
                    double num;
                    printf("输入任意值确认。
    ");
                    scanf("%d",&n);
                    printf("输入一批正整数(以零或负数为结束标志):");                 
                    do{
                           scanf("%d",&n);
                           num=even(n);
                           if(0==num){
                               printf("%d是奇数
    ",n);
                           sum=sum+n;
                           }
                           else if(1==num){
                               printf("%d是偶数
    ",n);
                           }
                           else{
                              printf("Unknow");
                           }
                    }while(n>0);
                       printf("奇数和=%d
    ",sum);
                
            
                }break;
                case 3:
                {
                       int sum=0,m,h=0,n;
                    printf("输入任意值确认。
    ");
                    scanf("%d",&n);
                       printf("Input m,n:");
                    scanf("%d%d",&m,&n);
                        for(m;m<=n;m++){
                    if(prime (m)!=0){
                        h=h+m;
                        sum++;
                        }
                    }
                    printf("素数的个数为:%d,素数的合为:%d",sum,h);
                }     
                break;
                case 4:
                {
                       int digit=0,y=0,number,i,n;                           
                    printf("输入任意值确认。
    ");
                    scanf("%d",&n);                   
                       double sum,sum1=0;                                                                                        
                       printf("Input number,digit,n(n为输入数字位数):");
                       scanf("%d%d",&number,&digit);
                       sum=countdigit(number,digit);               
                }
                break;
                case 5:
                {
                       int m,n;
                    printf("输入任意值确认。
    ");
                    scanf("%d",&n);                
                    printf("Input m,n:");
                    scanf("%d%d",&m,&n);
                    number(m,n);
                }break;
                case 0:break;
            }
        }while(i!=0);
        return 0;
    } 
    int sign(int x)
    {
        int y;
        if(x>0) y=1;
        else if(x<0) y=-1;
        else y=0;
        return y; 
    }
    double even(int n)
    {
        if(n%2==0) return 1;
        else return 0;
    }
    int prime(int m){
        int i,n;
        if(m==1)return 0;
        n=sqrt(m);
        for(i=2;i<=n;i++)
        if(m%i==0){
            return 0;
        }
        return 1;
    }
    double countdigit(int number,int digit)           
    {                                                   
        int n,digit1,i,y=0;                           
        double sum,sum1=0;                                          
        digit1=number*10;
        scanf("%d",&n);                                  
        for(i=1;i<=n;i++){                   
            digit1=digit1/10;
            y=digit1%10;
            if(y==digit){
            sum1++;        
            }
        }
        printf("该数字中%d的个数为%.0lf",digit,sum1);
        return sum;                                    
    }
    int number(int m,int n){    
            for(m;m<n;m++){
            int digit=m;
            int digit1=0,digit2=0,digit3=0;        
            digit1=digit/100;digit%=100;
            digit2=digit/10;        
            digit3=digit%10;
            if(pow(digit1,3)+pow(digit2,3)+pow(digit3,3)==m){
            printf("%d是水仙花数
    ",m); 
            }
            else printf("%d不是水仙花数
    ",m);                
        }
        return 0;
    }
  • 相关阅读:
    C基础之移位操作
    实现itoa()
    Python的time模块的clock方法在不同平台的效果不同
    __stdcall与__cdecl之区别浅析及相关知识
    Python 字典 dictionary changed size during iteration
    Windows下printf输出long long类型
    inotify也会爆棚
    一条对“失控的腾讯帝国:企鹅无法把控手机市场”的评论
    imfunny程序员的增量发展
    程序员第一定律:关于技能和收入
  • 原文地址:https://www.cnblogs.com/ly6251/p/6211107.html
Copyright © 2011-2022 走看看