c语言 各符号用法 %*c XTU oj作业 字母倒三角及解析
scanf函数中的格式控制符:%*c
其中%c是读一个字符,而中间的*号是跳过一个字符。意思就是读取一个字符但并不赋值给变量。
下面是详细的格式说明,请参考:
%a-----------------读入一个浮点值(仅C99有效)
%A-----------------同上
%c-----------------读入一个字符
%d-----------------读入十进制整数
%i-----------------读入十进制,八进制,十六进制整数
%o-----------------读入八进制整数
%x-----------------读入十六进制整数
%X-----------------同上
%c-----------------读入一个字符
%s-----------------读入一个字符串
%f-----------------读入一个浮点数
%F-----------------同上
%e-----------------同上
%E-----------------同上
%g-----------------同上
%G-----------------同上
%p-----------------读入一个指针
%u-----------------读入一个无符号十进制整数
%n-----------------至此已读入值的等价字符数
%[]----------------扫描字符集合
%%-----------------读%符号
附加格式说明字符表修饰符
L/l:长度修饰符----输入"长"数据
h:长度修饰符------输入"短"数据
W:整型常数--------指定输入数据所占宽度
*: 星号-----------空读一个数据
ps:回车属于字符!!!!!
//字母倒三角
#include <stdio.h>
int main(int argc, char *argv[]){char c,i,j; int count=1;
scanf("%c%*c",&c); //%*c吃掉回车,否则无法输出字母三角 while(c!='#') {printf("case %d:\n",c); count++;
for(i=c;i>='A';i--) {printf("%*s",c-i,""); //意思是输出c-i个空格 ps:printf("%*s", 10, s); /*意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s", s);*/(*s用法) for(j='A';j<=i;j++) printf("%c",j); for(j-=2;j>='A';j--) //for运行机制 第三个表达式从第一次执行循环开始就在每次循环结束后执行一次 printf("%c",j); printf("\n"); } scanf("%c%*c",&c); } return 0;}

浙公网安备 33010602011771号