| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1692 人关注过本帖
标题:C语言,输入两行字符串,相同位置相同大写字母,第一个代表星期,D代表周四 ...
只看楼主 加入收藏
android_123
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2016-6-15
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
C语言,输入两行字符串,相同位置相同大写字母,第一个代表星期,D代表周四,第二个代表14个钟头
//C语言,输入两行字符串,相同位置相同大写字母,第一个代表星期,D代表周四,第二个代表14个钟头(0--23点由数字0--9以及大写字母A--E组成),输入(3485djDkxh4hhGE  2984akDfkkkkggEdsb)求大神指教,能输出THU,后面就不行了,不能输出14
#include<stdio.h>
#include<string.h>
int main()
{char A[60],B[60],first,second;
int i=0,number=0;
gets(A);
gets(B);
while(i<strlen(A)&&i<strlen(B))
  {if(A[i]==B[i]&&(A[i]<='Z'&&B[i]>='A'))
     {number++;
    while(number==1&&(A[i]<='G'&&B[i]>='A'))
        {first=A[i];
         switch(first)
           {
               case 'A': printf("MON");break;
               case 'B': printf("TUE");break;
               case 'C': printf("WED");break;
               case 'D': printf("THU");break;
               case 'E': printf("FRI");break;
               case 'F': printf("SAT");break;
               case 'G': printf("SUN");break;
           }
           return 0;
         printf(":");
        }   
     while(number==2)
        {
            if(A[i]<='N'&&B[i]>='A')
                 {second=A[i];
                  printf("%d",second-55);
                 }
            if(A[i]<='9'&&B[i]>='0')
                 {second=A[i];
                  printf("%d",second-49);
                 }
        }
     }
    i++;
 }
 return 0;
}
搜索更多相关主题的帖子: include number second 字符串 C语言 
2016-06-19 17:54
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:10 
输入的两组字符串里只有一个D相同,number到不了2,所以while(number==2)执行不了,更有两个return 0;存在,number=1时候,第一个return里的程序被执行,整个程序就结束了。
综上所述,while(number==2)更像是写着玩,反正不执行。
2016-06-19 18:54
android_123
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2016-6-15
收藏
得分:0 
回复 2楼 linlulu001
那怎么改?
2016-06-19 22:48
android_123
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2016-6-15
收藏
得分:0 
回复 3楼 android_123
第一个可以return 1 吗?
2016-06-19 22:49
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:10 
不要用while(number==1&&(A[i]<='G'&&B[i]>='A'))来作逻辑判断呢,用if就好了,这样你就不会为跳出这个循环头疼。
 while(number==2)这个也改成if。
跳出循环基本都用continue和break;
2016-06-20 10:48
快速回复:C语言,输入两行字符串,相同位置相同大写字母,第一个代表星期,D代表 ...
数据加载中...
 
   



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

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