最后的魁拔 发表于 2019-12-8 14:32:19

希望通过我的代码,提提建议

/*步骤1定义一个长度位21的字符数组
步骤2根据用户输入的文本长度分别判断输出的
步骤3如果输入的长度小于20,则原样输出
步骤4 如果长度大于20,再判断是否有空格
步骤5 没有的话,输出前20个*/
#include <stdio.h>
#include <string.h>
int main()
{
        char ch;
        int i;
        int flag_1,flag_2;
        char a = ' ';
       
        printf("请输入一行文本:");
        for(i=0;i<21;i++)
        {
                scanf("%c",&ch);
                if(ch=='\n')
                {
                        ch='\0';
                        break;
                }
        }

       
        if(strlen(ch)<20)
        {
                printf("你输入的文本是:%s\n",ch);
        }
        else if(strlen(ch)>20)
        {
                for(i=0;i<20;i++)
                {
                        if(ch==a)
                        {
                                ch=a;
                                printf("%c",ch);
                        }
                        else
                        {
                                printf("%c",ch);
                        }
                }
        }
       

        return 0;
}

希望看看对不对。。。。。

李龙江 发表于 2019-12-8 21:30:44

没问题,运行结果符合题目要求!
页: [1]
查看完整版本: 希望通过我的代码,提提建议