C语言 输出正方形,不知道哪错了,求解

#include"stdio.h"
main()
{
int n,i=1,k=1;
scanf("%n",&n);
for (k=1;k<=n;k++)
{
while(i<=n)
{ printf("*");
i++;
}
}
}

第1个回答  2013-04-10
scanf里面如果想读进一个数字应该用%d
你的while里面没有输出一个回车,怎么可能是正方形呢
你就是输出了n*n个星号,你需要在while的外面printf("\n")打印一个回车
第2个回答  2013-04-10
把scanf("%n",&n);中的%n改成%d;
在i++后的}后加两句:
printf("\n");
i=1;
就OK了。原因自己看……
第3个回答  2013-04-10
scanf("%n",&n);

没有%n的用法

你的程序不能输出正方形追问

好吧...我把n改成了d,但还是输出的一排星星,没有输出正方形的星星

追答

#include"stdio.h"
main()
{
int n,i=1,k=1;
scanf("%d",&n);
for (k=1;k<=n;k++)
{
i=1;//要重新赋值,因为while中会改变i的值
while(i<=n)
{ printf("*");
i++;
}
printf("\n"); //要换行
}
}

本回答被提问者采纳
第4个回答  2013-04-10
#include"stdio.h"
main()
{
int n,i=1,k=1;
scanf("%d",&n);
while(i<=n)
{
printf(" *");
i++;
}
printf("\n");
i=1;
while(i<=n-2)
{
printf(" *");
for(int j=1;j<=n-2;j++)
printf(" ");
printf(" *");
printf("\n");
i++;
}
i=1;
while(i<=n)
{
printf(" *");
i++;
}
printf("\n");
}
//有时间的话可以看看这个
第5个回答  2013-04-10
#include <stdio.h>
int main()
{
int n,i,k=1;
scanf("%d",&n);
for (k=1;k<=n;k++)
{
if(k==1||k==n)
{
for(i=0;i<n;i++)
printf("* ");
printf("\n");
}
else
{
printf("* ");
for(i=0;i<n-2;i++)
printf(" ");
printf("* ");
printf("\n");
}
}
return 0;
}

C语言 输出正方形,不知道哪错了,求解
你的while里面没有输出一个回车,怎么可能是正方形呢 你就是输出了n*n个星号,你需要在while的外面printf("\\n")打印一个回车

C语言 输出正方形,不知道哪错了,求解
\\r\\nlz可能搞混了一些概念(这是使用ide的初学者常犯的)\\r\\nc语言必须编译成可执行文件才可运行,也就是必须要编译器(这个解释器在这里没用)。、\\r\\nlz将ide与编译器混为一谈,实际编译器只是被ide调用而已,不属于ide本身\\r\\nlz的问题是:不用ide如何编写、运行程序吧。\\r\\n可以使用命令...

C语言关于编空心正方形的程序,高手帮我看看哪错了
其实思路很简单,先判断输入的数字是不是大于2 若大于2就输出 第一行 N 个"*"和一个"\\n"然后N-2行输出 一个"*" N-2个" " 一个"*" 一个"\\n"最后一行 N 个"*"和一个"\\n"若等于1 就输出 一个 "*"

C语言编写一个程序输出一个正方形
思路:输出正方形即输出正方形的外围就行,外围有个特点就是行列下标必有0或者是正方形的大小减一,输入一个n表示正方形大小,输出一个由*组成的正方形。参考代码:include <stdio.h>int main(){int i,j,n;scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<n;j++){if(i==0||i==n...

C语言编程:从键盘输入一个正方形的边长,求出它的面积并输出。
回答:#include<stdio.h>int main(){int a;a:printf("请输入正方形边长:");scanf("%d",&a);a*=a;printf("正方形边长为:%d\\n",a);system("pause");system("cls");goto a;}

C语言编写一个程序输出一个正方形
j if(i==0||i==n-1||j==0||j==n-1) printf("*"); else printf(" "); } printf("\\n"); } return 0; }\/*输出:5*** ** ** ***\/

C语言编写输出图正方形
根据题意可得代码:include<stdio.h>int main(){ int i, j; for (i = 0; i < 5; ++i){ if (i==0||i==4){ for (j = 0; j < 5; j++){ printf ("* "); } printf ("\\n"); } else { for (j = 0; j < 5; j++){ if (j ...

怎样用C语言用*号输出个正方形边框,求程序
include "stdio.h"int main(){ int n,i,j; scanf("%d",&n); for(i=0;i<n;i++) { if(i==0 || i==n-1) { for(j=0;j<n;j++) printf("*"); printf("\\n"); } else { printf("*"); for(j=0;j<n-2;j++) printf...

C语言编程编程给定整数n输出由字符*组成的空心正方形
int n;scanf("%d",&n);int i;for(i=0;i<n;i++){ printf("*");if(i==n-1){printf("\\n");} } for(i=0;i<n-2;i++){ int x;for(x=0;x<n;x++){ if(x==0||x==n-1){printf("*");} else{printf(" ");} if(x==n-1){printf("\\n");} } } for(i=0...

如何用c语言编写一个正方形程序?
在C语言中,你可以使用循环结构来编写一个打印正方形的程序。以下是一个简单的示例,它使用嵌套的for循环来打印一个具有指定边长的正方形:include <stdio.h> int main() { int side;\/\/ 询问用户输入正方形的边长 printf("请输入正方形的边长:");scanf("%d", &side);\/\/ 使用嵌套的for循环打印...

相似回答