|
|
本帖最后由 尕心恋 于 2021-12-3 23:04 编辑
//小白基础C实例,大佬勿喷
C代码之预测身高
补个完整代码
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- int main(){
- char sex[]="";
- char dl[]= "";
- char eat[]="";
- float fhigh,mhigh,high;
- int data;
- cf:
- printf("首先输入你父母的身高,先父后母,单位cm:\n");
- data = scanf("%f%*c%f",&fhigh,&mhigh);
- if(2 == data)
- {
- //输入身高数据判断//
- getchar();
- resex:
- printf("请输入性别(直接填男女): \n");
- scanf("%s",&sex);
- getchar();
- if(strcmp(sex,"男")==0)
- {
-
- cfnan1:
- printf("小哥哥,请输入你是否喜爱锻炼:\n");
- scanf("%s",&dl);
- getchar();
- if(strcmp(dl,"是")==0)
- {
- printf("小哥哥喜爱锻炼\n\n");
- //引导到男爱锻炼饮食习惯判断
- goto naneat1;
- //再引导回来
- home1:
- printf("小哥哥的预测身高为%.2f cm\n\n",high);
-
-
- }
-
- if(strcmp(dl ,"否")==0)
- {
- printf("小哥哥不喜欢锻炼\n\n");
- //引导到男不喜欢锻炼饮食习惯判断
- goto naneat2;
- //引导回来入口
- home2:
- printf("小哥哥的预测身高为%.2f cm\n\n",high);
-
- }
- if(strcmp(dl,"是")!=0&&strcmp(dl,"否")!=0)
- {
- printf("Error:请输入是或者否\n\n");
- goto cfnan1;
-
- }
-
-
-
- }
-
- if(strcmp(sex,"女")==0)
- {
-
- cfnv1:
- printf("小姐姐,请输入你是否喜爱锻炼:\n");
- scanf("%s",&dl);
- getchar();
- if(strcmp(dl,"是")==0)
- {
- printf("小姐姐喜爱锻炼\n\n");
- //引导到女爱锻炼饮食习惯判断
- goto nveat1;
- //再引导回来
- home3:
- printf("小姐姐的预测身高为%.2f cm\n\n",high);
-
-
- }
-
- if(strcmp(dl ,"否")==0)
- {
- printf("小姐姐不喜欢锻炼\n\n");
- //引导到女不喜欢锻炼饮食习惯判断
- goto nveat2;
- //引导回来入口
- home4:
- printf("小姐姐的预测身高为%.2f cm\n\n",high);
-
-
-
- }
-
- if(strcmp(dl,"是")!=0&&strcmp(dl,"否")!=0)
- {
- printf("Error:请输入是或者否\n\n");
- goto cfnv1;
- }
-
-
- }
- if((strcmp(sex,"男")!=0)&&(strcmp(sex,"女")!=0))
- {
- printf("Error:请输入男或者女\n\n");
- goto resex;
- }
-
- printf("再次运行…………\n\n");
-
- goto cf;
-
- //身高数据判断扩回//
- }
- else
- {
- //获取身高数据异常
- printf("数据输入错误:请按格式输入父母身高!!!\n\n重启该程序后可重新运行!");
- fflush(stdin);
- exit(0);
- }
-
-
-
- //男爱锻炼饮食习惯判断
-
- naneat1:
-
- cfnan2:
- printf("小哥哥,请输入你是否有健康的饮食习惯:\n");
- scanf("%s",&eat);
- getchar();
- if(strcmp(eat,"是")==0)
- {
- printf("小哥哥有健康的饮食习惯,所以\n");
- high = (fhigh + mhigh)*0.54;
- high = (1 + 0.02)*high;
- high = (1 + 0.015)*high;
- goto home1;
- }
-
- if(strcmp(eat ,"否")==0)
- {
-
- printf("小哥哥没有健康的饮食习惯,所以\n");
- high = (fhigh + mhigh)*0.54;
- high = (1 + 0.02)*high;
- goto home1;
- }
- if(strcmp(eat,"是")!=0&&strcmp(dl,"否")!=0)
- {
- printf("Error:请输入是或者否\n\n");
- goto cfnan2;
- }
-
- //男不爱锻炼饮食习惯分析
- naneat2:
-
- cfnan3:
- printf("小哥哥,请输入你是否有健康的饮食习惯:\n");
- scanf("%s",&eat);
- getchar();
- if(strcmp(eat,"是")==0)
- {
- printf("小哥哥有健康的饮食习惯,所以\n");
- high = (fhigh + mhigh)*0.54;
- high = (1 + 0.015)*high;
- goto home2;
- }
-
- if(strcmp(eat ,"否")==0)
- {
-
- printf("小哥哥没有健康的饮食习惯,所以\n");
- high = (fhigh + mhigh)*0.54;
- goto home2;
- }
- if(strcmp(eat,"是")!=0&&strcmp(dl,"否")!=0)
- {
- printf("Error:请输入是或者否\n\n");
- goto cfnan3;
- }
-
- /////<<<<下面是女的>//////////
-
- //爱锻炼女饮食习惯判断
-
- nveat1:
-
- cfnv2:
- printf("小姐姐,请输入你是否有健康的饮食习惯:\n");
- scanf("%s",&eat);
- getchar();
- if(strcmp(eat,"是")==0)
- {
- printf("小姐姐有健康的饮食习惯,所以\n");
- high = (fhigh*0.923 + mhigh)/(2);
- high = (1 + 0.02)*high;
- high = (1 + 0.015)*high;
- goto home3;
- }
-
- if(strcmp(eat ,"否")==0)
- {
-
- printf("小姐姐没有健康的饮食习惯,所以\n");
- high = (fhigh*0.923 + mhigh)/(2);
- high = (1 + 0.02)*high;
- goto home3;
- }
- if(strcmp(eat,"是")!=0&&strcmp(dl,"否")!=0)
- {
- printf("Error:请输入是或者否\n\n");
- goto cfnv2;
- }
-
- //不爱锻炼女饮食习惯分析
- nveat2:
-
- cfnv3:
- printf("小姐姐,请输入你是否有健康的饮食习惯:\n");
- scanf("%s",&eat);
- getchar();
- if(strcmp(eat,"是")==0)
- {
- printf("小姐姐有健康的饮食习惯,所以\n");
- high = (fhigh*0.923 + mhigh)/(2);
- high = (1 + 0.015)*high;
- goto home4;
- }
-
- if(strcmp(eat ,"否")==0)
- {
-
- printf("小姐姐没有健康的饮食习惯,所以\n");
- high = (fhigh*0.923 + mhigh)/(2);
- goto home4;
- }
- if(strcmp(eat,"是")!=0&&strcmp(dl,"否")!=0)
- {
- printf("Error:请输入是或者否\n\n");
- goto cfnv3;
- }
-
- //完毕
- /*system("pause");*/
- return 0;
- }
复制代码
#include
//标准输入输出头文件
#include
//字符串处理,这里调用了strcmp,来判断中文字符
#include
/*函数library,调用exit(0)函数,因为测试发现当父母数据输入错误时,如果用goto直接无限循环,所以直接停止执行*/
/*来体验一下goto的妙用吧*/
char ***[]="";
char dl[]= "";
char eat[]="";
/*我也不知道为什么这样才能判断字符串相等,用char *变量名; 的判断不出来,还有char 变量名[]; 这样的也不行,如果有大佬知道请在贴下评论出来*/
float fhigh,mhigh,high;
int data;
cf:
printf("首先输入你父母的身高,先父后母,单位cm:
");
data = scanf("%f%*c%f",&fhigh,&mhigh);
if(2 == data)
{
//输入身高数据判断//
getchar();
re***:
printf("请输入性别(直接填男女):
");
scanf("%s",&***);
getchar();
if(strcmp(***,"男")==0)
{
cfnan1:
printf("小哥哥,请输入你是否喜爱锻炼:
");
scanf("%s",&dl);
getchar();
if(strcmp(dl,"是")==0)
{
printf("小哥哥喜爱锻炼
");
//引导到男爱锻炼饮食习惯判断
goto naneat1;
//再引导回来
home1:
printf("小哥哥的预测身高为%.2f cm
",high);
}
if(strcmp(dl ,"否")==0)
{
printf("小哥哥不喜欢锻炼
");
//引导到男不喜欢锻炼饮食习惯判断
goto naneat2;
//引导回来入口
home2:
printf("小哥哥的预测身高为%.2f cm
",high);
}
if(strcmp(dl,"是")!=0&&strcmp(dl,"否")!=0)
{
printf("Error:请输入是或者否
");
goto cfnan1;
}
}
if(strcmp(***,"女")==0)
{
cfnv1:
printf("小姐姐,请输入你是否喜爱锻炼:
");
scanf("%s",&dl);
getchar();
if(strcmp(dl,"是")==0)
{
printf("小姐姐喜爱锻炼
");
//引导到女爱锻炼饮食习惯判断
goto nveat1;
//再引导回来
home3:
printf("小姐姐的预测身高为%.2f cm
",high);
}
if(strcmp(dl ,"否")==0)
{
printf("小姐姐不喜欢锻炼
");
//引导到女不喜欢锻炼饮食习惯判断
goto nveat2;
//引导回来入口
home4:
printf("小姐姐的预测身高为%.2f cm
",high);
}
if(strcmp(dl,"是")!=0&&strcmp(dl,"否")!=0)
{
printf("Error:请输入是或者否
");
goto cfnv1;
}
}
if((strcmp(***,"男")!=0)&&(strcmp(***,"女")!=0))
{
printf("Error:请输入男或者女
");
goto re***;
}
printf("再次运行…………
");
goto cf;
//身高数据判断扩回//
}
else
{
//获取身高数据异常
printf("数据输入错误:请按格式输入父母身高!!!
重启该程序后可重新运行!");
fflush(stdin);
exit(0);
}
//爱锻炼男饮食习惯判断
naneat1:
cfnan2:
printf("小哥哥,请输入你是否有健康的饮食习惯:
");
scanf("%s",&eat);
getchar();
if(strcmp(eat,"是")==0)
{
printf("小哥哥有健康的饮食习惯,所以
");
high = (fhigh + mhigh)*0.54;
high = (1 + 0.02)*high;
high = (1 + 0.015)*high;
goto home1;
}
if(strcmp(eat ,"否")==0)
{
printf("小哥哥没有健康的饮食习惯,所以
");
high = (fhigh + mhigh)*0.54;
high = (1 + 0.02)*high;
goto home1;
}
if(strcmp(eat,"是")!=0&&strcmp(dl,"否")!=0)
{
printf("Error:请输入是或者否
");
goto cfnan2;
}
//不爱锻炼男饮食习惯分析
naneat2:
cfnan3:
printf("小哥哥,请输入你是否有健康的饮食习惯:
");
scanf("%s",&eat);
getchar();
if(strcmp(eat,"是")==0)
{
printf("小哥哥有健康的饮食习惯,所以
");
high = (fhigh + mhigh)*0.54;
high = (1 + 0.015)*high;
goto home2;
}
if(strcmp(eat ,"否")==0)
{
printf("小哥哥没有健康的饮食习惯,所以
");
high = (fhigh + mhigh)*0.54;
goto home2;
}
if(strcmp(eat,"是")!=0&&strcmp(dl,"否")!=0)
{
printf("Error:请输入是或者否
");
goto cfnan3;
}
/////<<<<下面是女的>//////////
//爱锻炼女饮食习惯判断
nveat1:
cfnv2:
printf("小姐姐,请输入你是否有健康的饮食习惯:
");
scanf("%s",&eat);
getchar();
if(strcmp(eat,"是")==0)
{
printf("小姐姐有健康的饮食习惯,所以
");
high = (fhigh*0.923 + mhigh)/(2);
high = (1 + 0.02)*high;
high = (1 + 0.015)*high;
goto home3;
}
if(strcmp(eat ,"否")==0)
{
printf("小姐姐没有健康的饮食习惯,所以
");
high = (fhigh*0.923 + mhigh)/(2);
high = (1 + 0.02)*high;
goto home3;
}
if(strcmp(eat,"是")!=0&&strcmp(dl,"否")!=0)
{
printf("Error:请输入是或者否
");
goto cfnv2;
}
//不爱锻炼女饮食习惯分析
nveat2:
cfnv3:
printf("小姐姐,请输入你是否有健康的饮食习惯:
");
scanf("%s",&eat);
getchar();
if(strcmp(eat,"是")==0)
{
printf("小姐姐有健康的饮食习惯,所以
");
high = (fhigh*0.923 + mhigh)/(2);
high = (1 + 0.015)*high;
goto home4;
}
if(strcmp(eat ,"否")==0)
{
printf("小哥哥没有健康的饮食习惯,所以
");
high = (fhigh*0.923 + mhigh)/(2);
goto home4;
}
if(strcmp(eat,"是")!=0&&strcmp(dl,"否")!=0)
{
printf("Error:请输入是或者否
");
goto cfnv3;
}
//完毕
system("pause")
return 0;
}
行吧,上图
小哥哥自测吧
最后我是小哥哥 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|