回 帖 发 新 帖 刷新版面

主题:C语言scanf()里的一点小问题?

题目是,编写一个程序,首先要求用户输入名字,然后要求用户输入姓氏。在一行打印输入的姓名,在下一行打印每个名字中字母的个数。把字母个数与相应名字的结尾对齐,如下所示:

Melissa Honeybee

        7             8

然后打印相同的信息,但是字母个数与相应单词的开始对齐。

Melissa Honeybee

7         8

小弟我编到这里就接不下去了。。。


#include<stdio.h>

#include<string.h>

int main()

{

    char name[20];

    char family[20];

    scanf("%s%s", name, family);

    printf("%s %s\n", name, family);

    return 0;

}

求大神帮忙解惑~~~


0

回复列表 (共6个回复)

沙发

艾玛,就是求字符串长度啦。len(name)就返回name的长度了

板凳

这论坛人多吗,怎么这么多天没人冒泡

3 楼

这么多天没人冒泡





www.czrefine.com

4 楼

编程中国 cppcns.com 大量更新下载编程视频,编程基础资料,编程疑难解答!

5 楼

    char name[20] = {0};
    char family[20] = {0};
    scanf("%s%s", name, family);
    printf("%s %s\n", name, family);
    int len = strlen(name) - 1;
    if (len > 10)
        len--;
    for (int i = 0; i < len; i++)
    {
        printf(" ");
    }
    printf("%d", len);

    len = strlen(family);
    if (len > 10)
        len--;
    for (int i = 0; i < len; i++)
    {
        printf(" ");
    }
    printf("%d\n", len);
    
    printf("%s %s\n", name, family);

    len = strlen(name);
    printf("%d", len);

    if (len > 10) len--;

    for (int i = 0; i < len; i++)
    {
        printf(" ");
    }

    printf("%d\n", strlen(family));


随手写了段,未考虑优化

6 楼

我也来练练手

int main() 

{  
char name[20];
char family[20];
int i ,j;
scanf("%s%s",name,family);
i = strlen(name);
j = strlen(family);
printf("%s %s\n%d",name, family,i);
for (i; i >= 1;i--)
{
printf(" ");
}
printf("%d\n",j);
system("pause");
return 0;  
}  

我来回复

您尚未登录,请登录后再回复。点此登录或注册