概述
1.
#include <stdio.h>
int main (void)
{
int ch;//字符
int i = 0;//字符数
while ((ch = getchar ()) != EOF)
i++;
printf ("字符数是:%dn", i);
return 0;
}
2.
#include <stdio.h>
int main (void)
{
int ch;//字符
int i;//ASCII值
int j = 0;//一行的对数
while ((ch = getchar()) != EOF)
{
printf ("%c: %d
", ch, ch);
j++;
if (j % 10 == 0)
{
printf ("n");
j = 0;
}
}
}
3.
#include <stdio.h>
int main (void)
{
char ch;
int i, j;//大小写字母数量
i = j = 0;
while ((ch = getchar ()) != EOF)
{
if ((ch >= 'a') && (ch <= 'z'))
j++;
else if ((ch >= 'A') && (ch <= 'Z'))
i++;
}//while循环结束
printf ("大写字母数量:%dn"
"小写字母数量:%d", i, j);
}
#include <stdio.h>
#include <ctype.h>
int main (void)
{
char ch;
int i = 0, j = 0;
while ((ch = getchar ()) != EOF)
{
if (islower (ch))
i++;
if (isupper (ch))
j++;
}
printf ("大写字母数量是:%dn小写字母数量是:%d", j, i);
return 0;
}
4.
#include <stdio.h>
#include <ctype.h>
int main (void)
{
char ch;
int i = 0, j = 1;
while ((ch = getchar ()) != EOF)
{
if (ch == ' ')
j++;
else if (ispunct (ch))
j++;
else
i++;
}
printf ("平均字母数:%f", (float)(i - 1) / j);
return 0;
}
5.
#include <stdio.h>
int main (void)
{
float num;
float min = 0;
float max = 100;
char ch;
printf ("Pick an integer from 0 to 100. I will try to guess "
"it.nRespond with a y if my guess is right.nn"
"If the number I guess is lower, please input '<', and"
"nif it is upper, input '>'.n");
num = min;
printf ("Is it %f?n", num);
while ((ch = getchar ()) != 'y')
{
if (ch == '<')
{
min = num;
printf ("Is it %f?n", num = (num + max) / 2);
}
else if (ch == '>')
{
max = num;
printf ("Is it %f?n", num = (num + min) / 2);
}
}
printf ("The number is %f", num);
return 0;
}
6.
#include <stdio.h>
#include <ctype.h>
char get_first (void);
int main (void)
{
char ch;
while ((ch = get_first ()) != EOF)
{
putchar (ch);
putchar ('n');
}
return 0;
}
char get_first (void)
{
int ch_;
while (isspace (ch_ = getchar ()));
while (getchar () != 'n');
return ch_;
}
7.
#include <stdio.h>
#define base 1000
#define lv1 300 * 0.15
#define lv2 150 * 0.2
int main (void)
{
int time;
char choice;
int i;
float wages;
float money1, money2;
for (i = 0; i < 65; i++)
printf ("*");
printf ("nEnter the number corresponding to the desired pay rate or action:n");
printf ("a) $8.75/hr
b) $9.33/hrn");
printf ("c) $10.00/hr
d) $11.20/hrn");
printf ("q) quitn");
for (i = 0; i < 65; i++)
printf ("*");
printf ("n");
scanf ("%c", &choice);
while (choice != 'q')
{
switch (choice)
{
case 'a':
wages = 8.75;
break;
case 'b':
wages = 9.33;
break;
case 'c':
wages = 10.00;
break;
case 'd':
wages = 11.20;
break;
}
printf ("Enter your work time: ");
scanf ("%d", &time);
if (time <= 40)
money1 = time * wages;
else
money1 = 40 * wages + (time - 40) * 1.5 * wages;
if (money1 <= 300)
money2 = money1 * (1 - 0.15);
else if (money1 <= 450)
money2 = money1 - lv1 - (money1 - 300) * 0.2;
else
money2 = money1 - lv1 - lv2 - (money1 - 450) * 0.25;
printf ("%fn%fn%fn", money1, money1 - money2, money2);
printf ("Enter the number(q to quit): ");
scanf ("%c", &choice);
}
return 0;
}
8.
#include <stdio.h>
float add (float a, float b);
float subtract (float a, float b);
float multiply (float a, float b);
float divide (float a, float b);
float get_float (void);
int main (void)
{
float a, b;
char ch;//选项
printf ("Enter the option of your choice:n"
"a. add
s. subtractn"
"m. multiply
d. dividen"
"q. quitn");
while ((ch = getchar ()) != 'q')
{
printf ("Enter first number: ");
a = get_float ();
printf ("Enter second number: ");
b = get_float ();
switch (ch)
{
case 'a':
printf ("%g", add (a, b));
break;
case 's':
printf ("%g", subtract (a, b));
break;
case 'm':
printf ("%g", multiply (a, b));
break;
case 'd':
printf ("%g", divide (a, b));
break;
}//switch结束
printf ("nEnter the option of your choice: n");
}//while循环结束
printf ("bye!");
return 0;
}
float get_float (void)
{
float num;
char str[20];
while (scanf ("%f", &num) != 1)
{
gets (str);
printf ("%s is not an number.n"
"Please enter a number, such as 2.5, -1.78E8, or 3:", str);
}
while (getchar () != 'n');
return num;
}
float add (float a, float b)
{
printf ("%g + %g = ", a, b);
return a + b;
}
float subtract (float a, float b)
{
printf ("%g - %g = ", a, b);
return a - b;
}
float multiply (float a, float b)
{
printf ("%g * %g = ", a, b);
return a * b;
}
float divide (float a, float b)
{
while (b == 0)
{
printf ("Enter a number other than 0:");
scanf ("%g", &b);
while (getchar () != 'n')
continue;
}
printf ("%g / %g = ", a, b);
return a / b;
}
最后
以上就是俊逸电话为你收集整理的C Primer Plus(第6版)第八章答案的全部内容,希望文章能够帮你解决C Primer Plus(第6版)第八章答案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复