前段时间有事耽搁了,所以更新速度慢了很多
第一题
//7-1
#include<stdio.h>
int main()
{
char ch;
int sp=0;
int nl=0;
int other=0;
while((ch=getchar()) != '#')
{
if(ch == ' ')
sp++;
else if(ch == '\n')
nl++;
else
other++;
}
printf("空格数为:%d\n换行符数为:%d\n其他字符数:%d",sp,nl,other);
return 0;
}
第二题
//7-2
#include<stdio.h>
int main()
{
int count=0;
char ch;
printf("请输入字符串:");
while((ch=getchar())!='#')
{
printf("%c-%d ",ch,(int)ch);
count++;
if((count%8)==0)
printf("\n");
}
}
第三题
//7-3
#include<stdio.h>
int main()
{
printf("请输入整数(0停止):");
int num;
int even=0,odd=0;
double sum_e=0.0;
double sum_o=0.0;
while(scanf("%d",&num)==1 && num!=0)
{
if(num%2==0)
{
even++;
sum_e+=num;
}
else
{
odd++;
sum_o+=num;
}
}
printf("The number of even numbers is:%d\n ",even);
if(even>0)
printf("The average number of even numbers is:%f\n",sum_e/even);
printf("The number of odd numbers is:%d\n ",odd);
if(odd>0)
printf("The average number of odd numbers is:%f",sum_o/odd);
return 0;
}
第四题
//7-4
#include<stdio.h>
int main()
{
char ch;
int i=0,j=0;
printf("请输入字符串(#停止):");
while((ch=getchar())!='#')
{
if(ch=='.')
{
i++;
printf("%c",'!');
}
else if(ch=='!')
{
j++;
printf("%s","!!");
}
else
printf("%c",ch);
}
printf(".被替换为!的次数为:%d\n",i);
printf("!被替换为!!的次数为:%d",j);
return 0;
}
第五题
#include<stdio.h>
int main()
{
char ch;
int i = 0;
int j = 0;
printf("请输入字符串(#停止):");
while((ch=getchar())!='#')
{
switch(ch)
{
case '.' : putchar('!');
i++;
break;
case '!' : putchar('!');
putchar('!');
j++;
break;
default : putchar(ch);
}
}
printf(".被替换为!的次数为:%d\n",i);
printf("!被替换为!!的次数为:%d",j);
return 0;
}
第六题
//7-6
#include<stdio.h>
int main()
{
printf("请输入一个字符串(遇到#停止):");
char ch1,ch2;
int count=0;
while((ch1=getchar())!='#')
{
if(ch1=='e')
if((ch2=getchar())=='i')
count++;
}
printf("有%d个ei",count);
return 0;
}
第七题
//7-7
#include<stdio.h>
#define BSALARY 10
#define BHOURS 40
#define OVER 1.5
#define MONEY1 300
#define MONEY2 150
#define TAX1 0.15
#define TAX2 0.20
#define TAX3 0.25
int main()
{
double hours,salary,tax,income;
printf("Please tell us how many hours you work a week:");
scanf("%lf",&hours);
if(hours<=BHOURS)
salary=hours*BSALARY;
else
salary=BSALARY*BHOURS+(hours-BHOURS)*OVER*BSALARY;
if(salary<=MONEY1)
tax=salary*TAX1;
else if(salary<=MONEY1+MONEY2)
tax=MONEY1*TAX1+(salary-MONEY1)*TAX2;
else
tax=MONEY1*TAX1+MONEY2*TAX2+(salary-MONEY1-MONEY2)*TAX3;
income=salary-tax;
printf("The salary is:%.2f\n",salary);
printf("The tax is:%.2f\n",tax);
printf("The income is:%.2f",income);
return 0;
}
第八题
//7.8
#include<stdio.h>
#define BHOURS 40
#define OVER 1.5
#define MONEY1 300
#define MONEY2 150
#define TAX1 0.15
#define TAX2 0.20
#define TAX3 0.25
int main()
{
double hours,salary,tax,income,BSALARY;
printf("***************************************************************** \n");
printf("Enter the number corresponding to the desired pay rate or action: \n");
printf("1) $8.75/hr 2) $9.33/hr\n3) $10.00/hr 4) $11.20/hr\n5) quit \n");
printf("***************************************************************** \n");
int x=1;
int num;
scanf("%d",&num);
while(x)
{
switch (num)
{
case 1: BSALARY=8.75;
x=0;
break;
case 2: BSALARY=9.33;
x=0;
break;
case 3: BSALARY=10.00;
x=0;
break;
case 4: BSALARY=11.20;
x=0;
break;
case 5: return 0;
default:printf("Please input a number in 1-5");
scanf("%d",&num);
}
}
printf("Please tell us how many hours you work a week:\n");
scanf("%lf",&hours);
if(hours<=BHOURS)
salary=hours*BSALARY;
else
salary=BSALARY*BHOURS+(hours-BHOURS)*OVER*BSALARY;
if(salary<=MONEY1)
tax=salary*TAX1;
else if(salary<=MONEY1+MONEY2)
tax=MONEY1*TAX1+(salary-MONEY1)*TAX2;
else
tax=MONEY1*TAX1+MONEY2*TAX2+(salary-MONEY1-MONEY2)*TAX3;
income=salary-tax;
printf("The salary is:%.2f\n",salary);
printf("The tax is:%.2f\n",tax);
printf("The income is:%.2f",income);
return 0;
}
第九题
//7-9
#include<stdio.h>
int main()
{
int num;
printf("Please input a positive integer:");
while((scanf("%d",&num))&&num>0)
{
if(num>=2)
{
printf("The prime numbers are:\n");
printf("2\n");
int div,x;
int flag=1;
for(x=3; x<=num; x++)
{
for(div=2; div<x; div++)
if(x%div==0)
flag=0;
if(flag)
printf("%d\n",x);
}
}
else
printf("No pirme");
}
return 0;
}
第十题
//7-10
#include<stdio.h>
int main()
{
int ca;
double income,tax;
printf("请输入相应类别的代表数字:1.单身 2.户主 3.已婚,共有 4.已婚,离异\n");
printf("请输入应纳税金额(输入q退出)");
while((scanf("%d",&ca))&&(scanf("%lf",&income)))
{
if(ca==1)
{
if(income<=17850)
tax=income*0.15;
else
tax=17850*0.15+(income-17850)*0.28;
}
else if(ca==2)
{
if(income<=23900)
tax=income*0.15;
else
tax=23900*0.15+(income-23900)*0.28;
}
else if(ca==3)
{
if(income<=29750)
tax=income*0.15;
else
tax=29750*0.15+(income-29750)*0.28;
}
else
{
if(income<=14875)
tax=income*0.15;
else
tax=14875*0.15+(income-14875)*0.28;
}
printf("The tax is %lf",tax);
}
return 0;
}