1.編寫一個程式,提示使用者輸入名和姓,然後以“名,姓”的格式列印出來。
#include<stdio.h>
int main(void)
{
char first_name[10];
char last_name[10];
printf("Please input your first name:");
scanf("%s", first_name);
printf("Please input your last name:");
scanf("%s", last_name);
printf("your name:%s.%s", first_name, last_name);
return 0;
}
2.編寫一個程式,提示使用者輸入姓名,并執行以下操作:
a.列印名字,包括雙引号
b.在寬度為20的字段右端列印名字,包括雙引号
c.在寬度為20的字段左端列印名字,包括雙引号
d.在比姓名寬度寬3的字段中列印名字
#include<stdio.h>
#include<string.h>
int main(void)
{
char name[25];
int number;
printf("Please input your name:");
scanf("%s", name);
printf("\"%s\"\n", name);
printf("\"%20s\"\n", name);
printf("\"%-20s\"\n", name);
number=strlen(name)+3;
printf("\"%*s\"\n",number, name);
return 0;
}
3.編寫一個程式,讀取一個浮點數,首先以小數點計數法列印,然後以指數法列印,用下面的格式進行輸出:
a.The input is 21.3 or 2.1e+oo1.
b.The input id +21.290 or 2.129E+001
#include<stdio.h>
int main(void)
{
float number1,number2;
printf("Please input a number:");
scanf("%f,%f", &number1,&number2);
printf("The input %.1f or %.1e.\n", number1, number1);
printf("The input %+.3f or %.3E.\n", number2, number2);
return 0;
}
4.編寫一個程式,提示使用者輸入身高和姓名,以下面的格式顯示使用者剛輸入的資訊:
Dabney,you are 6.208 feet tall
使用float類型,并用/作為除号。如果你願意,可以要求使用者以厘米為機關顯示。
#include<stdio.h>
int main(void)
{
char name[10];
float number;
printf("Please input your name:");
scanf("%s", name);
printf("Please input your height:");
scanf("%f", &number);
printf("%s,you are %.3f meter tall", name, number/100);
return 0;
}
5.編寫一個程式,提示使用者輸入以兆位每秒(Mb/s)為機關的下載下傳速度和以兆位元組(MB)為機關的檔案大小。程式中應計算檔案的下載下傳時間。注意,這裡1位元組等于8位。使用float類型,并用/作為除号。該程式要以下面的格式列印3個變量的值(下載下傳速度、檔案大小和下載下傳時間),顯示小數點後面兩位數字:
At 18.12 megabits per second, a file of 2.20 megabytes
downloads in 0.97 seconds.
#include<stdio.h>
int main(void)
{
float mb_speed, MB;
printf("Please input mb_speed:");
scanf("%f", &mb_speed);
printf("Please input MB:");
scanf("%f", &MB);
printf("At %.2f megabits per second, a file of %.2f megabytes\n", mb_speed,MB);
printf("downloads in %.2f seconds.", MB * 8 / mb_speed);
return 0;
}
6.編寫一個程式,先提示使用者輸入名,然後提示使用者輸入姓。在一行列印使用者輸入的名和姓,下一行分别列印名和姓的字母數。字母數要與相應名和姓的結尾對齊,如下所示:
Melisia Honeybee
7 8
接下來,再列印相同的資訊,但是字母個數與相應的姓和名的開頭對齊,如下所示:
Melisia Honeybee
7 8
#include<stdio.h>
#include<string.h>
int main(void)
{
char first_name[8];
char last_name[8];
int m, n;
printf("Please input first_name:");
scanf("%s", first_name);
printf("Please input last_name:");
scanf("%s", last_name);
m = strlen(first_name);
n = strlen(last_name);
printf("%s %s\n", first_name, last_name);
printf("%*d %*d\n", m, m,n,n);
printf("%s %s\n", first_name, last_name);
printf("%d %d", m, n);
return 0;
}
7.編寫一個程式,将一個double類型的變量設定為1.0/3.0,一個float類型的變量設定為1.0/3.0。分别顯示兩次計算的結果各3次:一次顯示小數點後面6位數字;一次顯示小數點後面12位數字;一次顯示小數點後面16位數字。程式中要包含float.h頭檔案,并顯示FLT_DIG和DBL_DIG的值。1.0/3.0的值與這些值一緻嗎?
8.編寫一個程式,提示使用者輸入旅行的裡程和消耗的汽油量。然後計算并顯示消耗每加侖汽油行駛的英裡數,顯示小數點後面一位數字。接下來,使用1加侖大約3.785升,1英裡大約為1.609千米,把機關是英裡/加侖的值轉換為升/100公裡(歐洲通用的燃料消耗表示法),并顯示結果,顯示小數點後面1位數字。
#include<stdio.h>
#define JIALUN_SHENG 3.785
#define YINGLI_QIANMI 1.609
int main(void)
{
float m, n;
printf("please input the jialun:");
scanf("%f", &m);
printf("please input the yingli:");
scanf("%f", &n);
printf("please input the jialun/yingli:%.1f\n",m/n);
printf("please input the sheng/100qianmi:%.1f\n", m* JIALUN_SHENG /100* n* YINGLI_QIANMI);
return 0;
}