| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2570 人关注过本帖
标题:C语言scanf()里的一点问题?
只看楼主 加入收藏
Eahonxu
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2016-7-13
结帖率:96.15%
收藏
已结贴  问题点数:2 回复次数:6 
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;
}
求大神帮忙解惑~~~
搜索更多相关主题的帖子: 单词 C语言 family include 
2016-07-16 14:39
captain2050
Rank: 2
等 级:论坛游民
帖 子:57
专家分:43
注 册:2016-7-15
收藏
得分:1 
回复 楼主 Eahonxu
#include<stdio.h>
#include<string.h>
int main()
{
    char a[20];
    char b[20];
    int anum=0,bnum=0;
    printf("请输入两个字符串,用空格分开\n");
    scanf("%s%s",a,b);
    anum=strlen(a);
    bnum=strlen(b);
    printf("%s %s\n",a,b);
    printf("%d",anum);
    for(int i=1;i<=anum;i++)
        printf(" ");
    printf("%d",bnum);
}
2016-07-16 14:53
zx315
Rank: 5Rank: 5
来 自:广东
等 级:职业侠客
威 望:2
帖 子:86
专家分:378
注 册:2016-7-13
收藏
得分:1 
程序代码:
#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);
    
    int n_len = strlen(name);
    int f_len = strlen(family);
    printf("%*d%*d", n_len, n_len, f_len, f_len);
    
    return 0;
}


图片附件: 游客没有浏览图片的权限,请 登录注册

Read The Fucking Source Code~
2016-07-16 17:18
BBOY愿愿
Rank: 3Rank: 3
来 自:四川
等 级:论坛游民
威 望:9
帖 子:60
专家分:67
注 册:2015-12-9
收藏
得分:1 
回复 2楼 captain2050
我改了一下你的

#include<stdio.h>
#include<string.h>
int main()
{
    char a[20];
    char b[20];
    int anum=0,bnum=0;
    printf("请输入两个字符串,用空格分开\n");
    scanf("%s%s",a,b);
    anum=strlen(a);
    bnum=strlen(b);
    printf("%s\t%s\n%d\t%d\n",a,b,anum,bnum);
}

其实你可以很优秀------对自己说-----即使遍体鳞伤也要活得漂亮-------
2016-07-16 17:27
低调低调
Rank: 3Rank: 3
来 自:四川省成都市
等 级:论坛游侠
威 望:1
帖 子:66
专家分:103
注 册:2016-6-23
收藏
得分:1 
以下是引用zx315在2016-7-16 17:18:48的发言:


#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);
   
    int n_len = strlen(name);
    int f_len = strlen(family);
    printf("%*d%*d", n_len, n_len, f_len, f_len);
   
    return 0;
}



这个基本上就能满足你的要求了 要是你还想在加点其他的要求的话 你可以再试试
2016-07-16 19:28
east东
Rank: 2
等 级:论坛游民
帖 子:15
专家分:27
注 册:2016-7-13
收藏
得分:1 
回复 4楼 BBOY愿愿
#include<stdio.h>
#include<string.h>
int main()
{
    char a[20];
    char b[20];
    int anum,bnum,i;
    printf("请输入两个字符串,用空格分开\n");
    scanf("%s%s",a,b);
    anum=strlen(a);
    bnum=strlen(b);
    printf("%s %s\n",a,b);
    for(i=1;i<anum;i++)
        printf(" ");
    printf("%d ",anum);
    for(i=1;i<bnum;i++)
        printf(" ");
    printf("%d ",bnum);

}
图片附件: 游客没有浏览图片的权限,请 登录注册

我又改了下,正好把数字放到右面
2016-07-16 22:53
qq543322463
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2013-7-26
收藏
得分:1 
回复 楼主 Eahonxu
程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    int i=0;

    //声明两个变量来存放姓名的大小
    int lg_name=0;
    int lg_family=0;

    char name[20];
    char family[20];
    scanf("%s%s", name, family);
    printf("%s %s\n", name, family);

    //计算字母个数,详细查看strlen()函数
    lg_name=strlen(name);
    lg_family=strlen(family);

    for(i=0;i<lg_name-1;i++)
    {
        printf(" ");//打印空格,让光标跳到相对应的地方
    }
    printf("%d",lg_name);
    printf(" ");//打印空格
    for(i=0;i<lg_family-1;i++)
    {
        printf(" ");//打印空格,让光标跳到相对应的地方
    }
    printf("%d",lg_family);
    return 0;
}
2016-07-18 10:48
快速回复:C语言scanf()里的一点问题?
数据加载中...
 
   



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

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