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];
}