C语言 使用循环结构编程打印如下图形: * * * * * * * * * * * * * * * * * * * * * * * * *

代码还编译不通过 怎么回事?谢谢
#include <stdio.h>
void main()
{
int i,j,n;
printf("\nPlease Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
}

如果你的代码是直接贴进来的,那么问题出在其中的分号为中文字符。

C语言程序中的中文字符只能出现在注释和字符串中。

把分号全部替换编译没问题的:
#include <stdio.h>
void main()
{
int i,j,n;
printf("\nPlease Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
}

Please Enter n:5
*
***
*****
*******
*********
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-08
记着输入*最多的个数n即可,还可以实现客户重新输入
#include<iostream>
using namespace std;
int main()
{
int i,k,j,n;
char a;
do
{
cout<<"请输入你所要图形*最多为n:";
cin>>n;
for(i=1;i<=n;i++)
{
for(k=1;k<=n-i;k++)
cout<<" ";
{
for(j=1;j<=i;j++)
cout<<" *";
cout<<endl;
}
}
for(i=1;i<=n;i++)
{
for(k=1;k<=i;k++)
cout<<" ";
{
for(j=n-i;j>=1;j--)
cout<<" *";
cout<<endl;
}
}
cout<<"你是否需要继续?(y/n):\n";
cin>>a;
}while(a=='y'||a=='Y');
return 0;
}
第2个回答  2013-02-25
难道你要打一行*是吗???那就:
#include <stdio.h>
void main()
{
int i,j,n;
printf("\nPlease Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("*");
}
第3个回答  2013-02-22
你的编译器是不是C++的 好像现在比较新的编译器上对scanf()函数有点偏见,因为这个函数在读取输入的时候对于处理空格(空格或者回车)追问

是啊 英文版的 可以编译了 输入的时候要选择半角输入法,否则有些符号不能编译通过

第4个回答  2013-02-22
什么图形啊 说清楚追问

程序可以运行了 原来我输个符号不能编译
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *

相似回答