学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

简单程序求助

简单程序求助

int z;
int main()
{
    int a;
    scanf("%d",&a);
    lower(a);
    printf("%d\n",a);
    return 0;
}

int lower(int c)
{
    (c>='A')&&(c<='Z')? z=c+'a'-'A': z=c;
    return z;
}
上面是把大写输入的大写字母转换为小写的程序,但是输出部队,希望各位高手帮忙看看错误在哪里和错误的原因,谢谢。

TOP

根据你的思路帮你改了下

#include <stdio.h>
#include <stdlib.h>
char z;
int lower(int c)
{
    z=(c>='A')&&(c<='Z')?c+'a'-'A':c;
    printf("%c",z);
    return z;
}
int main()
{
    char a;      /*这里要字符型*/
    scanf("%c",&a);
    lower(a);
    printf("%c\n",z);
    return 0;
}

TOP

回复 1# 的帖子

#include<stdio.h>
int z;
char ch;
int lower(int c);
int main()
{
    char a;
    scanf("%c",&a);
    ch=lower(a);
    printf("%c\n",ch);
    return 0;
}

int lower(int c)
{
    (c>='A')&&(c<='Z')? z=c+'a'-'A': z=c;
    return z;
}

[ 本帖最后由 huizi0711 于 2008-5-17 13:17 编辑 ]

TOP

谢谢各位

TOP

#include <stdio.h>

char z;
int lower(int c)
{
    z=(c>='A')&&(c<='Z')?c+32:c;/*直接加大小写的差值更加简单*/

    return z;
}
int main()
{
    char a;      /*这里要字符型*/
    scanf("%c",&a);
    lower(a);
    printf("%c\n",z);
   getch();
}

TOP

呵呵问题貌似解决了
其实楼主应该注意acsii码和字符型的使用的
整型和字符型不能混淆使用的
做一个自由的人,飞到蔚蓝的天空里。

TOP

类型匹配原则!

TOP

发新话题