1.
#include <stdio.h>
int main (void)
{
int space = 0, line = 1, other = 0;
char a;
printf ("input a string finished by \"#\": ");
while ((a = getchar ()) != '#')
if (a == ' ')
space++;
else if (a == '\n')
line++;
else
other++;
printf ("space: %d\nline: %d\nother: %d", space, line, other);
return 0;
}
2.
#include <stdio.h>
int main (void)
{
int num = 0;
char a;
while ((a = getchar ()) != '#')
{
printf ("%d ", a);
num++;
if (num % 8 == 0)
printf ("\n");
}
return 0;
}
3.
#include <stdio.h>
int main (void)
{
int num;
int odd = 0, even = 0;
int odd_sum = 0, even_sum = 0;
while (1)
{
scanf ("%d", &num);
if (num == 0)
break;
else if (num % 2 == 0)
{
even++;
even_sum += num;
}
else if (num % 2 == 1)
{
odd++;
odd_sum += num;
}
}
printf ("odd: %d average: %f\n", odd, (float)odd_sum / odd);
printf ("even: %d average: %f", even, (float)even_sum / even);
return 0;
}
4.
#include <stdio.h>
int main (void)
{
char a;
int num1 = 0, num2 = 0;
while ((a = getchar ()) != '#')
{
if (a == '.')
{
putchar ('!');
num1++;
}
else if (a == '!')
{
putchar ('!');
putchar ('!');
num2++;
}
else putchar (a);
}
printf ("'.' to '!': %d\n'!' to '!!': %d", num1, num2);
return 0;
}
5.
#include <stdio.h>
int main (void)
{
char ch;
while ((ch = getchar ()) != '#')
{
switch (ch)
{
case '.':
putchar ('!');
continue;
case '!':
putchar ('!');
putchar ('!');
continue;
default:
putchar (ch);
}
}
return 0;
}
6.
#include <stdio.h>
int main (void)
{
char ch1, ch2;
int num = 0;
while ((ch1 = getchar ()) != '#')
{
if ((ch1 == 'i') && (ch2 == 'e'))
num++;
ch2 = ch1;
}
printf ("%d", num);
return 0;
}
7.
#include <stdio.h>
#define base 1000
#define lv1 300 * 0.15
#define lv2 150 * 0.2
int main (void)
{
int time;
float money1, money2;
printf ("Enter your work time: ");
scanf ("%d", &time);
if (time <= 40)
{
money1 = base * time;
money2 = money1 - lv1 - lv2 - (money1 - 300 - 150) * 0.25;
}
else
{
money1 = base * 40 + (time - 40) * 1.5 * base;
money2 = money1 - lv1 - lv2 - (money1 - 300 - 150) * 0.25;
}
printf ("%f\n%f\n%f", money1, money1 - money2, money2);
return 0;
}
8.
#include <stdio.h>
#define base 1000
#define lv1 300 * 0.15
#define lv2 150 * 0.2
int main (void)
{
int time;
int 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 ("1) $8.75/hr 2) $9.33/hr\n");
printf ("3) $10.00/hr 4) $11.20/hr\n");
printf ("5) quit\n");
for (i = 0; i < 65; i++)
printf ("*");
printf ("\n");
scanf ("%d", &choice);
while (choice != 5)
{
switch (choice)
{
case 1:
wages = 8.75;
break;
case 2:
wages = 9.33;
break;
case 3:
wages = 10.00;
break;
case 4:
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 ("%f\n%f\n%f\n", money1, money1 - money2, money2);
printf ("Enter the number(5 to quit): ");
scanf ("%d", &choice);
}
return 0;
}
9.
#include <stdio.h>
int su (int num);
int main (void)
{
int num;
int i;
printf ("Enter a number: ");
scanf ("%d", &num);
while (num > 0)
{
for (i = 2; i < num; i++)
if(su (i))
printf ("%d\n", i);
printf ("Enter a number(< 0 to quit): ");
scanf ("%d", &num);
}
return 0;
}
int su (int num)
{
int i;
for (i = 2; i * i <= num; i++)
if (num % i == 0)
return 0;
return 1;
}
10.
#include <stdio.h>
void mo (int ch, float mon);
void no (float mon);
int main (void)
{
int choice;
float money1;
for (int i = 0; i < 60; i++)
printf ("*");
printf ("\nEnter your choice:\n");
printf ("1) single 2) householder\n");
printf ("3) married share 4) married divorce\n");
for (int i = 0; i < 60; i++)
printf ("*");
printf ("\n");
scanf ("%d", &choice);
while ((choice >= 1) && (choice <= 4))
{
printf ("Enter your money:\n");
scanf ("%f", &money1);
mo (choice, money1);
printf ("Enter your choice:\n");
scanf ("%d", &choice);
}
}
void mo (int ch, float mon)
{
float base;
switch (ch)
{
case 1:
base = 17850;
break;
case 2:
base = 23900;
break;
case 3:
base = 29750;
break;
case 4:
base = 14875;
break;
}
if (mon <= base)
printf ("%f\n", mon * 0.15);
else
printf ("%f\n", base * 0.15 + (mon - base) * 0.28);
return;
}
11.
#include<stdio.h>
#define huluobo 1.09
#define yangji 2.05
#define tiancai 1.15
#define youhuizhongliang 100
#define youhui 0.05
#define lv1 6.5
#define lv2 14
#define lv3 0.5
int main (void)
{
char ch;//选项
int zhongliang = 0.0;//重量
int zongzhongliang = 0.0;//总重量
float shucaifeiyong = 0.0;//蔬菜费用
int zongfeiyong = 0.0;//总费用
float zhekou = 0.0;//折扣
float yunfei = 0.0;//运费和包装费
int zonge = 0.0;//总额
int danjia = 0.0;//单价
printf("Please enter the letter of the vegetable: \n");
printf("a. Artichoke 2.05\n"
"b. Beet 1.15\n"
"c. Carrot 1.09\n"
"q. quit\n");
scanf("%c", &ch);
while(ch != 1)
{
zhongliang = 0;
switch(ch)
{
case 'a':
danjia = yangji;
break;
case 'b':
danjia = tiancai;
break;
case 'c':
huluobo;
break;
case 'q':
break;
}
if(ch =='q')
break;
printf("Please enter the weight of vegetable: \n");
scanf("%d", &zhongliang);
zongzhongliang += zhongliang;
shucaifeiyong += zhongliang * danjia;
printf("Please enter the letter of the vegetable: \n");
scanf("%c", &ch);
ch = getchar();
}
if(shucaifeiyong > 100)
{
shucaifeiyong *= 0.95;
zhekou = shucaifeiyong * 0.05;
}
if(zongzhongliang <= 5)
yunfei = 6.5;
else if(zongzhongliang <= 20)
yunfei = 14;
else
yunfei = 14 + (zongzhongliang - 20) * 0.5;
printf("weight: %d\ncost: %f\ndiscount: %f\nfreight: %f\n", zongzhongliang, shucaifeiyong, zhekou, yunfei);
}