杭电oj1020为什么错啊?!!!

bupt_ljh 2019-02-10 11:27:42
#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
int N;
cin>>N;

getchar();
int zm;
for(int i=0;i<=N-1;i++)
{
//第一次输入
int num[26]={0};
while((zm=getchar())!='\n')
{

//cout<<zm<<endl;
num[zm-65]++;
}
/*for(int i=0;i<=25;i++)
{
cout<<num[i]<<endl;


}*/
//cout<<"wan";
for(int i=0;i<=25;i++)
{
if(num[i]==0)
{
continue;
}
else if (num[i]== 1)
{
printf("%c", i+65);
}
else if(num[i]!=0&&num[i]!=1)
{
printf("%d%c", num[i],i+'A');
}


}
//if(i!=N-1)
cout << endl;
}

}

...全文
125 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2019-02-11
  • 打赏
  • 举报
回复
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
int N;
int num[26]={0};
int zm;
cin>>N;

getchar();
//memset(num, 0, sizeof(num));
for(int i=0;i<=N-1;i++)
{
//第一次输入
while((zm = getchar()) != '\n')
{

//cout<<zm<<endl;
if (isupper(zm))
num[zm-65]++;
}
/*for(int i=0;i<=25;i++)
{
cout<<num[i]<<endl;


}*/
//cout<<"wan";
for(int i=0;i<=25;i++)
{
if(num[i] == 0)
{
continue;
}
else if (num[i] == 2)
{
printf("%c", i + 65);
}
else if(num[i] != 0 && num[i] != 2)
{
printf("%d%c", num[i] - 1, i + 'A');
}
}
//if(i!=N-1)
cout << endl;
}

}


供参考!
  • 打赏
  • 举报
回复
简单一点:

#include <stdio.h>

int main()
{
int c = 1, p = 0, x;

scanf("%d\n", &x);
while (1)
{
if (scanf("%c", (char *)&x) == EOF) break;
if (x == p) c++;
else
{
if (p)
{
if (c > 1) printf("%d", c);
putchar(p);
}
if (x == 10) puts(""), x = 0;
c = 1, p = x;
}
}

return 0;
}

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧