1、编写一个程序,要求输入名字和姓氏,然后以“名字,姓氏”的格式打印:
#include <stdio.h>
int main(void) {
char fname[40];
char lname[40];
printf("请输入您的姓和名,中间用空格分隔\n");
fflush(stdout);
scanf("%s%s",fname,lname);
printf("%s,%s",fname,lname);
return 0;
}
2、编写一个程序,要求输入名字,并执行以下操作:
a.把名字引在双引号中打印出来
b.在宽度为20个字符的字段内打印名字,并且整个字段引在双引号内。
c.在宽度为20个字符的字段内左端打印名字,并且整个字段引在双引号内。
d.在比名字宽3个字符的字段内打印它。
#include <stdio.h>
#include <strings.h>
int main(void) {
char name[40];
unsigned short int name_width;
printf("请输入您的名称\n");
fflush(stdout);
scanf("%s",name);
name_width=strlen(name);
printf("a: \"%s\"\n",name);
printf("b: \"%20s\"\n",name);
printf("c: \"%-20s\"\n",name);
printf("d: \"%*s\"\n",name_width+3,name);
return 0;
}
3、编写一个程序,读取一个浮点数,并且首先以小数点记数法,然后以指数记数法打印之。输出使用下列形式(在指数位置显示的数字的位数可能会随系统而不同):
a.The input is 21.3 or 2.1e+001
b.The input is +21.290 or 2.129E+001
/*
============================================================================
Name : test.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <strings.h>
int main(void) {
float a;
printf("请输入一个浮点数:\n");
fflush(stdout);
scanf("%f",&a);
printf("a:The input is %.1f or %.1e\n",a,a);
printf("b:The input is %+.3f or %+.3E",a,a);
return 0;
}
4、编写一个程序,要求输入身高和名字,然后以如下形显示:
Dabney,you are 6.208 feet all.
使用float类型,使用/作为除号,如果您愿意,可以要求输入以厘米为单位,并以米为单位进行显示。
#include <stdio.h>
#include <strings.h>
int main(void) {
float a;
char name[40];
printf("请输您的姓名:\n");
fflush(stdout);
scanf("%s",name);
printf("请输入你的身高,单位厘米:\n");
fflush(stdout);
scanf("%f",&a);
printf("%s,你的身高%.0f厘数,计%.2f米\n",name,a,a/100.0);
return 0;
}
5、编写一个程序,首先要求用户输入名字,然后要求用户输入姓氏,在一行打印输入的姓名,在下一行打印每个名字中字母的个数,把字母个数与相应的名字结尾对齐,如下所示:
Melissa Honeybee
7 8
然后打印相同的信息,但是字母个数与相应单词的开始对齐 :
Melissa Honeybee
7 8
#include <stdio.h>
#include <strings.h>
int main(void) {
char fname[40];
char lname[40];
int w1,w2;
printf("请输您的名称:\n");
fflush(stdout);
scanf("%s",fname);
printf("请输入您的姓:\n");
fflush(stdout);
scanf("%s",lname);
printf("%s %s\n",fname,lname);
w1=strlen(fname);
w2=strlen(lname);
printf("%*d %*d\n",w1,w1,w2,w2);
printf("%s %s\n",fname,lname);
printf("%-*d %-*d\n",w1,w1,w2,w2);
return 0;
}
6、编写一个程序,设置一个值为1.0/3.0在double类型变量和一个值为1.0/3.0在float类型变量,每个变量的值显示三次:一次在小数点右侧显示4个数字,一次在小数点右侧显示12个数字,另一次在小数点右侧显示16个数字,同时要让程序包括float.h文件,然后打印FLT_DIG和DBL_DIG的值,1.0/3.0显示值与这些值要求的一致吗?
#include <stdio.h>
#include <float.h>
int main(void) {
float a = 1.0/3.0;
double b = 1.0/3.0;
printf("float : %.4f,%.12f,%.16f\n",a,a,a);
printf("double: %.4f,%.12f,%.16f\n",b,b,b);
printf("FLT_DIG:%d DBL_DIG:%d\n",FLT_DIG,DBL_DIG);
return 0;
}
7、编写一个程序,要求用户输入行驶的英里数和消耗汽油的加仑数,接着应该计算和显示消耗每加仑汽油行驶的英里数,显示方式是在小数点右侧显示一个数字,然后根本1加仑约等于3.785升,1英里约等于1.609公里的规则,将每加仑英里数转换成每100公里的升数(欧洲通用的燃料消耗表示法),并显示结果,显示的方式是小数点右侧显示一个数字(请注意,美国方案测量每单位距离消耗燃料数,而欧洲方案测量的每单位燃料的行驶距离)。用符号常量表示两个转换系数(使用const或#define)。
#include <stdio.h>
#include <float.h>
int main(void) {
const float GA = 3.785;
const float MI = 1.609;
float mile,gallon,m,l;
printf("请输入您的行驶里程数,单位为英里:\n");
fflush(stdout);
scanf("%f",&mile);
printf("请输入您消耗%.1f英里使用的汽油量,单位为加仑:\n",mile);
fflush(stdout);
scanf("%f",&gallon);
m = mile/gallon; //计算每加仑英里数
printf("您每加仑汽油行驶的路程为:%.1f英里\n",m);
l=100.0/MI/m*GA; //计算每百公里的燃油升数
printf("您每百公里消耗汽油为数量为%.1f升\n",l);
return 0;
}