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

    问题 A: C语言-数字分解

    给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123

    输入要求

    一个不大于5位的数字

    输出要求

    三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数

    假如输入

    12345

    应当输出

    5
    1 2 3 4 5
    54321

    问题 B: C语言-弹球

    
    

    一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数

    
    

    输入要求

    
    

    M N

    
    

    输出要求

    
    

    它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行

    
    

    假如输入

    
    
    1000 5
    
    

    应当输出

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

    问题 C: 格子位置(grid)

    题目描述

      输入三个自然数N,i,j(l≤i≤N,1≤j≤N),输出在一个N×N格的棋盘中,与格子(i,j)同行、同列、同一对角线的所有格子的位置。例如,n=4,i=2,j=3表示棋盘中的第二行第三列的格子,如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图: 当n=4,i=2,j=3时,输出的结果是: (2,1) (2,2) (2,3) (2,4) {同一行上格子的位置} (1,3) (2,3) (3,3) (4,3) {同列列上格子的位置} (1,2) (2,3) (3,4) {左上到右下对角线上的格子的位置} (4,1) (3,2) (2,3) (1,4) {左下到右上对角线上的格子的位置}

    输入要求

    只有1行,共3个数,分别为N(1≤N≤10000),i,j的值。

    输出要求

    按照题目描述的格式输出。

    假如输入

    4 2 3
    

    应当输出

    (2,1)(2,2)(2,3)(2,4)
    (1,3)(2,3)(3,3)(4,3)
    (1,2)(2,3)(3,4)
    (4,1)(3,2)(2,3)(1,4)
    

    问题 D: 勾股数(gou)

    题目描述

    输入整数R,输出小于等于R的满足X2+Y2=Z2的所有正整数X,Y,Z。

    输入要求

    只有一个数:R(5≤R≤I000000)。

    输出要求

    只有一个数:表示共有多少组满足条件的勾股数。

    假如输入

    10
    

    应当输出

    2
    #include<stdio.h>
    int main(void)
    {
        int r,x,y,z;
        int count;
        count=0;
        scanf("%d",&r);
        for(x=1;x<=r;x++){
            for(y=1;y<=r;y++){
                for(z=1;z<=r;z++){
                    if(x*x+y*y==z*z&&x+y>z&&x-y<z)
                        count++;
                }
            }
        }
            printf("%d
    ",count/2);
        return 0;
     
    }
    
    
    
    
    

    问题 E: 回文素数(hui)

    题目描述

    桐桐在研究素数时,发现有些素数很特别,例如131,它是素数,同时,它又是回文数:从左边读和从右边读都是同一个数。桐桐想把不大于n的所有既是回文数又是素数的数求出来,你能帮助她吗?

    输入要求

    输入数据有多组,每组只有一个整数n(2≤n≤10^6)。

    输出要求

    输出满足题设条件的数,每行输出5个数。

    假如输入

    100
    
    

    应当输出

    2 3 5 7 11

    问题 F: C语言考试练习题_矩阵转置

    题目描述

    输入N*N的矩阵,输出它的转置矩阵。

    输入要求

    第一行为整数N(1<=N<=10)。接着是一个N*N的矩阵。

    输出要求

    转置矩阵。

    假如输入

    2
    1 2
    1 2

    应当输出

    1 1
    2 2
    #include<stdio.h>
    int main(void)
    {
        int n,i,j,temp;
        int a[10][10];
        scanf("%d
    ",&n);
        for(i=0;i<n;i++)
            for(j=0;j<n;j++)
                scanf("%d",&a[i][j]);
     
            for(i=0;i<n;i++)
                for(j=0;j<n;j++)
                    if(i<=j){
                        temp=a[i][j];
                        a[i][j]=a[j][i];
                        a[j][i]=temp;
                    }
     
                    for(i=0;i<n;i++){
                        for(j=0;j<n-1;j++)
                            printf("%d ",a[i][j]);
                        printf("%d",a[i][n-1]);
                        printf("
    ");
                    }
                    return 0;
    }
    
    
    
    
    

    问题 G: C语言考试练习题_排列

    有4个互不相同的数字,输出由其中三个不重复数字组成的排列。

    输入要求

    4个整数。

    输出要求

    所有排列。

    假如输入

    1 2 3 4

    应当输出

    1 2 3
    1 3 2
    2 1 3
    2 3 1
    3 1 2
    3 2 1
    1 2 4
    1 4 2
    2 1 4
    2 4 1
    4 1 2
    4 2 1
    1 3 4
    1 4 3
    3 1 4
    3 4 1
    4 1 3
    4 3 1
    2 3 4
    2 4 3
    3 2 4
    3 4 2
    4 2 3
    4 3 2

    问题 H: 逆序输出单词(串)

    输入一个字符串,空格作为单词分隔符,统计其中的单词,并将单词逆序输出

    输入要求

    输入一个字符串

    输出要求

    逆序输出单词

    假如输入

    I love you!

    应当输出

    you love I!

    问题 I: 计算两点间的距离

    题目描述

    输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

    输入要求

    输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

    输出要求

    对于每组输入数据,输出一行,结果保留两位小数。

    假如输入

    0 0 0 1
    0 1 1 0

    应当输出

    1.00
    1.41
    #include<stdio.h>
    #include<math.h>
    int main(void)
    {
     
        double x1,x2,y1,y2;
        double z;
     while(EOF != scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2))
     {
        z=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
        printf("%.2f
    ",z);
        }
        return 0;
    }
     
    
    
    
    
    

    问题

    《C语言程序设计》江宝钏主编-习题4-5-边境线

    有一个圆,圆心坐标是(0,0),半径r=4.5,任意输入一个点的坐标(x,y),判断这个点是在圆内,圆周上,还是在圆外。

    输入要求

    两个浮点数x,y

    输出要求

    如果在圆内,输出in

    如果在圆外,输出out

    如果在圆上,输出on

    假如输入

    1.0 1.0

    应当输出

    in
    #include<stdio.h>
    int main(void)
    {
        double x,y;
        scanf("%lf %lf",&x,&y);
        if(x*x+y*y<4.5*4.5)
            printf("in
    ");
        else if(x*x+y*y==4.5*4.5)
            printf("on
    ");
        else
            printf("out
    ");
        return 0;
    }
     
     
    
    
    
    
    
    
    

     

  • 相关阅读:
    (转载)windows下安装配置Xampp
    (转载)C# winform 在一个窗体中如何设置另一个窗体的TextBox的值
    (转载)winform图片标尺控件
    (转载)WinformGDI+入门级实例——扫雷游戏(附源码)
    (转载)c# winform 窗体起始位置 设置
    (转载)C# GDI+ 画简单的图形:直线、矩形、扇形等
    (转载)C# ListView用法详解
    (转载)C#工具箱Menustrip控件中分割线的设置方法
    计算机中英文术语对照
    [JAVA]多线程之实现Callable接口
  • 原文地址:https://www.cnblogs.com/simple9495/p/3475636.html
Copyright © 2011-2022 走看看