C语言初学者-基础的三篇代码-3-

C语言初学者-基础的三篇代码-3-

打印菱形

思路

1.运用for循环来实现
2.找出i和j的关系并利用

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
   int line = 0;
   int i = 0;
   scanf("%d", &line);
   for (i = 0; i<line; i++)
   {
      int j = 0;
      for (j = 0; j<line - 1 - i; j++)
        printf(" ");
      for (j = 0; j<2 * i + 1; j++)
        printf("*");
      printf("\n");
    }
    for (i = 0; i<line - 1; i++)
    {
       int j = 0;
       for (j = 0; j<i + 1; j++)
         printf(" ");
       for (j = 0; j<2 * (line - 1 - i) - 1; j++)
         printf("*");
       printf("\n");
     }
    return 0;
}

运行结果
在这里插入图片描述

求Sn=a+aa+aaa+aaaa+aaaaa的前n项之和,其中a是一个数字.

例如:2+22+222+2222+22222

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
   int a = 0;
   int n = 0;
   int i = 0;
   int sum = 0;
   int tmp = 0;
   scanf("%d%d", &a, &n);
   for (i = 0; i<n; i++)
   {
      tmp = tmp * 10 + a;
      sum += tmp;
   }
   printf("sum = %d\n", sum);
   return 0;
}

运行结果
在这里插入图片描述

水仙花数

  • 定义:仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:13+53+33 = 153)。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int main()
{
   int i = 0;
   for (i = 0; i <= 999; i++)
   {
      int count = 1;
      int tmp = i;
      int sum = 0;
      while (tmp / 10)
      {
         count++;
         tmp = tmp / 10;
      }
      tmp = i;
      while (tmp)
      {
          sum += pow(tmp % 10, count);
          tmp = tmp / 10;
      }
      if (sum == i)
      {
         printf("%d ", i);
      }
    }
    system("pause");
    return 0;
}

运行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43214399/article/details/85937425