今天写了一个小人工智障
代码
#include<stdio.h>
#include<string.h>
#define bei 1.5
#define qian 0.15
#define xu 0.20
#define yu 0.25
void hanshu1(int time);
void hanshu2(int time);
void hanshu3(int time);
void hanshu4(int time);
int main(void)
{
int i=0,j,time,count=0,m=0;
for(i=0;i<strlen("Enter the number corresponding to the desired pay rate or action:");i++)
{
printf("*");
}
printf("\n");
printf("Enter the number corresponding to the desired pay rate or action:\n");
printf("1) $8.75/hr");
printf(" 2) $9.33/hr\n");
printf("3) $10.00/hr");
printf(" 4) $11.20/hr\n");
printf("5) quit\n");
for(i=0;i<strlen("Enter the number corresponding to the desired pay rate or action:");i++)
{
printf("*");
}
while(m==0)
{
if(count==0)
{
printf("\n请输入模式:");
scanf("%d",&j);
}
if(count==1)
{
printf("请输入正确的格式:");
scanf("%d",&j);
}
switch(j)
{
case 1:printf("请输入工作的时间:");
scanf("%d",&time);
hanshu1(time);
count=0;
break;
case 2:printf("请输入工作的时间:");
scanf("%d",&time);
hanshu2(time);
count=0;
break;
case 3:printf("请输入工作的时间:");
scanf("%d",&time);
hanshu3(time);
count=0;
break;
case 4:printf("请输入工作的时间:");
scanf("%d",&time);
hanshu4(time);
count=0;
break;
case 5:printf("再见");
m=1;
break;
default:count=1;
break;
}
}
return 0;
}
void hanshu1(int time)
{
double jiben=8.75;
double sum,shui,jing;
if(time<40)
{
sum=jiben*time;
}
else
{
sum=jiben*40.0+(time-40.0)*bei*jiben;
}
if(sum<=300)
{
shui=sum*qian;
jing=sum-shui;
}
else if(sum>300&&sum<=450)
{
shui=300*qian+(sum-300)*xu;
jing=sum-shui;
}
else
{
shui=300*qian+150*xu+(sum-450)*yu;
jing=sum-shui;
}
printf("当前的总收入为%.1lf,税收为%.1lf,净收入为%.1lf",sum,shui,jing);
}
void hanshu2(int time)
{
double jiben=9.33;
double sum,shui,jing;
if(time<40)
{
sum=jiben*time;
}
else
{
sum=jiben*40.0+(time-40.0)*bei*jiben;
}
if(sum<=300)
{
shui=sum*qian;
jing=sum-shui;
}
else if(sum>300&&sum<=450)
{
shui=300*qian+(sum-300)*xu;
jing=sum-shui;
}
else
{
shui=300*qian+150*xu+(sum-450)*yu;
jing=sum-shui;
}
printf("当前的总收入为%.1lf,税收为%.1lf,净收入为%.1lf",sum,shui,jing);
}
void hanshu3(int time)
{
double jiben=10.00;
double sum,shui,jing;
if(time<40)
{
sum=jiben*time;
}
else
{
sum=jiben*40.0+(time-40.0)*bei*jiben;
}
if(sum<=300)
{
shui=sum*qian;
jing=sum-shui;
}
else if(sum>300&&sum<=450)
{
shui=300*qian+(sum-300)*xu;
jing=sum-shui;
}
else
{
shui=300*qian+150*xu+(sum-450)*yu;
jing=sum-shui;
}
printf("当前的总收入为%.1lf,税收为%.1lf,净收入为%.1lf",sum,shui,jing);
}
void hanshu4(int time)
{
double jiben=11.20;
double sum,shui,jing;
if(time<40)
{
sum=jiben*time;
}
else
{
sum=jiben*40.0+(time-40.0)*bei*jiben;
}
if(sum<=300)
{
shui=sum*qian;
jing=sum-shui;
}
else if(sum>300&&sum<=450)
{
shui=300*qian+(sum-300)*xu;
jing=sum-shui;
}
else
{
shui=300*qian+150*xu+(sum-450)*yu;
jing=sum-shui;
}
printf("当前的总收入为%.1lf,税收为%.1lf,净收入为%.1lf",sum,shui,jing);
}
出错点
- 在使用strlen函数的时候如果要直接查看一段字符串函数的长度时,应加上双引号,不然编译器回当这个是变量。
- 判断条件如count、m一定要记得初始化!!!!一定要记得初始化!!!!一定要记得初始化!!!!
目标
这段代码类似于本人正在做的LOL斩杀线辅助系统,输入英雄名、召唤师技能、等级以及敌方的护甲或魔抗可以判断出此时的英雄斩杀线(算技能全中的最高伤害) 操作问题那没办法 ^ - ^ 。