求水仙花数
1. 【问题描述】编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓 的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。
【输入形式】输入一个正整数N。
【输出形式】输出从100到N之间的所有水仙花数,每个数以回车结束。
【样例输入】
400
【样例输出】
153
370
371
【样例说明】输入一个的正整数400,输出为100~400之间的水仙花数153,370,371
【评分标准】结果完全正确得20分,每个测试点4分。提交程序名为:shuixianhua.c。
#include <stdio.h>
int test(int num);
#define threetimes(n) ((n)*(n)*(n))
main()
{
int i,max,shui[1024],j;
scanf("%d",&max);
for(i=153,j=0;i<=max;i++)
{
if(test(i)==1)
{
shui[j]=i;
j++;
}
}
for(i=0;i<j;i++)
{
printf("%d/n",shui[i]);
}
}
int test(int i)
{
int ge,shi,bai,lifanghe;
ge=i%10;
shi=(i%100-ge)/10;
bai=(i-shi*10-ge)/100;
lifanghe = threetimes(ge)+ threetimes(shi)+ threetimes(bai);
if (lifanghe == i) {
return 1;
} else {
return 0;
}
}
时钟指针
2. 【问题描述】普通时钟都有时针和分针,在任意时刻时针和分针都有一个夹角,并且假设时针和分针都是连续移动的。现已知当前的时刻,试求出该时刻时针和分针的夹角A(0≤A≤180)。
注意:当分针处于0分和59分之间时,时针相对于该小时的起始位置也有一个偏移角度。
【输入形式】从标准输入读取一行,是一个24小时制的时间。格式是以冒号(“:”)分隔的两个整数m(0≤m≤23)和n(0≤n≤59),其中m是小时,n是分钟。
【输出形式】向标准输出打印结果。输出一个浮点数A,是时针和分针夹角的角度值。该浮点数保留3位小数值。
【输入样例】
8:10
【输出样例】
175.000
【样例说明】8:10那个时刻时针与秒针的夹角是175.000度
【评分标准】结果完全正确得20分,每个测试点4分。提交程序名为:clock.c。
#include <stdio.h>
main()
{
float finalDegree,fenDegree,shiDegree,shiPianYiDegree,shi,fen;
scanf("%f:%f",&