华南农业大学C语言oj第五章

版权声明:本文版权属CSDN博客黑兔子撒所有,转载请申明版权。 https://blog.csdn.net/weixin_41409140/article/details/88070844

18046 字母分类统计

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题   语言: G++;GCC;VC

Description

输入一行以换行符结束的字符,统计并输出其中英文字母、数字、空格和其它字符的个数。

输入格式

一行字符,以换行符结束

输出格式

一行4个数字分别为:英文字母、数字、空格和其它字符的个数,两数据之间以一个空格分隔

输入样例

ABC 456!

输出样例

3 3 1 1

#include <stdio.h>

#include <math.h>

int main()

{

    char ch;

    int nL=0, nN=0, nS=0, nO=0;

    while((ch=getchar())!='\n')

    {

        if(ch>='a'&&ch<='z'||

           ch>='A'&&ch<='Z')

           nL++;

        else if (ch>='0'&&ch<='9')

            nN++;

        else if (ch==' ')

            nS++;

        else

            nO++;



    }

    printf("%d %d %d %d\n", nL, nN, nS, nO);

    return 0;

}

18047 水仙花数

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题   语言: G++;GCC;VC

Description

输出所有的水仙花数。所谓水仙花数是一个3位的正整数,其各位数字的立方和等于这个数本身。

例如,153是水仙花数,因为1^3+5^3+3^3=153。 ^代表上标

输入格式

输出格式

一行一个,由小到大输出所有水仙花数

输入样例

输出样例

#include<stdio.h>

int main()

{

   int i,a,b,c;

   for(i=100;i<1000;i++)

   {

      a=i/100;

      b=(i/10)%10;

      c=i%10;

      if((a*a*a+b*b*b+c*c*c)==i)

      printf("%d\n",i);

     }

     return(0);

}

1037 计算数列和

时间限制:1000MS  内存限制:65536K
提交次数:5299 通过次数:3882

题型: 编程题   语言: G++;GCC

Description

 有数列:

编程实现,由键盘输入n,计算输出数列前n项和。(结果保留四位小数,提示:要使用double,否则精度不够) 

输出格式

请按格式输出

输入样例

20

输出样例

32.6603

#include<stdio.h>

main()

{   int i,n;

    double a=2,b=1,s=0;

    scanf("%d",&n);

    for(i=1;i<=n;i++)

    {   s=s+a/b;

        a=a+b;

        b=a-b;

    }

    printf("%.4f\n",s);

}

18048 自由落体

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题   语言: G++;GCC;VC

Description

一个球从100米的高度自由落下,每次落地后弹起的原来高度的一半。计算并输出第n次落地时,共经过了多少米,第n次弹起的高度是多少?结果显示3位小数。

输入格式

从键盘输入一个数n(n>0)

输出格式

输出两个数,分别为共经过的米数和第n次弹起的高度,以一个空格分隔

输入样例

1

输出样例

100.000 50.000

#include <stdio.h>

#include <math.h>

int main()

{

    double sum=-100, d=100;

    int i,n;

    scanf("%d", &n);

    for(i=1; i<=n; i++)

    {

        sum+=2*d;

        d/=2;

    }

    printf("%.3f %.3f", sum, d);

    return 0;

}

 

18049 迭代法求平方根

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题   语言: G++;GCC;VC

Description

使用迭代法求a的平方根。求平方根的迭代公式如下,要求计算到相邻两次求出的x的差的绝对值小于1E-5时停止,结果显示4位小数

输入格式

输入一个非负实数a

输出格式

计算并输出平方根

输入样例

16

输出样例

4.0000

#include <stdio.h>

#include <math.h>



int main()

{

    double a, x0, x1=1;

    scanf("%lf", &a);

    do

    {

        x0=x1;

        x1=1.0/2*(x1+a/x1);

    }while(fabs(x1-x0)>=1e-5);

    printf("%.4lf\n", x1);

    return 0;

}

18050 打印三角形

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题   语言: G++;GCC;VC

Description

编写程序,输入整数n,输出n行的字符图案。例如n=5时输出:  

    *
   **
  ***
 ****
*****
 ****
  ***
   **
    *

输入格式

输入一个整数

输出格式

输出2*n-1行的三角形

输入样例

2

输出样例

 *
**
 *
#include <stdio.h>

#define abs(x) ((x)>=0?(x):-(x))

int main()

{

    int n,i,j;

    scanf("%d", &n);

    for(i=-(n-1); i<=(n-1); i++)

    {

        for(j=0; j<abs(i); j++)

            printf(" ");

        for(j=0; j<n-abs(i); j++)

            printf("*");

        printf("\n");

    }

    return 0;

}

18051 勾股数

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 编程题   语言: G++;GCC;VC

Description

若三个正整数a、b、c,其中a<=b<=c,满足a^2+b^2=c^2,其中^表示上标,称这三个数为“勾股数”,例如:3、4、5是勾股数。编程输出不大于n的所有勾股数。

输入格式

输入一个数(n<=100)

输出格式

输出所有勾股数,按第1个数字由小到大排列(若第1个数字相同,按第2个数字排)

输入样例

5

输出样例

3 4 5

#include <stdio.h>

#include <math.h>



int main()

{

    int i,j,k,n;

    scanf("%d", &n);

    for(i=1; i<=n; i++)

        for(j=i; j<=n; j++)

        {

                k=(int)sqrt(i*i+j*j);

                if(k*k==i*i+j*j && k<=n)

                printf("%d %d %d\n", i,j,k);

        }

    return 0;

}

猜你喜欢

转载自blog.csdn.net/weixin_41409140/article/details/88070844