第1题
#include <stdio.h>
int main(void)
{
char ch;
int sp_ct = 0;
int nl_ct = 0;
int other = 0;
while ((ch = getchar()) != '#')
{
if (ch == ' ')
sp_ct++;
else if (ch == '\n')
nl_ct++;
else
other++;
}
printf("spaces: %d, newlines: %d, others: %d\n", sp_ct, nl_ct, other);
return 0;
}
第2题
#include <stdio.h>
int main(void)
{
char ch;
int count = 0;
while ((ch = getchar()) != '#')
{
count++;
printf("%c - %d ", ch, ch);
if (count % 8 == 0)
printf("\n");
}
return 0;
}
第3题
#include <stdio.h>
int main(void)
{
int n;
double sumeven = 0.0;
int ct_even = 0;
double sumodd = 0.0;
int ct_odd = 0;
while (scanf("%d", &n) == 1 && n != 0)
{
if (n % 2 == 0)
{
sumeven += n;
ct_even++;
}
else
{
sumodd += n;
ct_odd++;
}
}
printf("Number of evens: %d", ct_even);
if (ct_even > 0)
printf(" average: %g", sumeven / ct_even);
putchar('\n');
printf("Number of odds: %d", ct_odd);
if (ct_odd > 0)
printf(" average: %g", sumodd / ct_odd);
putchar('\n');
printf("\ndone\n");
return 0;
}
第4题
#include <stdio.h>
int main(void)
{
char ch;
int ct1 = 0;
int ct2 = 0;
while ((ch = getchar()) != '#')
{
if (ch == '.')
{
putchar('!');
ct1++;
}
else if (ch == '!')
{
putchar('!');
putchar('!');
ct2