編程寫愛心
❶ 求一個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,以確保愛心形狀的完整性。