c – 为重复字符打印星号的算法
发布时间:2020-12-16 10:09:42 所属栏目:百科 来源:网络整理
导读:我在接受采访时被问到这个问题: 给定带有输入字符串的数组,显示输出,如下所示 输入 INDIA 产量 INDA **** * 我遍历数组并将每个字符存储为std :: map中的键,其值为出现次数.稍后我迭代地图并打印星号并减少每个角色的地图值. 最初,我被要求不使用任何库.我
我在接受采访时被问到这个问题:
给定带有输入字符串的数组,显示输出,如下所示 输入 INDIA 产量 INDA **** * 我遍历数组并将每个字符存储为std :: map中的键,其值为出现次数.稍后我迭代地图并打印星号并减少每个角色的地图值. 最初,我被要求不使用任何库.我给出了一个需要大量迭代的解决方案.对于每个字符,迭代完整数组直到索引以查找先前出现的事件,依此类推. 解决方法
这是另一个:
你可以看到它工作 HERE #include <stdio.h> int main() { int i,j=0,f=1; char input[50]={'I','N','D','I','A','N'}; char letters[256]={0}; int counter[256]={0}; for(i=0;i<50;i++) { if(input[i]) counter[input[i]]++; if(counter[input[i]]==1) { putchar(input[i]); letters[j]=input[i]; j++; } } putchar('n'); while(f) { f=0; for(i=0;i<j;i++) if(counter[letters[i]]) { putchar('*'); counter[letters[i]]--; f=1; } else { putchar(' '); } putchar('n'); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |