第一题 求1到 100 的所有整数中出现多少个数字9
思路:要判断整数中出现9 的次数,可以将整数的每一位都提出来在依次进行判断,是否为9.
方法:对与一个一位数来说,对10取余数就是它本身。
对于一个两位数来说,提取个位数字:对10取余数,提取十位数字:除以10 ,这样便可以将整数的每一位都取出。
如果是三位数方法也是一样,先取个位数字,然后将三位数转换位两位数字(除10),在取个位,在将两位数字转换位一位数字(除10),取个位。
第二题 用*输出菱形
首先要观察题目给的菱形的行数,然后必须找出每一行空格以及星号数量的规律。
星号数目是2*n-1,空格数是上半部分总行数减去它所在的行号。
下半部分规律:从下半部分开始算起,每行星号数是2*line-2*n-1,空格数目为它所在的行号。
int main()
{
int i = 0;
int j = 0;
int n = 0;
int len = 0;
printf("请输入要打印的菱形上半部分的行数:");
scanf("%d", &len);
for (n = 1; n <= len; n++)//上半部分
{
for (i = 0; i < len - n; i++)
{
printf(" ");
}
for (j = 0; j < 2 * n - 1; j++)
{
printf("*");
}
printf("\n");
}
for (n = 1; n < len; n++)//下半部分
{
for (i = 0; i < n; i++)
{
printf(" ");
}
for (j = 0; j < 2 * len - 2 * n - 1; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
ps:今天事情有点多,就先做两题啦~