for ..编程,从键盘输入一字符串,把该字符串中重复的字符保留最前一个,删去以后其余的,即某个字符出现n个,则删去后n

for ..
编程,从键盘输入一字符串,把该字符串中重复的字符保留最前一个,删去以后其余的,即某个字符出现n个,则删去后n-1个,最后输出处理后的该字符串.例如,
输入:1a2a1b1c2b3a#2b3b%2c1d2d3c*3d&#
输出:1a2bc3#%d*&
#include "stdio.h"
main()
{ char s[81],t[81]={0};
int i,j,k;
gets(s);
for(k=i=0;s[i];i++)
{ for(j=i-1;j>=0;j--)
if(s[i]==s[j]) break;
if(j
拳击拳击 1年前 已收到2个回答 举报

创意无价 春芽

共回答了16个问题采纳率:93.8% 举报

其实就是 i每自加一次就把 s[]数组中 i 位置的数和 i位置之前的字符比较一下(通过第二层for循环实现的),如果有就表示已经出现过,那么就跳出第二个for循环,如果没有那么就放到 t[]数组里,整个t[]数组放的都是不重复的字符

1年前

4

czy1232005 幼苗

共回答了1个问题 举报

for的第二个条件j>=0决定如果是-1第二个for是不会运行的,i没循环一次会加1,k用来标记输出数组的下标的,每出现一次会加1。

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.074 s. - webmaster@yulucn.com