c语言爱心代码编译不出来
㈠ 求一个c语言程序能输出一个大的爱心;用符号拼成的不能用printf。
在C语言中,可以通过编程实现输出一个大的爱心形状。这里提供两个示例,一个为实心爱心,另一个为空心爱心,具体代码如下:
实心爱心:
#include
int n;
void draw(int n) {
int i,j;
for (i=1-(n>>1);i<=n;i++) {
if (i>=0) {
for (j=0;j<2*(n-i)+1;j++) {
putchar(" *");
}
putchar("\n");
}
else {
for (j=i;j<0;j++) {
putchar(" ");
}
for (j=1;j<=n+2*i+1;j++) {
putchar(" *");
}
for (j=1;j<=-1-2*i;j++) {
putchar(" ");
}
for (j=1;j<=n+2*i+1;j++) {
putchar(" *");
}
putchar("\n");
}
}
}
int main() {
printf("Please input the size (n>=4):");
scanf("%d",&n);
draw(n);
return 0;
}
空心爱心:
#include
int n;
void draw(int n) {
int i,j;
for (i=1-(n>>1);i<=n;i++) {
if (i>0) {
for (j=0;j<2*(n-i)+1;j++) {
if (j==1||j==2*(n-i)+1) {
putchar(" *");
} else {
putchar(" ");
}
}
putchar("\n");
}
else if (i==0) {
putchar(" *");
for (j=1;j<2*n+1;j++) {
putchar(" *");
}
putchar(" *\n");
}
else {
for (j=i;j<0;j++) {
putchar(" ");
}
if (i==1-(n>>1)) {
putchar(" *");
}
for (j=1;j<=n+2*i+1;j++) {
if (i==1-(n>>1)) {
putchar(" *");
} else if (j==1||j==n+2*i+1) {
putchar(" *");
} else {
putchar(" ");
}
}
for (j=1;j<=-1-2*i;j++) {
putchar(" ");
}
if (i==1-(n>>1)) {
putchar(" *");
}
for (j=1;j<=n+2*i+1;j++) {
if (i==1-(n>>1)) {
putchar(" *");
} else if (j==1||j==n+2*i+1) {
putchar(" *");
} else {
putchar(" ");
}
}
putchar("\n");
}
}
}
int main() {
printf("Please input the size (n>=4):");
scanf("%d",&n);
draw(n);
return 0;
}
这两个代码示例可以根据需要调整爱心的大小,输入相应的整数值即可生成不同的爱心形状。
在编程实现时,需要注意循环变量的初始化和终止条件,以及正确的输出格式。通过合理设置循环条件和输出内容,可以实现各种形状的爱心输出。
以上代码在编译和运行时,需要确保编译器支持C99标准或更高版本。同时,输入的数值必须大于等于4,以确保爱心形状的完整性。
㈡ C语言怎么打出一个大爱心的图形呀
我这个就是在VC++6.0下写的,你应该能打出来(几年前写的)——
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="IloveyouIloveyouIloveyouIl",m[4],i;
printf(" ");
printf("%*.*s ",58,21,"_*=__=*_");
printf("%*.*s ",61,25,"IloveyouIlove!");
printf("%*.*s ",63,29,"IloveyouIloveyouIlove");
printf("%*.*s ",65,33,a);
printf("%*.*s ",66,35,a);
printf("%*.*s ",66,35,a);
printf("%*.*s ",65,33,a);
printf("%*.*s ",64,31,a);
printf("%*.*s ",63,29,a);
printf("%*.*s ",61,25,a);
printf("%*.*s ",59,21,a);
printf("%*.*s ",57,17,a);
printf("%*.*s ",55,13,a);
printf("%*.*s ",53,9,a);
printf("%*.*s ",51,5,a);
printf("%*.*s ",50,3,a);
printf("%*.*s ",49,1,a);
return0;
}
运行结果:
㈢ C语言编译的时候出错,没显示代码上的问题,但就是编译不了,可能是哪里出错了
在进行C语言编译时,如果遇到无法编译的问题,且没有直接指出代码上的错误,可能是由多种原因造成的。例如,这里有一个常见的错误:scanf函数中的取地址符号(&)被遗漏了。正确的写法应为scanf("%d",&a); 如果你在使用某些编译器时遇到了问题,可能会看到类似的提示,如scanf_s("%d",&a); 这是Windows环境下对scanf的一个安全替代。
除了取地址符号的遗漏,还有其他可能的原因导致编译失败。例如,可能存在中文路径的问题,这会干扰编译过程。此外,工程文件的创建也可能存在问题。例如,如果你使用的是Visual Studio,确保你已经正确设置了项目配置,包括编译选项和链接器设置。检查路径是否正确,确保所有必要的库和头文件都能被正确找到。
解决这类问题的方法包括:首先,仔细检查代码中的每个符号,确保没有遗漏任何重要细节。其次,检查编译器设置,确保所有必要的编译选项都已启用。再次,确保项目路径是英文的,避免使用中文路径。最后,检查项目配置中的所有设置,确保它们与你的开发环境兼容。
如果你仍然遇到问题,可以尝试重新创建项目,确保从头开始设置所有必要的配置。有时候,简单的重新启动编译器或IDE也能解决问题。
㈣ C语言程序对,但是编译不出来是怎么回事
编译出来只说明程序没有语法错误,不说明没有逻辑错误,有错误一般会有屏幕输出,此其一。第二,可以在程序中设定一些输出语句或断点观察。第三如果程序不输入、输出内容,程序执行是当然看不见东西(不直观)。第三如果程序一值运行无法退出,说明存在“死循环”。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。