gpt4 book ai didi

c - 在 C 中使用 printf 打印空格数

转载 作者:太空狗 更新时间:2023-10-29 16:31:42 24 4
gpt4 key购买 nike

我想知道我该怎么做,在 C 中使用 printf 打印一定数量的空格我在想这样的事情,但我的代码在第一个 printf 语句后没有打印,我的程序编译得很好。我猜我必须打印 N-1 个空格,但我不太确定该怎么做所以。

谢谢。

#include <stdio.h>
#include <limits.h>
#include <math.h>

int f(int);

int main(void){
int i, t, funval,tempL,tempH;
int a;

// Make sure to change low and high when testing your program
int low=-3, high=11;
for (t=low; t<=high;t++){
printf("f(%2d)=%3d\n",t,f(t));
}
printf("\n");
if(low <0){
tempL = low;
tempL *=-1;
char nums[low+high+1];
for(a=low; a <sizeof(nums)/sizeof(int);a+5){
printf("%d",a);
}
}
else{
char nums[low+high];
for(a=low; a <sizeof(nums)/sizeof(int);a+5){
printf("%d",a);
}
}

// Your code here...
return 0;
}


int f(int t){
// example 1
return (t*t-4*t+5);

// example 2
// return (-t*t+4*t-1);

// example 3
// return (sin(t)*10);

// example 4
// if (t>0)
// return t*2;
// else
// return t*8;
}

输出应该是这样的:

   1       6       11      16      21      26     31
| | | | | | |

最佳答案

打印 n 个空格

printf 具有很酷的宽度说明符格式,可让您传递 int 来指定宽度。如果空格数 n 大于零:

printf("%*c", n, ' ');

应该可以解决问题。我也想到你可以对大于或等于零的 n 执行此操作:

printf("%*s", n, "");

打印 1, 6, 11, ... 图案

我仍然不完全清楚你想要什么,但要生成你在帖子底部描述的确切模式,你可以这样做:

for (i=1; i<=31; i+=5)
printf("%3d ", i);
printf("\n");
for (i=1; i<=31; i+=5)
printf(" | ");
printf("\n");

这个输出:

  1     6    11    16    21    26    31   
| | | | | | |

关于c - 在 C 中使用 printf 打印空格数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25609437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com