怎么用c语言输出一个由A组成的大A

Python038

怎么用c语言输出一个由A组成的大A,第1张

#include<stdio.h>

#include<stdlib.h>

int main()

{

const char ch='A'

int i,line=37,ls=line/2

for(ls=line/2ls>=0ls--)

{

for(i=0i<lsi++)

{

printf(" ")

}

printf("%c",ch)

if(ls+1<=line/2)

{

for(i=0i<line-2*ls-2i++)

{

if(ls==line/4)

{

printf("%c",ch)

}

else

{

printf(" ")

}

}

printf("%c",ch)

}

printf("\n")

}

system("PAUSE")

return EXIT_SUCCESS

}

C语言中大写字母变为相应的小写字母有多种实现方式,如有一个变量a存储了一个大写字母,则

方式1:直接用大写字母加上大写字母与小写字符的ascii码差值32,如a=a+32即为对应的小写字母;

方式2:如果不记得这个差值是多少,可以直接用该大写字母减去'A'然后再加上'a'即可,如a=a-'A'+'a'即为对应的小写字母;

方式3:直接使用函数tolower进行转换,该函数在头文件#include <ctype.h>中,如a=tolower(a)

本程序最后输出的A是小写,不是大写。

这句条件语句是关键性的:

if(p[i]==' '&&islower(p[i-1])) p[i-1]=p[i-1]-'a'+'A'

这句条件语句的意思是: 如果 本字符是 空格,前面一个字符 是小写字母,那么把前面那个小写字母改变成 大写字母。其余不变。

(小写字母与大写字母 编码之差 是 'a'-'A'). 小写变大写 是 p[i-1]=p[i-1]-'a'+'A'

字符串 "ab cd EFG!" 中满足 条件的 是 b 和 d, 所以程序输出: aB cD EFG!

里面的a是小写。