这次让小编带大家探索特殊整数求和与方形图案
1特殊整数求和9
#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回文整数求和(写函数求解)
#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输出方形图案
//输出方形图案,可以用二维数组法,也可以用循环输出;下次的旋转百花就一定要用二维数组
#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输出菱形
#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;
}