C Primer Plus 第4章 字符串和格式化输入/输出 编程练习及答案
博客专区 > idreamo 的博客 > 博客详情
C Primer Plus 第4章 字符串和格式化输入/输出 编程练习及答案
idreamo 发表于1年前
C Primer Plus 第4章 字符串和格式化输入/输出 编程练习及答案
  • 发表于 1年前
  • 阅读 22
  • 收藏 0
  • 点赞 2
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: C Primer Plus 第4章 字符串和格式化输入/输出 编程练习答案

1、编写一个程序,要求输入名字和姓氏,然后以“名字,姓氏”格式输出。

#include 
int main()
{ 
    char fname[40],lname[40];

    printf("Enter your firstname.\n");
    scanf("%s",fname);                   //注意lname与fname是数组,在scanf()时无需加&符号。
    printf("Enter your lastname.\n);
    scanf("%s",lname);
    printf("Welcome,%s, %s\n",lname,fname);
    
    return 0;
}

2、编写一个程序,要求输入名字,并执行以下操作:

    a.把名字引在双引号中打印出来;

    b.在宽度为20个字符的字段内打印名字,并且整个字段引在引号内;

    c. 在宽度为20个字符的字段的左端打印名字,并且整个字段引在引号内;

    d.在比名字宽3个字符的字段内打印它。

#include 
#include 
int main()
{ 
    char name[40];
    int width;
 
    printf("Enter you name.\n");
    scanf("%s",name);
 
    printf("A:\"%s\".\n",name);
    printf("B:\"%20s\".\n",name);
    printf("C:\"%-20s\".\n",name);
    width=strlen(name)+3;
    printf("D:\"%*s\".\n",width,name);  //*对应width
    
    return 0;
}

3、编写一个程序,读取一个浮点数,并且首先以小数点记数法,然后以指数记数法打印之。输出使用下列形式:

a.The input is 21.3 or 2.1e+001

b. The input is +21.290 or 2.129E+001

#include 
int main()
{
    float a;
    
    printf("Please input a float.\n");
    scanf("%f",&a);
    
    printf("a.The input is %1f or %1e\n",a,a);
    printf("a.The input is %+.3f or %.3e\n",a,a);
    
    return 0;
}

4、编写一个程序,要求输入身高(以英尺为单位)和名字,然后以如下形式显示:

Dabney,you are 6.208 feet tall.

使用float类型,使用/作除号。如果你愿意,可以要求以厘米为单位输入身高,并以米为单位进行显示。

#include 
int main()
{
    float h;
    char name[20];

    printf("Enter your name:");
    scanf("%s",name);
    printf("Enter your height by inches:");
    scanf("%f",&h);
    printf("%s,you are %f feet tall.\n",name,h/12);

    return 0;
}

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

Melissa Honeybee

            7                 8

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

/*用字符宽度的算法来对齐文本*/
#include 
#include 

int main ()
{
    char fname[20],surname[20];

    printf("Please input your firstname and surname:");
    scanf("%s",fname);
    scanf("%s",surname);

    printf("%s %s.\n",fname,surname);
    printf("%*d %*d\n",strlen(firstname),strlen(firstname),strlen(surname),strlen(surname));
    //*对应宽度变量
    printf("%s %s.\n",fname,surname);
    printf("%-*d %-*d\n",strlen(firstname),strlen(firstname),strlen(surname),strlen(surname));
    //*对应宽度变量
    return 0;
}

 

共有 人打赏支持
粉丝 12
博文 138
码字总数 224731
×
idreamo
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: