(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;
}
相关文章
|
4月前
|
C语言
【C语言刷题每日一题#牛客网BC6】输入三个整数,输出第二个整数
【C语言刷题每日一题#牛客网BC6】输入三个整数,输出第二个整数
|
4月前
|
C语言
C语言:从键盘读入三个整数,按从大到小输出
C语言:从键盘读入三个整数,按从大到小输出
|
4月前
|
机器学习/深度学习 人工智能 C语言
|
4月前
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
4月前
|
C语言
【C语言刷题每日一题#牛客网BC68】——X形图案
【C语言刷题每日一题#牛客网BC68】——X形图案
|
4月前
|
C语言
【C语言刷题每日一题#牛客网BC69】——空心正方形图案
【C语言刷题每日一题#牛客网BC69】——空心正方形图案
|
4月前
|
C语言
【C语言刷题每日一题】——求1到100中包含数字9的整数的个数
【C语言刷题每日一题】——求1到100中包含数字9的整数的个数
|
4月前
|
机器学习/深度学习 移动开发 人工智能
C语言程序设计例题
C语言程序设计50例
|
4月前
|
机器学习/深度学习 移动开发 人工智能
C语言编程例题分享
C语言编程经典100例
|
4月前
|
C语言
【C语言刷题系列】交换整数的奇数位和偶数位
【C语言刷题系列】交换整数的奇数位和偶数位