1.
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch;
int blanks,lines,words;
blanks = lines = words = 0;
printf("Enter a sentence:\n");
while((ch = getchar()) != '#')
{
if (ch == ' ')
blanks++;
else if (ch == '\n')
lines++;
else
words++;
}
printf("blanks = %d\nlines = %d\nwords = %d",blanks,lines,words);
return 0;
}
2.
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch;
int count = 0;
printf("Enter a sentence:");
while ((ch = getchar()) != '#')
{
printf("%c-%d\t",ch,ch);
count++;
if (count % 8 == 0)
{
printf("\n");
count = 0;
}
}
return 0;
}
3.
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int inputs;
int sum_of_evens,sum_of_odds;
int evens,odds;
float average_of_evens,average_of_odds;
sum_of_evens = sum_of_odds = 0;
evens = odds = 0;
printf("Please enter first number,0 to quit:");
while ((scanf("%d",&inputs) == 1) && (inputs != 0))
{
if (inputs % 2 == 0)
{
sum_of_evens += inputs;
evens++;
}
else
{
sum_of_odds += inputs;
odds++;
}
printf("Please enter next number, 0 to quit:");
}
if (evens > 0)
average_of_evens = (float)sum_of_evens / (float)evens;
if (odds > 0)
average_of_odds = (float)sum_of_odds / (float)odds;
printf("The sum of evens is %d, and the average of them is %.2f\n",sum_of_evens,average_of_evens);
printf("The sum of odds is %d, and the average of them is %.2f\n",sum_of_odds,average_of_odds);
return 0;
}
4.
#include <stdio.h>
int main(void)
{
int a,b,s;
char ch,oh;
a = b = s = 0;
oh = '!';
printf("Enter some words or numbers:");
while ((ch = getchar()) != '#')
{
if (ch == '.')
{
putchar(oh);
a++;
}
else if (ch == '!')
{
putchar('!');
putchar('!');
b++;
}
else
putchar(ch);
}
s = a + b;
printf("\n");
printf("Totally there %s %d %s\n", (s > 1)?"are":"is", s , (s > 1)?"replacements":"replacement");
return 0;
}
5.
#include <stdio.h>
int main(void)
{
int a,b,s;
char ch,oh;
a = b = s = 0;
oh = '!';
printf("Enter some words or numbers:");
while ((ch = getchar()) != '#')
{
switch(ch)
{
case '.':
putchar(oh);
a++;
break;
case '!':
putchar('!');
putchar('!');
b++;
break;
default:
putchar(ch);
}
}
s = a + b;
printf("\n");
printf("Totally there %s %d %s\n", (s > 1)?"are":"is", s , (s > 1)?"replacements":"replacement");
return 0;
}
6.
#include <stdio.h>
int main(void)
{
char ch,prev,now;
int times = 0;
while((ch = getchar()) != '#')
{
if(ch == 'e')
{
prev = ch;
continue;
}
if(ch == 'i')
{
now = ch;
if(prev == 'e' && now == 'i')
times++;
now = 'a'; //初始化now的值,下同
prev = 'a';
continue;
}
continue;
}
printf("There %s %d ei.\n",(times > 1)?"are":"is",times);
return 0;
}
7.
#include <stdio.h>
#define BASE 10.0
#define RATE_1 0.15
#define RATE_2 0.2
#define RATE_3 0.25
int main(void)
{
int hours;
float base_salary;
float rate;
float income;
const regular_hours = 40;
printf("Enter your working hours per week:");
scanf("%d",&hours);
if (hours > regular_hours)
{
base_salary = BASE * regular_hours + (hours - regular_hours) * 15;
if (base_salary >= 300 && base_salary <= 450)
rate = 300*0.15 + (base_salary-300)*0.2;
if (base_salary >= 450)
rate = 300*0.15 + 150*0.2 + (base_salary-450)*0.25;
income = base_salary - rate;
}
else
{
base_salary = BASE * hours;
if (base_salary >= 300 && base_salary <= 450)
rate = 300*0.15 + (base_salary-300)*0.2;
if (base_salary >= 450)
rate = 300*0.15 + 150*0.2 + (base_salary-450)*0.25;
if (base_salary < 300)
rate = 0;
income = base_salary - rate;
}
printf("Your salary is $%.2f, income is $%.2f, tax is $%.2f\n",base_salary,income,rate);
return 0;
}
8.
#include <stdio.h>
#define RATE_1 0.15
#define RATE_2 0.2
#define RATE_3 0.25
int main(void)
{
int hours;
int num;
float BASE;
float base_salary;
float rate;
float income;
const regular_hours = 40;
char ch;
printf("Enter s to start, # to terminate:");
while((ch = getchar()) != '#')
{
printf("You could choose the level of salary first:\n");
printf("%-25s%-25s\n%-25s%-25s\n%-25s\nYour choice is:","1) $8.75/r","2) $9.33/hr","3) $10.00/hr","4) $11.20/hr","5) quit");
scanf("%d",&num);
switch(num)
{
case 1:
BASE = 8.75;
break;
case 2:
BASE = 9.33;
break;
case 3:
BASE = 10.00;
break;
case 4:
BASE = 11.20;
break;
case 5:
break;
default:
printf("Please enter number 1 to 5:");
continue;
}
printf("Enter your working hours per week:");
scanf("%d",&hours);
if (hours > regular_hours)
{
base_salary = BASE * regular_hours + (hours - regular_hours) * 15;
if (base_salary >= 300 && base_salary <= 450)
rate = 300*0.15 + (base_salary-300)*0.2;
if (base_salary >= 450)
rate = 300*0.15 + 150*0.2 + (base_salary-450)*0.25;
income = base_salary - rate;
}
else
{
base_salary = BASE * hours;
if (base_salary >= 300 && base_salary <= 450)
rate = 300*0.15 + (base_salary-300)*0.2;
if (base_salary >= 450)
rate = 300*0.15 + 150*0.2 + (base_salary-450)*0.25;
if (base_salary < 300)
rate = 0;
income = base_salary - rate;
}
printf("Your salary is $%.2f, income is $%.2f, tax is $%.2f\n\n",base_salary,income,rate);
}
return 0;
}
9.
#include <stdio.h>
#include <stdbool.h>
int main(void)
{
int num;
int i;
int min = 1;
bool isPrime;
printf("Enter a integer:");
scanf("%d",&num);
while(min < num)
{
for(i=2, isPrime=true; (i*i) <= min; i++)
{
if(min % i == 0)
{
isPrime = false;
break;
}
}
if(isPrime)
{
printf("%d is a prime which is smaller than your number.\n",min);
}
min++;
}
return 0;
}
10. 思路同8
11.
#include <stdio.h>
int main(void)
{
char ch = 0;
char choice;
float a,b,c;
float sum_a,sum_b,sum_c;
sum_a = sum_b = sum_c = 0;
while(ch != 'q')
{
printf("Tell me the things you want to buy, q to quit:\n");
printf("%-15s%-15s%-15s%-15s\n","a)artichoke","b)beta","c)carota","q)quit");
ch = getchar();
switch(ch)
{
case 'a':
printf("Enter the pounds of artichoke:");
scanf("%f",&a);
sum_a += a;
break;
case 'b':
printf("Enter the pounds of beta:");
scanf("%f",&b);
sum_b += b;
break;
case 'c':
printf("Enter the pounds of carota:");
scanf("%f",&c);
sum_c += c;
break;
case 'q':
continue;
default:
printf("That is invalid, Please enter again.\n");
break;
}
while(getchar() != '\n')
continue;
}
}