czb08191314 2023-09-04 07:10 采纳率: 88.5%
浏览 6
已结题

c语言pat基础题0904L1086

img

img


我的代码出现问题,本题希望可以得到大家的指导,谢谢你的帮助!

  • 写回答

3条回答 默认 最新

  • a5156520 2023-09-04 09:14
    关注

    根据题目提示,直接编写代码即可。

    代码如下:

    
    
    #include <stdio.h>
    #include <string.h>
    
    // 比较两个字符的ASCII码大小,返回较大的字符 
    char max(char ch1,char ch2){
        
        if(ch1>ch2){
            return ch1;
        }else{
            return ch2;
        }
        
    }
    
    // 将题目的伪代码改为C语言代码 
    void getStr(char * oriStr,char * result){
        
        char * a = oriStr;
        
        int j=0;
        for(int i=1;i<strlen(a);i++){
            
            if(a[i]%2==a[i-1]%2){
                result[j]=max(a[i],a[i-1]);
                j++;
            }        
        }
        result[j]='\0';
    //    printf("result=%s\n",result);
        
    }
    
    
    int main(void){
        
        char str1[10001];  // 存储输入的第一个字符串 
        char str2[10001];  // 存储输入的第二个字符串 
        char s1[10001];  // 存储第一个字符串的提取结果 
        char s2[10001];  //存储第二个字符串的提取结果 
        
        // 从输入获取两个字符串 
        gets(str1);  
        gets(str2);
    //    printf("str1=%s\nstr2=%s\n",str1,str2);
        
        // 从两个输入的字符串中=提取目标字符串 
        getStr(str1,s1);
        getStr(str2,s2);
        
        // 如果提取的结果一样,则输出其中一个字符串,否则两个字符串都输出 
        if(strcmp(s1,s2)==0){
            printf("%s",s1);
        }else{
            printf("%s\n%s",s1,s2);
        }        
        
        return 0;
        
    } 
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月13日
  • 已采纳回答 9月5日
  • 创建了问题 9月4日

悬赏问题

  • ¥15 yolo v5中labelimg的作用
  • ¥30 VBA网抓application/json的网抓怎么写!
  • ¥15 国赛c题2021,没有理解这一串代码的意思,这样报错该怎么解决(语言-matlab)
  • ¥15 一、执行完中断程序后如何继续运行,二、中断结束后如何跳过中断触发前的点位(LOW点不要继续运行,可以运行UP点)(关键词-程序运行)
  • ¥15 if为什么跳过if 直接执行else 中文
  • ¥200 解决登录微信老版本限制封号问题
  • ¥15 mysql中时间处理问题
  • ¥20 讲解此音频放大电路原理及关键部分
  • ¥15 rtsp 转 m3u8 执行后卡在Decoding VUI
  • ¥20 微信小程序转发链接问题,已禁止转发仍能转发的场景