重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
分析:这个题有三个思路,上面也有人提到:直接printf,二维数组,循环前两者比较简单,这里就不多说了。这里使用循环与分支结构完成,代码如下:#include #include #define TotalRow 3#define TotalColumn 7int main (int argc, char *argv[]){ int RowCount = 0, ColumnCount = 0; int HalfPosition = (TotalColumn / 2) + 1; for (RowCount = 1; RowCount
汤原ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
这个可以打印任意行数. #includestdio.h int main(void) { int n = 1; //n 表示行数 int a = 0; //a 用来表示打印”空格“的个数 int b = 0; //b 用来表示打印“*“的个数 int k; /*k 表示该菱形从第1行到结尾的总行数 由图形知它一定是奇数 */ printf("请输入你想要的菱形的总行数(此数应为奇数)\n"); scanf("%d",k); for(;n k / 2 + 2 ;n++) { for(;b n;b++)//此循环用来表示打印*,循环一次表示打印一个* { printf("*"); } a = 0; //在小循环后a b值改变 b = 0; //重新把他们值赋为 0 printf("\n"); //打印换行符 } a = 0; //在大循环后a b值改变 b = 0; //重新把他们值赋为 0 for(;n k + 1;n++) /*这个大循环打印下半部分 的图形(没有把最长的那行包括 在内) */ { for(;b k - n + 1;b++)/*此循环打印* 循环一次打印一个* */ { printf("*"); } a = 0; //在小循环后a b值改变 b = 0; //重新把他们值赋为 0 printf("\n"); //打印换行符 } return 0 ; }
# include stdio.h
void main()
{
int i, j, k;
/* 变量i从0到3,表示所画菱形图的第一至第四行 */
for(i = 0; i = 3; i++)
{
/* 当行数为i时,空格数是i的函数,为2-i个 */
for(j = 0; j = 2-i; j++)
printf(" ");
/* 字母数也是i的函数,为2i+1个 */
for(k = 0; k = 2*i; k++)
printf(1+i); /* 输出数字 */
printf("\n");
}
/* 变量i从0到2,表示所画菱形图的第五至第七行 */
for(i = 0; i = 2; i++)
{
/* 当行数为i时,空格数是i的函数,此时为i个 */
for(j = 0; j = i; j++)
printf(" ");
/* 字母数也是i的函数,此时为4-2*i个 */
for(k = 0; k = 4-2*i; k++)
printf(3-i); /* 输出数字 */
printf("\n");