pig,应该按p一次,i应该按三次,g应该按一次
所以输出的时候应该为p1i3g1;
代码:
#include<iostream> //做到,每个字符给他加上一个其他的变量
#include<stdio.h>
#include<cstring>
using namespace std;
struct word
{
char a;
int b;
}word1[999];
int main()
{
int t,n,i,j;
cin>>t;
getchar(); //getchar(),因为接下来输入的是字符,所以,要用getchar(),不管是scanf还是cin都要用getchar()
while(t--)
{
for(i=1;;i++)
{
//cin>>word1[i].a;
scanf("%c",&word1[i].a); //scanf可以接受enter键,而cin则不可以,所以如果cin的话,则输入无尽止了
if(word1[i].a<'a'||word1[i].a>'z')break; //输入的不是整个字符串,而是一个一个的输入字符,看一下怎么输入结束,(这里必须要用scanf了,而不能用cin因为吸收不了了enter键)
if(word1[i].a==115||word1[i].a==121)word1[i].b=4; //这里像是有好多数字而且有些规律的,就要用规律写,不然的话就太繁琐了
else if((word1[i].a+2)%3==0)word1[i].b=1;
else if((word1[i].a+1)%3==0)word1[i].b=2;
else if(word1[i].a%3==0)word1[i].b=3;
}
/* i=1; //输入用下面这个也可以
while(1)
{
scanf("%c",&word1[i].a);
if(word1[i].a<'a'||word1[i].a>'z') break;
if(word1[i].a==115||word1[i].a==121)word1[i].b=4;
else if((word1[i].a+2)%3==0)word1[i].b=1;
else if((word1[i].a+1)%3==0)word1[i].b=2;
else if(word1[i].a%3==0)word1[i].b=3;
i++;
}*/
for(j=1;j<i;j++)
{
cout<<word1[j].a<<word1[j].b;
}
cout<<endl;
}
return 0;
}