求!有没有人帮我看一下这个代码,宿舍分配那块输入两个学生姓名之后,显示“未找到宿舍是什么意思”

关注【相关推荐】
输入:
0.0 3.0 3.0
输出:
Not quadratic equation
输入:
1 2 1
输出:
x1=x2=-1.00
输入:
2 2 5
输出:
x1=-0.50-1.50i;x2=-0.50+1.50i
输入:
1 0 1
输出:
x1=0.00-1.00i;x2=0.00+1.00i
🟥1,定义三个浮点数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,先定义一个数表示△
🔹2,先进行判断,如果a为0的情况下输出Not quadratic equation
🔹3,如果不为0的话有三种情况:
🔹4,如果△等于0的情况,要输出x1等于x2,求x1与x2,需要-b+-开平方下的△/2*a,而-b+-开平方下的△有可能是0,那么需要有两种,是0的情况和不是0的情况,定义一个数表示b+-开平方下的△,是0的话输出这个数,不是0的话输出-b/(2*a),因为△等于0也没事
🔹5,如果△大于0的情况x1等于-b - sqrt(s) )/ (a * 2),x2等于-b +sqrt(s) )/ (a * 2),注意的是,x1要小于等于x2,所以前面是-,后面是+
🔹6,如果△小于0的情况,需要定义一个实数和虚数,这个时候需要考虑一种情况,因为虚数如果小于0的话,会多出一个负号,需要把这个负号解决掉,所以如果小于0,输出x1=%.2f%.2fi;x2=%.2f+%.2fi\n , a1, a2, a1, fabs(a2),减去一个负号,那么就处理掉x1多出来的符号,而后面加法没办法减去符号,可以取a2的绝对值,让它是正数,这个时候就完美解决掉了多出符号的问题,所以判断小于0则输出以上判断,否则输出题目要求的结果
🔹这个题目很离谱,这几个月增加了好几个比例,导致以前能通过的都过不去,我也是很蒙蔽,花了点时间完成
#include<stdio.h>
#include<math.h>
int main()
{
float a = 0.0;
float b = 0.0;
float c = 0.0;
while (scanf("%f %f %f", &a, &b, &c) != EOF)
{
if (a == 0)
{
printf("Not quadratic equation\n");
}
else
{
float s = b * b - 4 * a * c;
if (s > 0)
{
printf("x1=%.2f;x2=%.2f\n", ((-b - sqrt(s) )/ (a * 2)), ((-b + sqrt(s)) / (a * 2)));
}
else if (s < 0)
{
float a1 = -b / (2 * a);
float a2 = sqrt(-s) / (2 * a);
if(a2 <0)
{
printf("x1=%.2f%.2fi;x2=%.2f+%.2fi\n", a1, a2, a1, fabs(a2));
}
else
{
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", a1, a2, a1, a2);
}
}
else
{
float xx = -b + sqrt(s);
if (xx == 0)
{
printf("x1=x2=%.2f\n", xx);
}
else
{
printf("x1=x2=%.2f\n", -b / (2 * a));
}
}
}
}
return 0;
}
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转直角三角形图案。
多组输入,一个整数(2~20),表示翻转直角三角形直角边的长度,即“*”的数量,也表示输出行数。
针对每行输入,输出用“*”组成的对应长度的翻转直角三角形,每个“*”后面有一个空格。
输入:
5输出:
* * * * * * * * * * * * * * *输入:
6输出:
* * * * * * * * * * * * * * * * * * * * *🟥1,先定义一个整数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,打印一个翻转的直角三角形
🔹2,先判断行数,有n行,然后判断一行打印多少个,我们可以看到,第一行是n个,那么第二行少一个,和i有关,所以小于n-i个就能控制一行打印的个数,打印完一行然后换行
#include<stdio.h>
int main()
{
int n = 0;
while(scanf("%d",&n)!= EOF)
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<n-i;j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
实现效果:

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的带空格直角三角形图案。
多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。
针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。
输入:
5输出:
* * * * * * * * * * * * * * *输入:
4输出:
* * * * * * * * * *🟥1,先定义一个整数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,打印一个带空格的直角三角形图案
🔹2,先观察一下,发现是由两部分组成,倒着的空格三角形与一个正序三角形,那么先来打印一行的数据,创建i,小于n,来实现一行打印的数据,定义j,有两部分,先打印空格,两个空格为一组,第一行有四组,然后递减,小于n-1-i刚好可以控制几组,然后打印星号与空格,第一行一个,递增,刚好小于等于i可以控制
🔹3,还可以分析一下,用坐标的方法实现,可以发现一行两部分组成,而根据坐标,行为i ,列为j,那么空格部分i+j<n-1;那么如果i+j<n-1的话输出空格,否则输出星号空格
🔹4,最后注意,打印完一行的记得换行
#include<stdio.h>
int main()
{
int n = 0;
while(scanf("%d",&n)!= EOF)
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<n-1-i;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
#include<stdio.h>
int main()
{
int n = 0;
while(scanf("%d",&n)!= EOF)
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<n;j++)
{
if(i+j<n-1)
{
printf(" ");
}
else
{
printf("* ");
}
}
printf("\n");
}
}
return 0;
}

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转金字塔图案。
多组输入,一个整数(2~20),表示翻转金字塔边的长度,即“*”的数量,也表示输出行数。
针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。
输入:
5输出:
* * * * * * * * * * * * * * *输入:
6输出:
* * * * * * * * * * * * * * * * * * * * *🟥1,先定义一个整数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,打印一个翻转金字塔图案
🔹2,先观察一下,发现是由两部分组成,倒着的空格三角形与星号加上空格组成的倒着的金字塔,先打印一行,由n控制,然后打印一行的数据,先打印空格,第一行没有,第二行有一个,递增,那么当i为0的时候,第一行不输出,所以小于i可以控制空格输出,第二部分,打印星号与空格,第一行n个,第二行n-1个,那么可以减去i来控制每一行
🔹3,最后注意,打印完一行的记得换行
#include<stdio.h>
int main()
{
int n = 0;
while(scanf("%d",&n) != EOF)
{
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<i;j++)
{
printf(" ");
}
for(j=0;j<n-i;j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的菱形图案。
多组输入,一个整数(2~20)。
针对每行输入,输出用“*”组成的菱形,每个“*”后面有一个空格。
输入:
2输出:
* * * * * * * * *输入:
3输出:
* * * * * * * * * * * * * * * *输入:
4输出:
* * * * * * * * * * * * * * * * * * * * * * * * *🟥1,先定义一个整数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,打印一个菱形图案
🔹2,先观察一下,发现是由两部分组成,一个是正三角形,一个是反三角形
🔹3,先实现正三角形,正三角由两部分组成,左边是一个空格组成的倒三角,右边是一个星号组成的正三角,左边第一行有n-i个来控制输出,当i为0的时候第一行输出n个,右边有小于等于i个输出,当i等于0的时候,输出1个,打印完一行的内容然后换行
🔹4,然后实现倒三角形,正三角由两部分组成,左边是一个空格组成的正三角,右边是一个星号组成的倒三角,左边第一行有i来控制输出,当i为0的时候第一行输出0个,右边由n+1-i来控制输出,当i等于0的时候,输出n+1个,打印完一行的内容然后换行
#include<stdio.h>
int main() {
int n = 0;
while (scanf("%d", &n) != EOF) {
//正的三角形
int i = 0;
for (i = 0; i < n; i++)
{
//空格
int j = 0;
for (j = 0; j <n-i; j++)
{
printf(" ");
}
//星号空格
for (j = 0; j <=i; j++)
{
printf("* ");
}
printf("\n");
}
//倒着的三角形
for(i=0;i<n+1;i++)
{
//空格
int j = 0;
for (j = 0; j <i; j++)
{
printf(" ");
}
//星号空格
for (j = 0; j <n+1-i; j++)
{
printf("* ");
}
printf("\n");
}
}
}

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的K形图案。
多组输入,一个整数(2~20)。
针对每行输入,输出用“*”组成的K形,每个“*”后面有一个空格。
输入:
2输出:
* * * * * * * * * * *输入:
3输出:
* * * * * * * * * * * * * * * * * * *输入:
4输出:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *🟥1,先定义一个整数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,打印一个K形图案
🔹2,先观察一下,发现是由两部分组成,上部分是倒三角星号加上正三角空格,下部分是正三角星号加上倒三角空格
🔹3,先实现上半部分,上半部分由两部分组成,左边是一个星号组成的梯形,右边是一个空格组成的三角,左边第一行有n+1-i个来控制输出,当i为0的时候第一行输出n+1-0个,右边有小于i个控制输出,当i等于0的时候,输出0个,打印完一行的内容然后换行
🔹4,然后实现下半部分,下半部分由两部分组成,左边是一个空格组成的正三角,右边是一个星号组成的倒三角,左边第一行由小于等于i来控制输出,当i为0的时候第一行输出1个,右边由n-i来控制输出,当i等于0的时候,输出n+1个,打印完一行的内容然后换行
🔹这道题需要注意的是在k行后面有空格的输出,而不是只有k,乍一看看不到后面的空格,这是这道题目比较坑的地方
#include<stdio.h>
int main()
{
int n = 0;
while(scanf("%d",&n) != EOF)
{
int i = 0;
//上半部分
for(i=0;i<n;i++)
{
//*空格
int j = 0;
for(j=0;j<n+1-i;j++)
{
printf("* ");
}
//空格
for(j=0;j<i;j++)
{
printf(" ");
}
printf("\n");
}
//下半部分
for(i=0;i<n+1;i++)
{
//*空格
int j = 0;
for(j=0;j<=i;j++)
{
printf("* ");
}
//空格
for(j=0;j<n-i;j++)
{
printf(" ");
}
printf("\n");
}
}
return 0;
}

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的箭形图案。
本题多组输入,每行一个整数(2~20)。
针对每行输入,输出用“*”组成的箭形。
输入:
2输出:
* ** *** ** *输入:
3输出:
* ** *** **** *** ** *🟥1,先定义一个整数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,打印一个箭行图案
🔹2,先观察一下,发现是由两部分组成,上部分是倒三角空格加上正三角星号,下部分是正三角空格加上倒三角星号
🔹3,先实现上半部分,上半部分由两部分组成,左边是一个空格组成的倒三角,右边是一个星号组成的正三角,左边第一行有n-i来控制输出,当i为0的时候第一行输出n-0个,右边有小于等于i来控制输出,当i等于0的时候,输出1个,打印完一行的内容然后换行
🔹4,然后实现下半部分,下半部分由两部分组成,左边是一个空格组成的正三角,右边是一个星号组成的倒三角,左边第一行由小于i来控制输出,当i为0的时候第一行输出0个,右边由n+1-i来控制输出,当i等于0的时候,输出n+1-0个,打印完一行的内容然后换行
#include<stdio.h>
int main()
{
int n = 0;
while(scanf("%d",&n)!= EOF)
{
//上半部分
int i = 0;
for(i=0;i<n;i++)
{
int j = 0;
for(j=0;j<n-i;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("*");
}
printf("\n");
}
//下半部分
for(i=0;i<n+1;i++)
{
int j = 0;
for(j=0;j<i;j++)
{
printf(" ");
}
for(j=0;j<n+1-i;j++)
{
printf("*");
}
printf("\n");
}
}
return 0;
}

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的反斜线形图案。
多组输入,一个整数(2~20),表示输出的行数,也表示组成反斜线的“*”的数量。
针对每行输入,输出用“*”组成的反斜线。
输入:
4输出:
* * * *输入:
5输出:
* * * * *🟥1,先定义一个整数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,打印一个反斜线图案
🔹2,可以按照上面拆分的方法做,打印正三角,星号,反三角
🔹3,也可以发现,如果按照坐标的话,第一行一列,二行二列,三行三列,n行n列是星号,用for循环定义,i与j小于n,如果当i等于j的时候,打印星号,否则打印空格
#include<stdio.h>
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
int i = 0;
for (i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j < n; j++)
{
if (i == j)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
return 0;
}
#include<stdio.h>
int main()
{
int n = 0;
while(scanf("%d", &n) !=EOF)
{
int i = 0;
for(i=0; i<n; i++)
{
//空格
int j = 0;
for(j=0; j<i; j++)
{
printf(" ");
}
//*
printf("*");
//注意*后边的空格
for(j=i+1; j<n; j++)
{
printf(" ");
}
printf("\n");
}
}
}

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正斜线形图案。
多组输入,一个整数(2~20),表示输出的行数,也表示组成正斜线的“*”的数量。
针对每行输入,输出用“*”组成的正斜线。
输入:
4输出:
* * * *输入:
5输出:
* * * * *🟥1,先定义一个整数,然后多组输入,注意停止条件
🟥2,分析一下题,需要的条件
🔹1,打印一个正斜线图案
🔹2,可以按照上面拆分的方法做,打印反三角,星号,正三角
🔹3,也可以发现,如果i+j等于n-1的时候,打印的是星号,否则打印的是空格,打印完一行换行
#include<stdio.h>
int main()
{
int n = 0;
while(scanf("%d",&n) != EOF)
{
int i = 0;
for(i=0;i<n;i++)
{
int j =0;
for(j=0;j<n;j++)
{
if(i+j==n-1)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
return 0;
}
#include <stdio.h>
int main()
{
int n = 0;
while(scanf("%d", &n) != EOF)
{
int i = 0;
for(i=0; i<n; i++)
{
//空格
int j = 0;
for(j=0; j<n-1-i; j++)
{
printf(" ");
}
//*
printf("*");
//空格
for(j=n-i; j<n; j++)
{
printf(" ");
}
printf("\n");
}
}
return 0;
}

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。
多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
针对每行输入,输出用“*”组成的X形图案。
输入:
5输出:
* * * * * * * * *输入:
6输出:
* * * * ** ** * * * *