【项目1-函数版星号图】
这一组的练习意在通过调用函数输出星号图,体会与理解函数的工作过程,并为其后编制自定义函数实现特定功能。
(1)补充完下面的程序,使程序输出星号下面的星号图:
#include <stdio.h> void printstars(int m) //定义能输出一行m个星号的函数 { int j; for (j=1; j<=m; ++j) printf("*"); } int main( ) { int n=6; //n代表要输出的行数 int i; for(i=1; i<=n; ++i) { //请在下面写上调用printstars函数的语句,使程序输出右图 ______________________; printf("\n"); } return 0; }
[参考解答]
#include <stdio.h> void printstars(int m) //定义能输出一行m个星号的函数 { int j; for (j=1; j<=m; ++j) printf("*"); } int main( ) { int n=6; //n代表要输出的行数 int i; for(i=1; i<=n; ++i) { //请在下面写上调用printstars函数的语句,使程序输出右图 printstars(2*i-1); printf("\n"); } return 0; }
(2)根据main函数中对printchs函数的调用,以及printchs的功能要求,编写printchs函数,使下面的程序能输出星号图:
//调用函数printchs输出星号图 #include <stdio.h> //在下面写printchs函数的定义,功能是输出一行若干个指定字符 int main( ) { int n=6; //n代表要输出的行数 int i; //通过在下面的循环里调用printchs函数,输出右面的图 for(i=1; i<=n; ++i) { printchs(n-i,' '); printchs(2*i-1,'*') ; printf("\n"); } return 0; }
[参考解答]
//调用函数printchs输出星号图 #include <stdio.h> //在下面写printchs函数的定义,功能是输出一行若干个指定字符 void printchs(int n, char c) { int j; for (j=1; j<=n; ++j) printf("%c", c); } int main( ) { int n=6; //n代表要输出的行数 int i; //通过在下面的循环里调用printchs函数,输出右面的图 for(i=1; i<=n; ++i) { printchs(n-i,' '); printchs(2*i-1,'*') ; printf("\n"); } return 0; }
(3)在上面的程序中,只改动一处,输出下面的图形
[参考解答]
#include <stdio.h> //在下面写printchs函数的定义,功能是输出一行若干个指定字符 void printchs(int n, char c) { int j; for (j=1; j<=n; ++j) printf("%c", c); } int main( ) { int n=6; //n代表要输出的行数 int i; for(i=1; i<=n; ++i) { printchs(n-i,' '); printchs(2*i-1,'A'+i-1) ; //输出的符号,与i相关 printf("\n"); } return 0; }
(4)利用printchs函数,再实现以前写过的其他星号图,体会定义函数带来了的好处。
[参考解答(无)]
时间: 2024-07-28 13:12:03