有关c语言的试题我不会作,就请大家帮帮忙啊,谢谢了,最好告诉我思路哦,谢过!

输出如下图形:
* *
*** ***
***** --- *****
***************
*************
***********
*********
*******
*****
***
*
要求:1.使用函数编号,图形上半部份为fshang(),下半部分为fxia()
2.输出时需用循环结构编写,不得单纯使用printf(),否则不得分
3.输出图形后,按图形顺序输出每一个字符的ASCII码
我真希望谁能帮忙

第1个回答  2009-06-22
#include <stdio.h>

main ()
{

int numberOfCharInARow = 15;
// 是否输出ASCII码
int printInASCII = 0;

// 画第1行
int i = 0;
for (i=0; i<numberOfCharInARow; i++) {
int charascii = 32;
if (i == 2 || i == 13) {
charascii = 42;
}
if (printInASCII == 1)
printf("%d", charascii);
else
printf("%c", charascii);
}
printf("\n");

// 画第2行
i = 0;
for (i=0; i<numberOfCharInARow; i++) {
int charascii = 32;
if (i >= 1 && i <= 3) {
charascii = 42;
} else if (i >= 12 && i <= 15) {
charascii = 42;
}
if (printInASCII == 1)
printf("%d", charascii);
else
printf("%c", charascii);
}
printf("\n");

// 画第3行
i = 0;
for (i=0; i<numberOfCharInARow; i++) {
int charascii = 32;
if (i >= 0 && i <= 4) {
charascii = 42;
} else if (i >= 10 && i <= 15) {
charascii = 42;
} else if (i >= 6 && i <= 8) {
charascii =95;
}
if (printInASCII == 1)
printf("%d", charascii);
else
printf("%c", charascii);
}
printf("\n");

// 其余的
i = 0;
int lowerx = 0;
int upperx = 15;
int bottomRowsCount = 8;
while (bottomRowsCount-- > 0) {
for (i=0; i<numberOfCharInARow; i++) {
int charascii = 32;
if (i >= lowerx && i < upperx) {
charascii = 42;
}
if (printInASCII == 1)
printf("%d", charascii);
else
printf("%c", charascii);
}
printf("\n");

i = 0;
lowerx++;
upperx--;
}

return 0;
}
第2个回答  2009-06-19
朋友你放心吧,不会有人回答的. 因为没人去数你那*有多少个. 那么小谁看的清楚.
相似回答