
C语言中,如何利用循环结构输出带顺序的字母。
比如说a=3,b=4,c=1,d=2.利用循环结构将字母按C,D,A,B输出。就是等于1的第一个输出等于2的第二个以此类推。穷举的就不用回答了这个我会。...
比如说a=3,b=4,c=1,d=2.利用循环结构将字母按C,D,A,B输出。就是等于1的第一个输出等于2的第二个以此类推。穷举的就不用回答了这个我会。
展开
3个回答
展开全部
把整数作为数组下标,将字母放在一个一维字符数组里,按下标输出就可以啦
char c[26]={'','C','D','A','B'};
int i;
for(i=1;i<=4;i++)
printf("%c ",c[i]);
char c[26]={'','C','D','A','B'};
int i;
for(i=1;i<=4;i++)
printf("%c ",c[i]);
展开全部
#include <stdio.h>
#include <string.h>
int main()
{
char inChar[100];
int order[128];
order['a'] = order['A'] = 3;
order['b'] = order['B'] = 4;
order['c'] = order['C'] = 1;
order['d'] = order['D'] = 2;
while (scanf("%s", inChar) != EOF)
{
if (sizeof(inChar) == 0) {
continue;
}
int len = strlen(inChar);
for (int i = 0;inChar[i+1]; ++i)
{
for (int j = 1;j < len-i; ++j)
{
if (order[inChar[j]] < order[inChar[j-1]])
{
char ch = inChar[j];
inChar[j] = inChar[j-1];
inChar[j-1] = ch;
}
}
}
printf("%s\n",inChar);
}
return 0;
}
#include <string.h>
int main()
{
char inChar[100];
int order[128];
order['a'] = order['A'] = 3;
order['b'] = order['B'] = 4;
order['c'] = order['C'] = 1;
order['d'] = order['D'] = 2;
while (scanf("%s", inChar) != EOF)
{
if (sizeof(inChar) == 0) {
continue;
}
int len = strlen(inChar);
for (int i = 0;inChar[i+1]; ++i)
{
for (int j = 1;j < len-i; ++j)
{
if (order[inChar[j]] < order[inChar[j-1]])
{
char ch = inChar[j];
inChar[j] = inChar[j-1];
inChar[j-1] = ch;
}
}
}
printf("%s\n",inChar);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你指的是排序吗?
追问
排序?差不多就是按字母所定义的值对字母进行排序
追答
对于这个我有两个理解
1.你定义一些变量并赋值 a=3,b=4,c=1,d=2 然后按各变量的值进行排序,输出相应变量名
但变量名只是个地址,不会按字符输出的,你可以用结构体之类的将字符和数字捆绑,看你问的问题你应该还没学结构体
2.其实你就是定义了abcd四个变量,然后键盘输入各个值代表adcd四个数,最后按大小输出adcd如此而已?而你所说的穷举法就是不断的if else嵌套?这个很初级吧...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询