24
输入一行字符,统计英文字母、空格、数字、其他字符,回车表示结束
char ch;
int alphabet, space, num, it;
alphabet = 0;
space = 0;
num = 0;
it = 0;
while ((ch = getchar()) != '\n')
{
if (('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z'))
alphabet++;
else if (ch == ' ')
space++;
else if ('0' <= ch && ch <= '9')
num++;
else
it++;
}
it++;
printf("alphabet: %d\nspace: %d\nnum: %d\nit: %d\n", alphabet, space, num, it);
25
打印图形
int i, j;
for (i = 1; i <= 7; i++)
{
for (j = 1; j <= (i - 1) * 2; j++)
printf(" ");
printf("* * * * * * *\n");
}
运行结果
26
输入学生成绩表,采用结构体,输出平均分最高的学生所有信息
struct
{
char name[20];
float chinese;
float math;
float english;
} stu[4];
void main()
{
float ave, max = 0;
int k;
printf("请依次同学的相关信息\n");
printf("姓名 语文 数学 外语\n");
for (int i = 0; i < 4; i++)
{
scanf("%s %f %f %f", stu[i].name, &stu[i].chinese, &stu[i].math, &stu[i].english);
}
for (int i = 0; i < 4; i++)
{
ave = (stu[i].chinese + stu[i].math + stu[i].english) / 3;
if (ave > max)
{
max = ave;
k = i;
}
}
printf("平均分最高信息:\n");
printf("姓名 语文 数学 外语\n");
printf("%-4s %.1f %.1f %.1f\n", stu[k].name, stu[k].chinese, stu[k].math, stu[k].english);
}
输入信息
zhao 97.5 69.0 78.0
qian 80.0 93.0 87.5
sun 75.0 89.5 68.5
li 72.5 68.5 54.0
运行结果