RLHaides 2016-11-08 09:39 采纳率: 75%
浏览 862
已采纳

这个题目为什么我的输出会变成这样

#include<string.h>
#include<ctype.h>
int main(){
    char str1[20]={0},str2[20]={0},str3[20]={0},str4[20]={0};
    scanf("%s%s",str1,str2);
    int j=0;


    //task 1
    int i=strcmp(str1,str2);

    if (i>0)
    printf("%s > %s\n",str1,str2);
    if (i==0)
    printf("%s = %s\n",str1,str2);
    if (i<0)
    printf("%s < %s\n",str1,str2);

    //task2
    int n,x,y,len_str2=strlen(str2),len_str1=strlen(str1);
    scanf("%d%d%d",&n,&x,&y);
    for(i=0;i<20;i++){
        str3[i]=str1[i];
    }
    if (n >= len_str2){
        strcat(str3,str2);
        for(i=x;i<=y;i++){
            str3[i]=toupper(str3[i]);
        }
        int len_str3=strlen(str3);
        printf("the length of \"%s\" is %d\n",str3,len_str3);

    }
    else{
        for(i=len_str1,j=0;i<n+len_str1;i++,j++){
            str3[i]=str2[j];

        }
        for(i=x;i<y;i++){
            str3[i]=toupper(str3[i]);
        }
        int len_str3=strlen(str3);
        printf("the length of \"%s\" is %d\n",str3,len_str3);
    }

    //task 3
    for(i=0;i<20;i++){
        str2[i]=str3[i];
        str2[i]=tolower(str2[i]);
    }
     i=strcmp(str3,str2);

    if (i>0)
    printf("%s > %s\n",str3,str2);
    if (i==0)
    printf("%s = %s\n",str3,str2);
    if (i<0)
    printf("%s < %s\n",str3,str2);

    //task4
    int len_str3=strlen(str3);
    if (len_str3/2-10>0)
    printf("%s\n",str3);
    else
    printf("%s\n",str2);

    return 0;
}

图片说明
图片说明

  • 写回答

2条回答 默认 最新

  • bwangccc 2016-11-08 10:36
    关注

    抱歉看错了 不过我觉得你可以memset先把str2清零再复制过去 还有就是循环感觉不要用20来控制 用strlen来控制

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

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?