| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 493 人关注过本帖
标题:问几个问题
只看楼主 加入收藏
紫禁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-7
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:7 
问几个问题
程序代码:
/*x的值为什么是10,用笔算到貌似是11哎*/
#include <stdio.h>
main()
{
   int x,y;
   for(x=1,y=1;y<=50;y++)
   {
       if(x>=10)break;
       if(x%2==1)
       {
           x+=5;continue;
       }
       x-=3;
   }
       printf("x=%d,y=%d",x,y);
  
}



/*求分析下,y的值是怎样算出来的,用列举法把它一个个列举出来*/
#include <stdio.h>
main()
{
   int x,y;
   for(x=1,y=1;x<100;x++)
   {
       if(y>=20)break;
       if(y%3==1)
       {
           y=y+3;continue;
       }
       y=y-5;
   }
       printf("x=%d,y=%d",x,y);
  
}



/*现在无法调用isalpha函数,来实现如果输入的不是字母,就不统计出来*/
#include <stdio.h>
#include <string.h>
#define IN 1
#define OUT 0
int countword();
int isalpha();
main()
{
    int n;
    n=isalpha();
    n = countword( );
    printf("n=%d\n",n);
}
int isalpha()
{
    int c ;
    if(c>="a"&&c<="z")printf("%d",c);
   
}
int countword()
{
    int c,nw,state;
    state=OUT;
    nw=0;
    while((c=getchar())!='@')
    {
        if(c==' '||c=='\n'||c=='\t')
            state=OUT;
        else if(state==OUT)
        {
            state=IN;
            nw++;
        }
    }
    return nw;
}


/*ch=ch-32的意思是什么,是一个转换公式吗,是的话,那么大写转换小写的公式是什么*/
/*将小写字母转换成大写字母*/
#include <stdio.h>
#include <ctype.h>
char myupper(char ch)
{
    if(ch>='a'&&ch<='z')ch=ch-32; /*ch=ch-32的意思是什么*/
    return ch;
}
main()
{
    char c;
    while((c=getchar())!='@')
    {
        c=myupper(c);
        putchar(c);
    }
    return;
}
2012-02-07 13:11
闲出屁
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:420
专家分:612
注 册:2012-1-24
收藏
得分:0 
要学会用编译器 啥都用眼睛算怎么能行 给你10万行的代码你眼睛运行下试试 不多 给你个递归都头疼死
编译器跟踪调试
实在不会 用printf在每个地方输出一下

乔布斯是神 宫崎骏也是神~~ 才知道 原来士兵突击的主题曲是久石让的 久石让的音乐 真传神
2012-02-07 13:16
闲出屁
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:420
专家分:612
注 册:2012-1-24
收藏
得分:0 
弄不懂的跟踪调试 多写几个程序 看代码就顺了 别硬看 没啥意义

乔布斯是神 宫崎骏也是神~~ 才知道 原来士兵突击的主题曲是久石让的 久石让的音乐 真传神
2012-02-07 13:19
吴小君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:198
注 册:2012-1-2
收藏
得分:0 
回复 2楼 闲出屁
顶2楼,你可以输出一下,要自己找结果、

小弟学习C语言刚入门,请大侠们多多指教,不吝赐解!
2012-02-07 13:38
收获于车轮
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-2-7
收藏
得分:0 
我找到了一个错误就是    if(c>="a"&&c<="z")printf("%d",c);这里a和z都是字符,不应该用双引号,同时前面两个例子你用单步调试就可得出   x-=3;  y=y-5;这两条语句根本就没有运行,属于误导语句
,最后一个就是大小写两个的ASCII值相差32,a为97,A为65所以才有ch=ch+32

2012-02-07 14:59
yxiangyxiang
Rank: 3Rank: 3
来 自:/\/\/\/\/
等 级:论坛游侠
帖 子:130
专家分:186
注 册:2012-1-29
收藏
得分:15 
第一题
1 + 5 = 6 - 3 = 3 + 5 = 8 - 3 = 5 + 5 = 10;
第二题
1(1%3==1) + 3 = 4(4%3==1) + 3 = 7...=10...=13...=16...=19...=21
第三题
main()
{
    int n;                            无return
    n=isalpha();<------------------------------------------------,
    n = countword( );                                            |
    printf("n=%d\n",n);                                          |
}                                                                |
int isalpha()                                                    |
{                                                                |                           
    int c ;                                                      |      
    if(c>="a"&&c<="z")<-----------------c 是那来的值             |
    printf("%d",c);                                              |
     <--------------------------------------------------------'
}
第四题
把大写字母转成小写的意思

[ 本帖最后由 yxiangyxiang 于 2012-2-8 00:39 编辑 ]
2012-02-08 00:27
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:0 
第一题的要注意continue

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2012-02-08 08:56
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
收藏
得分:0 
哥们你还是调试下吧,对你有好处的,没恶意

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2012-02-08 09:59
快速回复:问几个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.069164 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved