Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将printfs排列成好看的样子,并将它们排列成一行_C_Format_Printf_Spacing - Fatal编程技术网

C 将printfs排列成好看的样子,并将它们排列成一行

C 将printfs排列成好看的样子,并将它们排列成一行,c,format,printf,spacing,C,Format,Printf,Spacing,你到底是怎么把这些东西排成一行的,我什么都试过了,什么都没变 printf("N Count\n"); printf("---- ------ \n"); for(i = 0 ; i < MAX_ELEMENTS ; i++) { count = getOccur(arr, MAX_ELEMENTS, arr[i]); printf("%1d %1d\n", arr[i], count); } 快把我逼疯了!我不明白!哈哈 编辑整个程序新问题 #include <

你到底是怎么把这些东西排成一行的,我什么都试过了,什么都没变

printf("N Count\n");
printf("---- ------ \n");

for(i = 0 ; i < MAX_ELEMENTS ; i++)
{
    count = getOccur(arr, MAX_ELEMENTS, arr[i]);
    printf("%1d %1d\n", arr[i], count);
}
快把我逼疯了!我不明白!哈哈

编辑整个程序新问题

#include <stdio.h>

#define MAX_ELEMENTS 10


int getOccur(int a[], int num_elements, int value);
void printArr(int a[], int num_elements);

int main()
{
    int arr[MAX_ELEMENTS];
    int trim[MAX_ELEMENTS];
    int count, target, i;
    int j, k, temp;

    for(i = 0 ; i < MAX_ELEMENTS ; i++)
    {
        printf("Enter a variable for the array: ");
        scanf("%d", &arr[i]);
    }

    for (j = 1 ; j <= MAX_ELEMENTS-1 ; j++)
    {
        for(k = 0 ; k <= MAX_ELEMENTS-2 ; k++)
        {
            if(arr[k] > arr[k+1])
            {
                temp = arr[k];
                arr[k] = arr[k+1];
                arr[k+1] = temp;
            }
        }
    }

    printf("%4s %6s\n", " N ", "Count");
    printf("%4s %6s\n", "----", "------");

    for(i = 0 ; i < MAX_ELEMENTS ; i++)
    {
        count = getOccur(arr, MAX_ELEMENTS, arr[i]);
        printf("%3d %4d\n", arr[i], count);
    }
}

int getOccur(int a[], int tally, int value)
{
    int i;
    tally = 0;

    for( i = 0 ; i < MAX_ELEMENTS ; i++)
    {
        if (a[i] == value)
        {
            ++tally;
        }
    }

    return(tally);

}

void printArr(int a[], int amount)
{
    int i;

    for(i = 0 ; i < amount ; i++)
    {
        printf("%d ", a[i]);
    }

    printf("\n");
}    
#包括
#定义最大元素10
int getoccurse(int a[],int num_元素,int value);
void printArr(int a[],int num_元素);
int main()
{
int arr[MAX_元素];
整型修剪[最大元素];
int计数,目标,i;
内j,k,温度;
对于(i=0;i对于(j=1;j这就是您要查找的内容。第一列有四个-因此最小宽度为四,下一列有大小-因此最小宽度为6,如格式字符串中所指定。请参阅手册页

printf("N    Count\n");
printf("---- ------ \n");

for(i = 0 ; i < MAX_ELEMENTS ; i++)
{
  count = getOccur(arr, MAX_ELEMENTS, arr[i]);
  printf("%4d %6d\n", arr[i], count);
}
printf(“N计数\N”);
printf(“----\n”);
对于(i=0;i
编辑

先编辑
printf

printf("%4s %6s\n", " N ", "Count");
printf("%4s %6s\n", "----", "------");

for(i = 0 ; i < MAX_ELEMENTS ; i++)
{
  count = getOccur(arr, MAX_ELEMENTS, arr[i]);
  printf("%4d %6d\n", arr[i], count);
}    
至于寻找独特的元素,蛮力方法类似于

size_t uniqueCount = 0;
int unique[MAX_SIZE];   // needs to be same size as original array in case
                        // all values are unique

for (i = 0; i < MAX_SIZE; i++)
{
  size_t j = 0;
  for (j = 0; j < uniqueCount; j++)
    if (arr[i] == unique[j])
      break;

  if (j == uniqueCount)
    unique[uniqueCount++] = arr[i];
}
size\u t uniqueCount=0;
int unique[MAX_SIZE];//需要与原始数组大小相同,以防
//所有值都是唯一的
对于(i=0;i
对于原始数组中的每个元素,我们扫描(最初为空)
unique
数组。如果在
unique
数组中找不到
a[i]
的值,我们将其添加并递增
uniqueCount


请注意,这种方法效率很低,并且在MAX_元素变大时性能会很差。有更好的解决方案可用,但听起来您仍然处于学习曲线的底部,所以我就不说了。

您提供的代码不会给出您提供的输出!我想这些数字暂时还可以,但是,我如何排列破折号和n和计数?抱歉似乎不能将中间的那一块识别为代码。不知道为什么?我不理解宽度实际上代表什么,它是否意味着像1234和123456?我如何得到第一个2 PROTF语句到位?按空格键!看!above@Sherifftwinkie:当然,什么?好的,我我将编辑我的OP以包含我的整个程序,但我会在这里问这个问题。当我运行我的程序并进行所有输入时,它会打印出我输入的内容及其旁边的匹配项。现在,如果我像“2”一样输入6次,它会打印“2”6次告诉我发生了6次,我只想让它告诉我一次,我该怎么做?!
for (i = 0; i < uniqueCount; i++)
{
  count = getOccur(arr, MAX_ELEMENTS, unique[i]);
  printf("%4d %6d\n", unique[i], count);
}
size_t uniqueCount = 0;
int unique[MAX_SIZE];   // needs to be same size as original array in case
                        // all values are unique

for (i = 0; i < MAX_SIZE; i++)
{
  size_t j = 0;
  for (j = 0; j < uniqueCount; j++)
    if (arr[i] == unique[j])
      break;

  if (j == uniqueCount)
    unique[uniqueCount++] = arr[i];
}