#include<stdio.h>
#include<ctype.h>
int main(void)
{
unsigned auto short space_d=0;
unsigned auto short enter_d=1;
unsigned auto short other_d=0;
unsigned auto short characte=0;
char ch;
whil:ch=getchar();
{
if(ispunct(ch))
characte++;
if(ch==' ')
space_d++;
if(ch=='\n')
++enter_d;
else
other_d++;
putchar(ch);
if(ch=='#')
goto done;
goto whil;
}
done: printf("\ncharacte==%hu space==%hu enter==%hu other==%hu\n",characte,space_d,enter_d,other_d);
printf("Done!\n");
return 0;
}
#include<stdio.h>
#define SIZE 8
int main(void)
{
unsigned auto int size=1;
int ch;
while('#'!=(ch=getchar()))
{
if(size++<=SIZE)
printf("%c==%d\t",ch,ch);
else if(size%SIZE==0)
putchar('\n');
}
return 0;
}
```c
#include<stdio.h>
int main(void)
{
unsigned auto short odd=0;
float odd_d=0;
unsigned auto short even=0;
float even_d=0;
unsigned auto short x;
while((scanf("%hu",&x)==1) && x!=0 )
{
if(x%2==0)
{
even_d+=x;
even++;
}
else
{
odd_d+=x;
odd++;
}
}
printf("odd==%hu\teven==%hu\nodd_average==%.2f\teven_average==%.2f\n",odd,even,odd_d/odd,even_d/even);
return 0;
}
#include<stdio.h>
int main(void)
{
unsigned auto int ch,c[3];
unsigned auto short count=0;
in:ch=getchar();
if(ch!='#')
{
if(ch=='!')
{
c[0]=ch;
c[1]='!';
count++;
printf("%s",c);
}
putchar(ch);
goto in;
}
printf("\n%hu\nDone!\n",count);
return 0;
}
#include<stdio.h>
int main(void)
{
unsigned auto short count=0;
unsigned auto ch,c[3];
whil:ch=getchar();
switch(ch)
{
case '#':
goto done;
case '!':
{
c[0]='!';
c[1]=ch;
count++;
printf("%s",c);
}
default:
{
putchar(ch);
goto whil;
}
}
done:printf("一共替换了%hu次\nDone!\n",count);
return 0;
}
#include<stdio.h>
int main(void)
{
unsigned auto short count=0;
char ch,c1='\n',c2='\n';
while('#'!=(ch=getchar()))
{
if(ch=='e')
{
c1=ch;
}
if(ch=='i')
{
c2=ch;
if(c1=='e'&&c2=='i')
count++;
}
}
printf("count==%hu\n",count);
return 0;
}
``
7用#define定义符号常量。不用在意是否符合当前的税法。*/
#include<stdio.h>
#define BASE_AY 1000
#define WORK_TIME 40
#define OVERTIME_PAY 1.5
#define THREE_PAY 300
#define THREE_TAX 0.15
#define CONTINUED_PAY 150
#define CONTINUED_TAX 0.2
#define MORE_TAX 0.25
int main(void)
{
printf("请输入一周的工作时间\n");
unsigned auto short int week;
double pay=0.0;
float tax=0.0;
double net_income=0.0;
scanf("%hu",&week);
if(week>WORK_TIME)
pay=BASE_AY+( week-WORK_TIME)*OVERTIME_PAY;
else
pay=BASE_AY;
if(pay<=THREE_PAY)
tax=pay*THREE_TAX;
else if(pay>THREE_PAY && pay<=(THREE_PAY+CONTINUED_PAY))
tax=pay*CONTINUED_TAX;
else
tax=pay*MORE_TAX;
net_income=pay-tax;
printf("工资总额=%.2f\n税金=%.2f\n净收入=%.2f\n",pay,tax,net_income);
}
```c
#include<stdio.h>
#define WORK_TIME 40
#define OVERTIME_PAY 1.5
#define THREE_PAY 300
#define THREE_TAX 0.15
#define CONTINUED_PAY 150
#define CONTINUED_TAX 0.2
#define MORE_TAX 0.25
int main(void)
{
start:
printf("请选择每小时的薪水\n");
printf("(1)$8.75\t");
printf("(2)$9.33\n");
printf("(3)$10.0\t");
printf("(4)$11.20\n");
printf("(5)quit\n");
unsigned auto short int select,time;
printf("Enter the number corresponding to the desired pay rate or action:\n");
float pay=0.0;
while(scanf("%hu",&select)==1 && select!=5)
{
switch(select)
{
case 1:
pay=8.75;
break;
case 2:
pay=9.33;
break;
case 3:
pay=10.0;
break;
case 4:
pay=11.20;
break;
case 5:
goto done;
default :
{
printf("请正确选择时薪\n");
printf("(1)$8.75/h\t");
printf("(2)$9.33/h\n");
printf("(3)$10.0/h\t");
printf("(4)$11.20/h\n");
printf("(5)Quit!\n");
continue;
}
}
float base_pay=0,tax=0,net_income=0;
printf("请输入加班时间\n");
while(scanf("%hu",&time)==1 && time>=0)
{
if(time>WORK_TIME)
base_pay=pay*time*OVERTIME_PAY;
base_pay=pay*time;
if(base_pay<=THREE_PAY)
tax=base_pay*THREE_TAX;
else if(base_pay<=(THREE_PAY+CONTINUED_PAY))
tax=base_pay*CONTINUED_TAX;
else if(base_pay>(THREE_PAY+CONTINUED_PAY))
tax=base_pay*MORE_TAX;
net_income=base_pay-tax;
printf("总工资=%.2f\n税金=%.2f\n净收入=%.2f\n",base_pay,tax,net_income);
goto start;
}
}
done:printf("!Done\n");
return 0;
}
#include<stdio.h>
#include<stdbool.h>
int main(void)
{
unsigned auto short int divisor,dividend=2,consult=0,product=0,sum=0;
conti:printf("请输入一个正整数:...\b\b\b");
while(scanf("%u",&divisor)==1)
{ putchar('\n');
if(divisor<=dividend)
goto conti;
while(divisor>2)
{
dividend=2;
consult=divisor/dividend;
while(dividend<=consult)
{
sum=consult;
while(sum>=1)
{
product=dividend*sum;
if(product==divisor)
goto brea;
sum--;
}
dividend++;
if(divisor==product)
divisor=2;
}
if(divisor!=product)
printf("这个质数是:%hu\t",divisor);
brea:
divisor--;
}
printf("\n请输入一个正整数\n");
}
return 0;
}
#include<stdio.h>
#define SINGLE 17850
#define HEAD 23900
#define MARRIED_G 29750
#define MARRIED_L 14875
#define E_TAX 0.28
#define TAX 0.15
void select(int i);
void cat(void);
int main(void)
{
unsigned auto int pay,i;
float tax=0;
whiles:printf("请选择社会类别\n");
cat();
scanf("%u",&i);
select(i);
if(i>=1&&i<=4)
{
printf("请输入工资:.....\b\b\b\b\b\b");
while(scanf("%u",&pay)==1)
{
if(pay>SINGLE&&i==1)
tax=pay*TAX+E_TAX*(pay-SINGLE);
else if(pay<=SINGLE&&i==1)
tax=pay*TAX;
else if(pay>HEAD&& i==2)
tax=pay*TAX+E_TAX*(pay-HEAD);
else if(pay<=HEAD && i==2)
tax=pay*TAX;
else if(pay>MARRIED_G&&i==3)
tax=pay*TAX+E_TAX*(pay-MARRIED_G);
else if(pay<=MARRIED_G &&i==3)
tax=pay*TAX;
else if(pay>MARRIED_L&& i==4)
tax=pay*TAX+E_TAX*(pay-MARRIED_L);
else if(pay<=MARRIED_L&&i==4)
tax=pay*TAX;
printf("需要缴税%.2f\n",tax);
goto whiles;
}
}
else
goto whiles;
putchar('\n');
return 0;
}
void select (int s)
{
switch(s)
{
case 1:
printf("你是单身\n");
break;
case 2:
printf("你是户主\n");
break;
case 3:
printf("你是已婚,共有\n");
break;
case 4:
printf("你是已婚,离异\n");
break;
}
}
void cat(void)
{
printf("(1)单身\t");
printf("\t(2)户主\n");
printf("(3)已婚/共有\t");
printf("(4)已婚/离异\n");
}
*11.ABC 邮购杂货店出售的洋蓟售价为 2.05 美元/磅,甜菜售价为 1.15 美元/磅,胡萝卜售价为 1.09美元/磅。在添加运费之前,100美元的订单有5%的打折优惠。少于或等于5磅的订单收取6.5美元的运费和包装费,5磅~20磅的订单收取14美元的运费和包装费,超过20磅的订单在14美元的基础上每续重1磅增加0.5美元。编写一个程序,在循环中用switch语句实现用户输入不同的字母时有不同的响应,即输入a的响应是让用户输入洋蓟的磅数,b是甜菜的磅数,c是胡萝卜的磅数,q 是退出订购。程序要记录累计的重量。即,如果用户输入 4 磅的甜菜,然后输入 5磅的甜菜,程序应报告9磅的甜菜。然后,该程序要计算货物总价、折扣(如果有的话)、运费和包装费。随后,程序应显示所有的购买信息:物品售价、订购的重量(单位:磅)、订购的蔬菜费用、订单的总费用、折扣(如果有的话)、运费和包装费,以及所有的费用总额。*/
#include<stdio.h>
#define YANG 2.05
#define TIAN 1.15
#define HU 1.09
#define BAI 100
#define ZHE 0.05
#define WU 5
#define JIA 6.5
#define ER 20
#define JIA_E 14
#define C_JIA 0.5
void select ();
char insert(char ch);
int main(void)
{
float yang=0,tian=0,hu=0,zhe=0,yun=0,pays=0;
unsigned auto short int bang,yang_b=0,tian_b=0,hu_b=0,bangs=0;
char ch,c='\n';
select();
while('#'!=(ch=getchar()))
{
switch(ch)
{
case 'a':
{
printf("请输入洋蓟的磅数\n");
bang=0;
while(scanf("%hu",&bang)==1 && bang>0)
yang_b+=bang;
printf("订购了%hu磅洋蓟\n",yang_b);
printf("零售价:%.2f\n",YANG);
yang=yang_b*YANG;
c=insert(ch);
putchar(c);
printf("总价为:%.2f\n",c,yang);
while(getchar()!='\n')
continue;
break;
}
case 'b':
{
printf("请输入甜菜的磅数\n");
bang=0;
while(scanf("%hu",&bang)==1 && bang>0)
tian_b+=bang;
printf("订购了%hu磅甜菜",tian_b);
printf("零售价:%.2f\n",TIAN);
tian=tian_b*TIAN;
c=insert(ch);
putchar(c);
printf("总价为:%.2f\n",tian);
while(getchar()!='\n');
continue;
break;
}
case 'c':
{
printf("请输入胡萝卜的磅数\n");
bang=0;
while(scanf("%hu",&bang)==1 && bang>0)
hu_b+=bang;
printf("订购了%hu磅或萝卜\n",hu_b);
printf("零售价:%.2f\n",HU);
hu=hu_b*HU;
c=insert(ch);
putchar(c);
printf("总价为%.2f\n",hu);
while(getchar()!='\n');
break;
}
case 'q':
goto exit;
}
select();
continue;
}
exit:
bangs=yang_b+tian_b+hu_b;
pays=yang+tian+hu;
if(bangs<=WU)
{
yun=JIA;
pays+=JIA;
}
else if(bangs>WU&&bangs<=ER)
{
yun=JIA_E;
pays+=JIA_E;
}
else if(bangs>ER)
{
yun=JIA_E+pays*C_JIA;
pays=pays+JIA_E+pays*C_JIA;
}
printf("运费是=%.2f\n",yun);
if(pays>=BAI)
zhe=pays*ZHE;
printf("折扣是%.2f元\n",zhe);
pays=pays-zhe;
printf("打完折是:%.2f元\n",pays);
printf("退出订购!\n");
return 0;
}
char insert(char ch)
{
switch(ch)
{
case 'a':
printf("洋蓟");
break;
case 'b':
printf("甜菜");
break;
case 'c':
printf("胡萝卜");
break;
}
}
void select(void)
{
printf("(a)洋蓟\t");
printf("(b)甜菜\n");
printf("(c)胡萝卜\t");
printf("(q)退出订购\n");
}