PTA实验4

在前面我要说一下,我写的时候是在VS2017上写的,有些代码可能需要读者自己改一下(我尽量不出现这样的错误吧),另外我也是边写边改,上面有很多注释掉的是草稿,(emmmm就是因为我太菜了所以要弄成这样)当然,这些程序放PTA上面肯定是可以过的(如有例外还请读者大老爷提出意见和建议,留言)

欢迎交流试题答案(如有我未写到的可以补充噢,我会注明提供源的)

7-1 【C0139】输出所有的水仙花数 (10分)

若一个三位数等于其各位上数字的立方和,则称这个三位数为水仙花数。编写一个程序,输出所有的水仙花数。

输入格式:
无输入
输出格式:
按照从小到大的顺序输出所有水仙花数,一行输出一个数。
输入样例:
在这里给出一组输入。例如:

输出样例:
在这里给出相应的输出。例如:
153
370
371
407

#include <stdio.h>
#include <math.h>
int main()
{
     
  int i, g, s, b, sum;
  for (i = 100; i <= 999; i++)   
   {
          g = i % 10;//取个位数
           s = (i / 10) % 10;//取十位数
           b = i / 100;//取百位数   
           sum = pow(g, 3) + pow(s, 3) + pow(b, 3);//求和
        if (i == sum)
                {
               printf("%d\n", i);        }
    }
    return 0;}

7-2 【C0140】输入两个整数,用辗转相除法计算其最大公约数和最小公倍数 (10分)

编写一个程序,输入两个整数,用辗转相除法计算其最大公约数和最小公倍数。

输入格式:
在一行中输入两个以逗号为间隔的整数。
输出格式:
以逗号为间隔输出这两个整数的最大公约数和最小公倍数。
输入样例:
在这里给出一组输入。例如:
24,36

输出样例:
在这里给出相应的输出。例如:
12,72

#include "stdio.h"
#include "math.h"
int main()
{
   
 int a, b,c,A,B;
 scanf("%d,%d", &a, &b);
 A = a; B = b;//保留原数值
 if (a <= b)
 {
   a = a; b = b;}
 else
 {
   c = a; a = b; b = c;}
 while (a>0)
 {
   
  c = b % a;
  b = a; a = c;
 }
 printf("%d,%d", b, A*B / b);
 return 0;
}

7-3 【C0141】计算阶乘和 (10分)

编写一个程序,计算s=1!+2!+3!+…+n!。其中!为阶乘运算,n由输入决定。

输入格式:
输入正整数n。
输出格式:
输出1!+2!+3!+…+n!的值。
输入样例:
在这里给出一组输入。例如:
3

输出样例:
在这里给出相应的输出。例如:
9

#include "stdio.h"
#include "math.h"
int main
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值