「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战」
BC12 字符金字塔
描述
输入一个字符,用它构造一个三角形金字塔。
\
数据范围:保证输入的字符是一个 char 类型的值
输入描述:
输入只有一行,一个字符。
输出描述:
该字符构成的三角形金字塔。
示例1
输入:
1
复制
输出:
1
1 1
1 1 1
1 1 1 1
1 1 1 1 1
#include<stdio.h>
int main()
{
int i,j;
char a=0;
scanf("%c",&a);
for(i=0;i<5;i++)
{
//打印空格
for(j=0;j<4-i;j++)
printf(" ");
//打印1
for(j=0;j<=i;j++)
printf("%c ",a);
printf("\n");
}
}
BC13 ASCII码
描述
BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KiKi,转换以下ASCII码为对应字符并输出他们。
73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33
输入描述:
无
输出描述:
转换输出题目中给出的所有ASCII到对应的字符。
#include<stdio.h>
int main()
{
int i = 0;
int sz = 0;
int arr[] = { 73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116, 33 };
sz = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < sz; i++)
printf("%c", arr[i]);
}
BC14 出生日期输入输出
描述
输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。
数据范围:年份满足 ,月份满足
,日满足
\
输入描述:
输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。
输出描述:
三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。
示例1
输入:
20130225
复制
输出:
year=2013
month=02
date=25
复制
备注:
通过scanf函数的 %m 格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf函数的 %0 格式控制符,输出数值时指定左面不使用的空位置自动填0。
#include<stdio.h>
/*
int main()
{
int a;
int year, month, date;
scanf("%d", &a);
year = a / 10000;
month = (a / 1000 % 10) * 10 + (a / 100 % 10);
date = a % 100;
printf("year=%d\nmonth=%02d\ndate=%02d\n", year, month, date);
}
*/
int main()
{
int year=0;
int month=0;
int day=0;
scanf("%4d%2d%2d",&year,&month,&day);
printf("year=%d\nmonth=%02d\ndate=%02d",year,month,day);
return 0;
}