C语言基础

求水仙花数 1.  【问题描述】编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓  的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。【输入形式】输入一个正整数N。【输出形式】输出从100到N之间的所有水仙花数,每个数以回车结束。【样例输入】 400【样例输出】 153 370 371【样例说明】
摘要由CSDN通过智能技术生成

求水仙花数
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",&

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值