CornIT 2020-04-02 15:00 采纳率: 0%
浏览 109
已采纳

萌新请问关于数组的应用问题.

#include
#include
using namespace std;
char date(char x)
{
/*形容词库*/
char d[24][15]={{"optimistic"},{"independent"},{"out-going"},
{"active-able"},{"aggressive"},{"ambitious"},{"amiable"},
{"amicable"},{"analytical"},{"adaptable"},{"active"}

,{"apprehensive"},{"aspiring"} ,{"audacious"}

,{"capable"},{"careful"} ,{"candid"},{"competent"}
,{"constructive"} ,{"cooperative"} ,{"creative"}
,{"humorous"},{"impartial"},{"beautiful"}};
int k;
char u;
k=(int)x-97;

/*这里是想把传过来的字符转成从0开始的数字,然后从二维数组里调形容词出来*/
u=d[k][15];
return u;
/*试图把拉出来的形容词传回去*/
}

int main()
{
char a[5],c[5],d[25]="and";
char m,n,t;
cout<<"You are boy or girl ?"< cin>>c;
cout<<"what's your name ?"< cin>>a;
m=a[0];n=a[1];t=a[2];
/*把输入的名字三个字母分开处理*/
char b[50]={date(m)};
char e[55]={date(n)};
char f[15]={date(t)};
/*拼接得到的形容词*/
strcat(b,strcat(e,strcat(d,f)));
cout<<"I think you are"<<b<<c<<endl;
system("pause");
return 0;
}

这个程序设计的是输入一个名字,如abc,将他分成a,b,c,然后按照字母的位次依次得到一个形容词,最后将他们依次平在一起,但是最后形容词无法输出。
初学数组,对数组使用的规则很不清楚,希望大佬们多多指教。

  • 写回答

1条回答 默认 最新

  • 小学狗喵喵叫 2020-04-02 15:18
    关注
    char date(char x) -》 char* date(char x)
    char u;  -》去掉
    u=d[k][15]; -》去掉
    return u;  -》  return d[k];
    
    char b[50]={date(m)};  -》char b[50]={0x00}; 
    char e[55]={date(n)}; -》char e[50]={0x00}; 
    char f[15]={date(t)}; -》char f[50]={0x00}; 
    strcpy(b,date(m));
    strcpy(e,date(n));
    strcpy(f,date(t));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器