为了账号安全,请及时绑定邮箱和手机立即绑定

大佬我哪里错了,要让字母从小到大输出。

大佬我哪里错了,要让字母从小到大输出。

C C# C++
Anmaster 2017-02-09 06:39:52
执行不了。#include<stdio.h>  char a[10]; int main() {  void y();  printf("请输入一串字符:");  scanf("%s",a);  y();  printf("%s",a);  return 0;  }    void y()  {   int i,j;   char x;   for(i=9;i>=1;i--)//9ci   for(j=1;j<=i;j++)    if(a[j-1]>a[j])    {     a[j-1]=x;a[j-1]=a[j];a[j]=x;     }   }
查看完整描述

1 回答

?
习惯受伤

TA贡献885条经验 获得超1144个赞

大致有四个问题,1,void y();是函数声明语句,应该放在main函数外边。2,y这个函数内的排序算法有问题,你可以将数字带入程序做个测试。3,循环的起始值应该是0,而不是1,因为c语言的下标是从零开始。4,i=9那一句,逻辑有问题,你确定你输入的字符串长度正好是9个吗?如果不是就改成len(a)。
查看完整回答
1 反对 回复 2017-02-09
  • 1 回答
  • 0 关注
  • 1302 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信