24小时热门版块排行榜    

CyRhmU.jpeg
查看: 760  |  回复: 12

小孩YY

金虫 (小有名气)

[求助] 这个小程序中if中的那部分该怎么表达?

/*任意输入十个字符,将其大写字母输出*/
#include
int main(void)
{
        char data[10];
        int i;

       
        printf("在此输入十个字符" );

        for(i = 0; i <= 9; i++)
        {       
        scanf("输入十个字符:%c", &data);
        }
       

        if(data >= 'A' && data <='Z')
        {
                printf("大写字母是:%c\n", data);
        }

        return 0;

}

[ Last edited by jjdg on 2012-10-21 at 01:01 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

jackie1179

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你声明data的方式最多只能接受9个字符,末尾默认的字符串结束符肯定不是你想要的。
我觉得你可以这样:
CODE:
#include
int main(void)
{
         char data[11];
         int i;        
        printf("在此输入十个字符" );
            
        scanf("输入十个字符:%s", data);
        for(i = 0; i < 10; i++)
        {
           if(data[i] >= 'A' && data[i] <='Z')
           {
                 printf("大写字母是:%c\n", data[i]);
           }
       }
        return 0;
}

9楼2012-10-21 09:29:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

KINGBOY_2010

木虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
小孩YY: 金币+1 2012-10-20 21:36:24
jjdg: 金币+1, 感谢参与 2012-10-21 01:02:24
if(data>='A'&&data<='z')
慎思明辨,博学知行
2楼2012-10-20 19:10:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小孩YY

金虫 (小有名气)

引用回帖:
2楼: Originally posted by KINGBOY_2010 at 2012-10-20 19:10:09
if(data>='A'&&data<='z')

不对
3楼2012-10-20 21:36:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hwf04

金虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-10-21 01:02:35
小孩YY: 金币+1 2012-10-21 21:47:55
没明白题目  
是将给定字母转换为大写字母还是将其中的大写字母输出
等待只因值得,隐忍只为爆发。
4楼2012-10-20 22:37:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KINGBOY_2010

木虫 (小有名气)

【答案】应助回帖


小孩YY: 金币+1 2012-10-21 21:47:49
printf("大写字母是:%c\n", data);
慎思明辨,博学知行
5楼2012-10-21 09:09:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KINGBOY_2010

木虫 (小有名气)

【答案】应助回帖


小孩YY: 金币+1 2012-10-21 21:47:40
printf("大写字母是:%c\n", data);
慎思明辨,博学知行
6楼2012-10-21 09:09:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KINGBOY_2010

木虫 (小有名气)

慎思明辨,博学知行
7楼2012-10-21 09:10:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KINGBOY_2010

木虫 (小有名气)

data【i】
慎思明辨,博学知行
8楼2012-10-21 09:10:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

丘穹22

银虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
小孩YY: 金币+2, ★★★很有帮助 2012-10-21 21:47:15
jjdg: 金币+1, 感谢支持 2012-10-22 00:57:29
楼主,data是一个指针常量,不是一个变量。所以在scanf("输入十个字符:%c", &data);不应该这么写,应该是scanf("%c", data);把输入输送到data的数组中。还有就是你的if语句是错误的。不是拿data指针来比较的,而是拿数组中的元素来比较的。修改后的程序如下:
/*任意输入十个字符,将其大写字母输出*/
#include
int main(void)
{
        char data[10];
        int i;

        
        printf("在此输入十个字符" );

        for(i = 0; i <= 9; i++)
        {        
        scanf("%c", &data);
        }
        
                for(i = 0; i <= 9; i++)
                {
                        if(data >= 'A' && data <='Z')
                        {
                                printf("大写字母是:%c\n", data);
                        }
                }
        

        return 0;

}
10楼2012-10-21 09:33:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小孩YY 的主题更新
信息提示
请填处理意见