C语言。a代表211,b代表221。输入字符串ab,输出字符串211221

.也可以输入字符串abc....,就是都可以实现输出数字。例如bbb,就是221221221.这样。
我用char a[10]="211"
gets(a);
puts(a);
输入a,还是输a.我给a赋值了,但得不到。
“我用char a[10]="211"
gets(a);
puts(a);
输入a,还是输a.我给a赋值了,但得不到。”
以上这句话的意思是,想问大家,可不可以输abc..什么的就可以得到相应的字符串数字
最新回答
暖妹

2024-11-26 19:11:39

你好
你在执行gets(a)之前没输入a啊
改为以下的就可以了
#include<stdio.h>
void main(){
char a[10];
printf("输入数字字符串a:");/*你输入221 就能显示221了*/
gets(a);
puts(a);
}
希望能帮助你哈
追问
哦,但是,不可以直接输入221,要输入a,输出221,才可以
追答
当然可以  具体实现如下
#include
void main(){
int i;
char a[10],b[10],c[10];
printf("输入数字字符串a:");
gets(a);
printf("输入数字字符串b:");
gets(b);
printf("输入数字字符串c:");
gets(c);
printf("数字字符串abc为:");
for(i=0;i<strlen(a);i++)
printf("%c",a[i]);
for(i=0;i<strlen(b);i++)
printf("%c",b[i]);
for(i=0;i<strlen(c);i++)
printf("%c",c[i]);
printf("\n");
}
追问
谢谢,是可以解决,但我想要的是,不是把数字输入进a,是在前边定义好写好,直接输入a,得到数字,就像int a=211,输入a.输出211一样。就是字符串罢了。例如直接输入abc得到相应的数字。就像a代表211b是221c是231.输入abc,得到211221231.这样的
追答
你的问题ZTMDD
雪紫∮冰雨

2024-11-26 20:44:41

不知道合不合你的要求

#include<stdio.h>
int main()
{
char ch;
int i;
char s[15];
scanf("%s",s);
for(i=0;i<strlen(s);i++)
{
ch=s[i];
switch(ch)
{
case 'a':printf("221");break;
case 'b':printf("321");break;
default:printf("000");break;
}
}
printf("\n");
return 0;
}
待在绿匣里的猫

2024-11-26 18:40:30

在c++里面可以直接用stringstream解决
在c里面麻烦多了
追问
不可以用C++要用C
不问归期

2024-11-26 18:05:51

自己写一个puts函数