zoukankan      html  css  js  c++  java
  • 模拟练习3

    问题 A: 水仙花数

    春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。
     

     

    输入要求

    输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)
     

     

    输出要求

    对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
    如果给定的范围内不存在水仙花数,则输出no;
    每个测试实例的输出占一行。

     

    假如输入

    100 120
    300 400
    121 200

    应当输出

    no
    370 371
    153

            提示    while (scanf_s("%d%d",&m,&n)!=EOF)

    问题 B: 斐波那契数求解

    题目描述

     著名意大利数学家斐波那契(Fibonacci)1202年提出一个有趣的问题。

    某人想知道一年内一对兔子可以生几对兔子。他筑了一道围墙,把一对大兔关在其中。已知每对大兔每个月可以生一对小兔,而每对小兔出生后第三个月即可成为“大兔”再生小兔。问一对小兔一年能繁殖几对小兔?

     

    输入要求

    多个正整数n(1<=n<=80),表示需要求第n个月新增的兔子对数。

     

    输出要求

     对于输入的n,求第n个月新增的兔子对数。当n=0时输入结束,该数据不作处理。

    假如输入

    16
    0

    应当输出

    987

    问题 C: C二级辅导-进制转换

    编程,输入一个10进制正整数,然后输出它所对应的八进制数。输入0表示测试结束。

     

    输入要求

     

    输出要求

     

    假如输入

    10
    0

    应当输出

    12

    问题 D: C二级辅导-温度转换

    输入一个华氏温度,要求输出摄氏温度。公式为

    保留两位小数

     

    输入要求

     

    输出要求

     

    假如输入

    -40

    应当输出

    -40.00
    #include<stdio.h>
    int main(void)
    {
       double f;
        double c;
        scanf("%lf",&f);
        c=5*(f-32)/9;
        printf("%.2f
    ",c);
        return 0;
    }
    
    
    
    
    

    问题 F: C二级辅导-分段函数

    有一个函数如下,写一程序,输入x,输出y值。

     

    #include<stdio.h>
    int main(void)
    {
        double x,y;
        scanf("%lf",&x);
        if(x<1){
            y=x;
        }
        else if(x>=10){
            y=3*x-11;
        }
        else{
            y=2*x-1;
        }
        printf("%.2f
    ",y);
        return 0;
    }
    /*******************************

     

     

     

     

    问题 E: C二级辅导-求偶数和

    编制程序,输入n个整数(n从键盘输入,n>0),输出它们的偶数和。

     

    输入要求

     

    输出要求

     

    假如输入

    2
    1 2

    应当输出

    2
    #include<stdio.h>
    int main(void)
    {
        int n,x,i;
        int sum;
        sum=0;
        scanf("%d",&n);
        for(i=1;i<=n;i++){
        scanf("%d",&x);
        if(i%2==0){
            sum=sum+x;
        }
        }
        printf("%d
    ",sum);
        return 0;
    }
    
    

    问题 G: C二级辅导-等差数列

    sum=2+5+8+11+14+,输入正整数n,求sum的前n项和。

    #include<stdio.h>
    int main(void)
    {
        int n,i,x;
        int sum;
        sum=0;
        scanf("%d",&n);
        for(i=1;i<=n;i++){
            x=3*i-1;
            sum=sum+x;
        }
        printf("%d
    ",sum);
        return 0;
    }

     

     

    问题 H: C二级辅导-计负均正

    从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值。

    保留两位小数

     

    输入要求

     

    输出要求

     

    假如输入

    1 2 3 4 5 6 7 8 9 10
    -1 -2 -3 -4 -5 -6 -7 -8 -9 -10

    应当输出

    10
    5.50
    #include<stdio.h>
    int main(void)
    {
        int x,i,y,z;
        double a,sum;
        sum=0;
        y=0;
        z=0;
        for(i=1;i<=20;i++){
            scanf("%d ",&x);
            if(x<0){
                y=y+1;
            }
             if(x>0){
                z=z+1;
                sum=sum+x;
            }
            a=sum/z;
        }
        printf("%d
    ",y);
        printf("%.2f",a);
     
        return 0;
    }
    
    
    
    
    

    问题 I: C二级辅导-公约公倍

    输入两个正整数mn,求其最大公约数和最小公倍数。

     

    输入要求

     

    输出要求

     

    假如输入

    2 3

    应当输出

    1
    6
    #include<stdio.h>  
    int main(void)  
    {  
        int m,n; 
        int r,x,t; 
          scanf("%d %d",&m,&n); 
            x = m*n; 
            if (m<n) 
            { 
                t=m;  
                m=n;  
                n=t; 
            } 
            while (n!=0) 
            { 
                r=m%n;  
                m=n;  
                n=r; 
            } 
            printf("%d
    ",m);
            printf("%d
    ",x/m);
            return 0;
    }
    
    
    
    
    

    问题 J: C二级辅导-统计字符

    输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

     

    输入要求

     

    输出要求

     

    假如输入

    a 1,
    

    应当输出

    1
    1
    1
    1
    #include<stdio.h>
    int main(void)
    {
        int letter,digit,other,blank;
        char ch;
        letter=digit=other=blank=0;
        while((ch=getchar())!='
    ')
        if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
            letter++;
        else if(ch>='0'&&ch<='9')
            digit++;
        else if(ch==' ')
            blank++;
        else
            other++;
         
        printf("%d
    ",letter);
        printf("%d
    ",blank);
        printf("%d
    ",digit);
        printf("%d
    ",other);
        return 0;
    }
    
    
    
    
    

    问题 K: 2003年秋浙江省计算机等级考试二级C 编程题(2)

    输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。

     

    输入要求

    m n

    输出要求

    素数和

    假如输入

    2 3

    应当输出

    5
    #include<stdio.h>   
    int isprime(int a);
    int main(void)
    {
        int m,n,sum=0,a;
        scanf("%d %d",&m,&n);
        for (a=m;a<=n;a++){
        sum=sum+isprime(a);
        }
        printf("%d
    ",sum);
        return 0;
    }
     
     
    int isprime(int a)
    {
        int i;
        int result=0;
        for (i=2;i<=a/2;i++)
            if (a%i==0) 
                break;
            if(i>a/2&&a!=1)
            result=a;
            return result;
    }
     
    
    
    
    
    

    问题 L: 2004年秋浙江省计算机等级考试二级C 编程题(1)

    输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。

    输入要求

    十个数

    输出要求

    交换后的十个数

    假如输入

    10 2 30 40 50 60 70 80 90 100

    应当输出

    10 100 30 40 50 60 70 80 90 2
    #include<stdio.h>
    #include<math.h>
    int main(void)
    {
        int i,min;
        int temp;
        int a[10];
     
        for(i=0;i<10;i++)
        scanf("%d",&a[i]);
        min=0;
        for(i=1;i<10;i++)
            if(fabs(a[i])<fabs(a[min]))
                min=i;
            temp=a[min];
            a[min]=a[9];
            a[9]=temp;
     
            for(i=0;i<10;i++)
                printf("%d ",a[i]);
            return 0;
    }
     
     
    
    
    
    
    

    问题 M: 2004年秋浙江省计算机等级考试二级C 编程题(2)

    输入一个正数x和一个正整数n,求下列算式的值。要求顶一个调用2个函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。

          x - x2/2! + x3/3! + ... + (-1)n-1xn/n!

     

    ×输出保留4位小数。

     

    输入要求

    x n

    输出要求

    数列和

    假如输入

    2.0 3

    应当输出

    1.3333
    #include<stdio.h>
    double fact(int n);
    #include<math.h>
    int main(void)
    {
        double x,z;
        int n,i,y;
        double sum=0;
        y=1;
        scanf("%lf %d",&x,&n);
        for(i=1;i<=n;i++){
            z=y*pow(x,i)/fact(i);
            sum=sum+z;
            y=-y;
        }
        printf("%.4f
    ",sum);
            return 0;
    }
    double fact(int n)
    {
        int i;
        double m;
        m=1;
        for(i=1;i<=n;i++){
            m=m*i;
        }
        return m;
    }
     
     
    
    
    
    
    

    问题 N: 2005年春浙江省计算机等级考试二级C 编程题(1)

    题目描述

    输入x ,计算并输出下列分段函数 f(x) 的值。可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs() 和幂函数 pow()

     

     保留2位小数

    输入要求

    x

    输出要求

    f(x)

    假如输入

    5

    应当输出

    15.00
    #include<stdio.h>
    #include<math.h>
    int main(void)
    {
        double x,y;
        scanf("%lf",&x);
        if(x<0){
            y=fabs(x);
        }
        else if(x>=0&&x<2){
            y=pow((x+1),0.5);
        }
        else if(x>=2&&x<4){
            y=pow((x+2),5);
        }
        else{
            y=2*x+5;
        }
        printf("%.2f",y);
        return 0;
    }
     
     
     
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
  • 相关阅读:
    HDU 1312 Red and Black DFS(深度优先搜索) 和 BFS(广度优先搜索)
    HDU 1241 Oil Deposits DFS(深度优先搜索) 和 BFS(广度优先搜索)
    邮件推广工具
    aix-syslog
    能量点
    知识picture
    C中运算符
    stdio.h头文件中申明的基本函数
    字符串
    指针字符串
  • 原文地址:https://www.cnblogs.com/simple9495/p/3475657.html
Copyright © 2011-2022 走看看