7.2
#include<stdio.h>
#include<string.h>
int main(void)
{
int i=0;
int s;
char ch;
while((ch=getchar())!='#')
{
putchar(ch);
printf("%d ",ch);
i++;
if(i%8==0)
printf("\n");
}
printf("\n");
return 0;
}
7.3
#include<stdio.h>
int main(void)
{
int integer, i, j;
i = j = 0;
float sum_even = 0.0, sum_odd = 0.0;
while (scanf("%d", &integer) == 1)
{
if (integer == 0)
break;
else if (integer % 2 == 0)
{
i++;
sum_even += integer;
}
else
{
j++;
sum_odd += integer;
}
}
printf("偶数的个数:%d,偶数的平均值:%.2f,奇数的个数:%d,奇数的平均值:%.2f\n", i, sum_even / i, j, sum_odd / j);
return 0;
}
7.6
#include<stdio.h>
#include<ctype.h>
int main(void)
{
char ch;
int i,j;//j:记录e出现的位置
int count;//出现的次数
i=j=count=0;
while((ch=getchar())!='#')
{
i++;
if(ch=='e')
j=i;
if(j+1==i&&ch=='i')
count++;
}
printf("ei出现的次数:%d\n",count);
return 0;
}
7.9
#include<stdio.h>
#include<stdbool.h>
bool isPrimer(int num);
int main(void)
{
int num;
do
{
printf("请输入一个整数;");
} while (scanf("%d", &num) != 1);
for (; num >= 1; num--)
{
if (isPrimer(num))
printf("%d ", num);
}
printf("\n");
return 0;
}
bool isPrimer(int num)
{
int i;
for (i = num - 1; i>1; i--)
{
if (num%i == 0)
return false;
}
return true;
}
7.10
#include<stdio.h>
#define ANGLE 1//单身
#define HUZHU 2//户主
#define MARRY_1 3//已婚,共有
#define MARRY_2 4//离异
#define MONEY_1 17850
#define MONEY_2 23900
#define MONEY_3 29750
#define MONEY_4 14875
int main(void)
{
int sex;
float number,s;
char ch;
printf("请正确选择类型:\n");
printf("1:单身 2:户主\n");
printf("3:已婚,共有 4:已婚,离异\n");
printf("'q':退出\n");
while(scanf("%d%f",&sex,&number)==2&&sex>=1&&sex<=4)
{
if(sex==ANGLE)
{
if(number<=MONEY_1)
s=number*0.15;
else
s=(number-MONEY_1)*0.28+MONEY_1*0.15;
}
else if(sex==HUZHU)
{
if(number<=MONEY_2)
s=number*0.15;
else
s=(number-MONEY_2)*0.28+MONEY_2*0.15;
}
else if(sex==MARRY_1)
{
if(number<=MONEY_3)
s=number*0.15;
else
s=MONEY_3*0.15+(number-MONEY_3)*0.208;
}
if(sex==MARRY_2)
{
if(number<=MONEY_4)
s=number*0.15;
else
s=MONEY_4*0.15+(number-MONEY_4)*0.28;
}
printf("应缴纳税费:%.2f\n",s);
}
printf("Bye!\n");
return 0;
}
7.11
#include<stdio.h>
#define YANG 2.05
#define TIANCAI 1.15
#define HULUOBO 1.09
#define DISCOUNT 0.05
int main(void)
{
double num, s1, s2, s3, s, dis;
double sum, d, sum_1, pay, b1, b2, b3, b;
pay = dis = s = 0;
b1 = b2 = b3 = sum = b = 0;
char ch;
while (1)
{
do
{
printf("请选择蔬菜:\n");
printf("a:洋蓟的磅数 b:甜菜的磅数 c:胡萝卜的磅数 q:退出\n");
} while (scanf("%c", &ch) != 1);
if (ch == 'q')
break;
printf("请输入重量:");
scanf("%lf", &num);//订购的重量
switch (ch)
{
case 'a': b1 += num; printf("物品售价:%f 订购的重量:%lf\n ", YANG, b1);
break;//b:物品重量 s_1:售价
case 'b': b2 += num; printf("物品售价:%f 订购的重量:%lf\n ", TIANCAI, b2);
break;
case 'c': b3 += num; printf("物品售价:%f 订购的重量:%lf\n ", HULUOBO, b3);
break;
}
b += b1 + b2 + b3;
while ((getchar()) != '\n')
continue;
}
if (b>0 && b <= 5)
s = 6.5;//s:运费和包装费
else if ((b > 5) && b < 20)
s = 14;
else if (b > 20)
s = (b - 20)*0.5 + 14;
sum = b1*YANG + b2*TIANCAI + b3*HULUOBO;//订购的蔬菜费用
sum_1 = sum;
if (sum >= 100)
dis = sum*DISCOUNT;//折扣
d = sum_1 + s - dis;
printf("运费和包装费:%lf", s);
if (sum >= 100)
printf(" 折扣的费用:%lf", dis);
printf("订购的蔬菜费用:%lf 订单的总费用:%lf\n", sum, d);
return 0;
}