(C语言)经典例题之特殊整数求和与方形图案

简介: (C语言)经典例题之特殊整数求和与方形图案

这次让小编带大家探索特殊整数求和与方形图案


1特殊整数求和9

1669390280824.jpg

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
  int n, m = 0, a, j, k = 0, l = 0, s = 0;
//定义变量
  int arr[1000] = { 0 };
//初始化数组为0;将符合题目的数存进数组,并设置l为计数器,k是数组下标
  scanf("%d", &n);
  int i = 99;
//99之后才会有整数有两个9以上
  for (i = 99; l < n; i++)
  {
  a = i;
  while (a)
  {
    j = a % 10;
    a = a / 10;
    if (j == 9) m++;
//判断
  }
//对10取余,并且每轮除10
  if (m >= 2)
  {
    arr[k] = i;
    l++;
    k++;
  }
  m = 0;
  }
  for (i = 0; i < n; i++)
  s = s + arr[i];
//s计算每轮的和
  printf("%d ", s);
  return 0;
}


2回文整数求和(写函数求解)


1669390327559.jpg


#include<stdio.h>
//写一个回文函数,判断是否是回文,如果是,return 1;
int huiwen(int n)
{
  int t, m = 0;
  t = n;
//t代替n值
  do
  {
  m = m * 10 + t % 10;
  t = t / 10;
  } while (t != 0);
// do while 来先判断是否是回文
//因为0到9也是回文,所以要先做循环,再判断
  if (m == n) return 1;
  else return 0;
}
int main()
{
  int n, i, sum=0;
  int l = 0;
  scanf("%d", &n);
//l当计数器
  for (i = 1; l < n; i++)
  {
  if (huiwen(i))
  {
    sum = sum + i;
    l++;
  }
  }
  printf("%d ", sum);
  return 0;
}


3输出方形图案


1669390457134.jpg


//输出方形图案,可以用二维数组法,也可以用循环输出;下次的旋转百花就一定要用二维数组
#include<stdio.h>
int main()
{
  int i, j, n, a, k, y;
  scanf("%d", &n);
  a = n;
i代表行数,j代表列数
  for (i = 0; i < a; i++)
  {
  for (j = 0; j < i; j++)
//ASCII码中90就代表Z
//当列数j大于26时,需要控制它,折回来取A
    printf("%c", 90 - j % 26);
  for (k = 0; k < 2 * n - 1; k++)
    printf("%c", 90 - i % 26);
  y = i;
  for (j = 2 * n - 1; j > 2 * n - 1 - i; j--)
  {
    printf("%c", 90 - ((y - 1) % 26));
    y--;
  }
  printf("\n");
  n--;
  }
//四层for循环打印上部分
  for (i = a - 1; i > 0; i--)
  {
  for (j = 0; j < i; j++)
    printf("%c", 90 - j % 26);
  for (j = i; j < 2 * a - 1 - i; j++)
    printf("%c", 90 - ((i - 1) % 26));
  y = i;
  for (j = 2 * a - 1 - i; j < 2 * a - 1; j++)
  {
    printf("%c", 90 - ((y - 1) % 26));
    y--;
  }
  printf("\n");
  }
  return 0;
}


4输出菱形


1669390487180.jpg


#include<stdio.h>
int main()
{
  char a = 'Z';
  int n, i, j, k;
  scanf("%d", &n);
  for (i = 0; i < n; i++)
  {
  for (j = 0; j <= 2*n-2+2*i; j++)
  {
    if (j == 2 * n - 2 - 2 * i || j == 2 * n - 2 + 2 * i)
    {
    printf("%c", a);
    a--;
    if (a < 65) a = 90;
    }
    else
    {
    printf(" ");
    }
  }
  printf("\n");
  }
  for (i = n - 2; i >= 0; i--)
  {
  for (j = 0; j < 2*n+2*i-1 ; j++)
  {
    if (j == 2 * n-2 - 2 * i || j == 2 * n - 2 + 2 * i)
    {
    printf("%c", a);
    a--;
    if (a < 65) a = 90;
    }
    else printf(" ");
  }
  printf("\n");
  }
  return 0;
}
相关文章
|
2月前
|
编译器 C语言
C语言中整数如何自动转换为浮点数
C语言中整数如何自动转换为浮点数
86 0
|
2月前
|
存储 C语言
C语言中如何选择合适的方式将整数转换为浮点数
C语言中如何选择合适的方式将整数转换为浮点数
162 0
|
4月前
|
C语言
C语言写整数类(Integer)
C语言写整数类(Integer)
28 0
|
4月前
|
C语言
C语言程序编写:编写程序数一下 1到 100 的所有整数中出现多少个数字9
C语言程序编写:编写程序数一下 1到 100 的所有整数中出现多少个数字9
27 0
|
5月前
|
C语言
c语言编程练习题:7-9 求整数均值
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内
27 0
|
12天前
|
C语言
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
|
16天前
|
存储 编译器 C语言
C语言基础知识:数据在内存中的存储解析(整数,浮点数)
C语言基础知识:数据在内存中的存储解析(整数,浮点数)
|
5月前
|
C语言
c语言编程练习题:7-37 输出整数各位数字
c语言编程练习题:7-37 输出整数各位数字
28 1
|
5月前
|
C语言
c语言编程练习题:7-28 求整数的位数及各位数字之和
c语言编程练习题:7-28 求整数的位数及各位数字之和
28 0
|
2月前
|
C语言
【C语言】求一个整数的二进制序列中1的个数的三种方法
【C语言】求一个整数的二进制序列中1的个数的三种方法
15 0