素数输出后边的空格要怎么删除?
写了好多题输出都不知道要咋消空格,问了几种方法有时候也使不上,大佬帮忙解决的时候能否顺便说下思路代码是下边这个100到200之间的素数,我想要最后的输出结果101后边没有空格,最前边也不能有麻烦了!
#include <stdio.h>
int main()
{
int i,n;
for(n=200;n>=100;n--)
{
for(i=2;i<=n;i++)
{
if(n%i==0)
break;
}
if(i==n)
printf("%d ",n);
}
return 0;
} #include <stdio.h>
void output(int arr[], size_t height, size_t width)
{
static char separator = {'\0', '\0'};
for(size_t y = 0; y < height; ++y)
{
for(size_t x = 0; x < width; ++x)
{
printf("%s%d", separator, arr);
separator = ' ';
}
separator = '\0';
printf("\n");
}
}
int main(void)
{
int arr = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}};
output((int *)arr, 3, 5);
return 0;
}
printf("%d ",n);把输出语句的空格去掉 ,改为printf("%d",n); 为什么要删呢? 很久之前遇到过类似的问题,因为太过久远,已经不记得出处了
大体上就是上面那个样子
我隐约记得之前的那个问题是添加逗号,要求就是尾部不能有,开头不能有,和这个问题很类似
#include <stdio.h>
void output(int arr[], size_t height, size_t width)
{
static char separator = {'\0', '\0'};
for(size_t y = 0; y < height; ++y)
{
for(size_t x = 0; x < width; ++x)
{
printf("%s%d", separator, arr);
separator = ',';
}
separator = '\0';
printf("\n");
}
}
int main(void)
{
int arr = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}};
output((int *)arr, 3, 5);
return 0;
}
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
请按任意键继续. . .
页:
[1]