问题被写入代码下面输出屏幕需要帮助到格式输出
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
int i,j,x,n,count;
char no[100],no1[100];
printf("Enter an array of numbers:- ");
scanf("%s",no);
strcpy(no1,no);
x = strlen(no);
for(i=0;i<x;i++)
{
count = 0;
for(j=0;j<x;j++)
{
if(no[i]==no1[j])
count++ ;
}
printf("\n\nFrequency of %c is %d",no[i],count);
}
getch();
}
输出:
Enter an array of numbers:- 17485112
Frequency of 1 is 3
Frequency of 7 is 1
Frequency of 4 is 1
Frequency of 8 is 1
Frequency of 5 is 1
Frequency of 1 is 3
Frequency of 1 is 3
Frequency of 2 is 1
/**所以这个问题是它显示了每个的次数和的每个数字字符串。我想要的是它应该忽略重复的数字。 例如这里1有频率3和同一行(1的频率是3)重复3次。 所以我不想重复。
首先,我做这
\\ if(no[i]!=no[i-1])
printf("\n\nFrequency of %c is %d",no[i],count);
它的工作原理,如果重复的数字是连续的,但是没有其他
然后我试图
\\for(n=0;n<i;n++)
\\{
\\if(no[i]!=no[i-n])
printf("\n\nFrequency of %c is %d",no[i],count);
解决方案: -
我安排的字符串按升序排列,并用下面的东西
if(no[i]!=no[i-1])
printf("\n\nFrequency of %c is %d",no[i],count);
输出:
输入数字的阵列: - 1236665554447182999352000
频率的0是3频率1的
是3
2频率的2是3的频率是2
频率4是3
的5频率是4
的6频率是3
的7频率为1
的8频率是1频率的9
是3
你最外层循环应该通过所有可能的数字(0〜9),而不是通过串的元素进行迭代。 –
谢谢你们... 找到解决方案。问题解决了 – user3138350