C Primer Plus 第6版 第4章 编程练习

简介: C Primer Plus 第6版 第4章 编程练习

1.提示用户输入名和姓,然后以名,姓的格式打印。

#include<stdio.h>
int main(void)
{
  char ming[20], xing[20];
  printf("输入名");
  scanf_s("%s",ming,20);
  printf("输入姓");
  scanf_s("%s", xing,20);
  printf("%s,%s", ming, xing);
 
  getchar(); getchar();
  return 0;
}

注:如果是在vs2017中编译,要用scanf_s替代scanf,或者在程序最前面加:

#define _CRT_SECURE_NO_DEPRECATE

 

2.提示用户输入名和姓,然后:

a.打印名和姓包括双引号

b.在宽度为20的字段右段打印名和姓包括双引号

c.在宽度为20的字段左段打印名和姓包括双引号

d. 在比姓名宽度+3的字段中打印名和姓

 

#include<stdio.h>
#include<string.h>
int main(void)
{
  char ming[20], xing[20];
  int len_ming, len_xing;
  printf("输入名");
  scanf_s("%s",ming,20);
  printf("输入姓");
  scanf_s("%s", xing,20);
  len_ming = strlen(ming);
  len_xing = strlen(xing);
  printf("\"%s,%s\"\n", ming, xing);
  printf("\"%20s,%20s\"\n", ming, xing);
  printf("\"%-20s,%-20s\"\n", ming, xing);
 
  printf("\"%*s,%*s\"\n",len_ming+3, ming, len_xing+3,xing);
  getchar(); getchar();
  return 0;
}
 
 

3.读取1个浮点数,分别以小数、指数打印

#include<stdio.h>
int main(void)
{
  float n;
  printf("输入一个浮点数:");
  scanf_s("%f", &n);
  printf("小数形式:%.1f 指数形式:%.1e\n", n,n);
  printf("小数形式:%.3f 指数形式:%.3E\n", n, n);
 
  getchar(); getchar();
  return 0;
}
 
 

4.提示用户输入身高(厘米)和姓名,然后按照格式显示。格式:

dabney, you are 6.208 feet tall.

#include<stdio.h>
int main(void)
{
  float tall;
  char name[50];
  printf("输入你的身高(cm):");
  scanf_s("%f", &tall);
  printf("输入你的姓名:");
  scanf_s("%s", &name, 50);
  printf("%s, 你身高%.1f厘米", name, tall);
 
  getchar(); getchar();
  return 0;
}
 
 

5.用户输入下载速度(MB/S),文件大小(MB)计算下载时间

#include<stdio.h>
int main(void)
{
  float download_speed;
  float file_v;
  float download_time;
  printf("请输入下载速度(MB/s):");
  scanf_s("%f", &download_speed);
  printf("请输入文件大小(MB):");
  scanf_s("%f", &file_v);
  download_time = file_v / download_speed;
  printf("下载速度为%.2f MB/S, %.2fMB的文件将在%.2f秒后下载完成", download_speed, \
    file_v, download_time);
 
  getchar(); getchar();
  return 0;
}
 
 

6.提示用户输入名和姓,然后一行打印名和姓,下一行打印名和姓的字母数,数字和相应的名和姓的结尾对齐。

#include<stdio.h>
#include<string.h>
int main(void)
{
  char name[40], surname[40];
  int len_name,len_surname;
  printf("请输入名:");
  scanf_s("%s",name,40);
  printf("请输入姓:");
  scanf_s("%s", surname, 40);
  len_name = strlen(name);
  len_surname = strlen(surname);
  printf("%s %s\n", name, surname);
  printf("%*d %*d", len_name, len_name, len_surname, len_surname);
  getchar(); getchar();
  return 0;
}
 
 

7.将一个double 和float 变量设置为1.0/3.0 ,然后显示小数点后6,12,16位。

包含头文件float.h,打印FLT_DIG和DBL_DIG;

#include<stdio.h>
#include<float.h>
int main(void)
{
  double d = 1.0 / 3.0;
  float f = 1.0 / 3.0;
  printf("Float:%.6f %.12f %.16f\n", f, f, f);
  printf("Double %.6f %.12f %.16f\n", d, d, d);
 
  printf("float:%d\ndouble:%d\n", FLT_DIG, DBL_DIG);
  getchar(); getchar();
  return 0;
}
 
 

8.提示用户输入旅行的里程 和消耗的汽油量,然后计算每 加仑 汽油 行驶的路程(英里) 精度为小数点后1位。

1加仑约3.785升,1英里约 1.609 千米 把英里/加仑 转换成 升/百公里 显示结果(1位小数)

 

#include<stdio.h>
int main(void)
{
  const float gallonToL = 3.785;
  const float mileToKm = 1.609;
  float miles, gallon;
  printf("请输入里程(英里)和耗油量(加仑)");
  scanf_s("%f %f", &miles, &gallon);
  printf("每加仑行驶%.1f英里\n", miles / gallon);
  printf("相当于%.f升/100公里", 100* gallon*gallonToL / miles * mileToKm);
  getchar(); getchar();
  return 0;
}
 
 
相关文章
|
6月前
C Primer Plus 第6版 第3章 编程练习
C Primer Plus 第6版 第3章 编程练习
|
6月前
C Primer Plus 第6版 第8章 编程练习
C Primer Plus 第6版 第8章 编程练习
|
6月前
|
存储
C Primer Plus 第6版 第6章 编程练习
C Primer Plus 第6版 第6章 编程练习
|
6月前
C Primer Plus 第6版 第7章 编程练习
C Primer Plus 第6版 第7章 编程练习
|
6月前
C Primer Plus 第6版 第9章 编程练习
C Primer Plus 第6版 第9章 编程练习
|
6月前
C Primer Plus 第6版 第2章 编程练习
C Primer Plus 第6版 第2章 编程练习
|
6月前
C Primer Plus 第6版 第5章 编程练习
C Primer Plus 第6版 第5章 编程练习
|
6月前
|
编译器
C Primer Plus 第6版 第10章 编程练习
C Primer Plus 第6版 第10章 编程练习
C++ Primer Plus 第二章编程练习
C++ Primer Plus 第二章编程练习
|
编译器 C++
【C++ Primer Plus】基础知识 1
【C++ Primer Plus】基础知识
127 0
【C++ Primer Plus】基础知识 1
下一篇
DataWorks