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;
}