C语言刷题第六章(下)

二.题目:

4.计算一元二次方程

(1)题目描述:

从键盘输入a b c的值,编程计算输出一元二次方程ax²-4ac的三种情况并且输出方程的根。

(2)输入描述:

多组输入,一行,包括三个浮点数a b c,用一个空格分开,表示一元二次方程ax²+bx+c的系数。

(3)输出描述:

针对每组输入,输出一行,输出一元二次方程的根的情况。

如果a=0,则输出"Not quadratic equation"

如果a≠0,分为三种情况。

△=0时,有两个相同的实根,输出形式为x1=x2=

△>0时,有两个不同的实根,输出形式为x1= x2=

△<0时,有两个虚根,则输出x1=a-bi x2=a+bi

(4)示例:

输入:2.0 7.0 1.0

输出:x1=-3.35 x2=-0.15

(5)代码实践:

include<stdio.h>

#include <math.h>

int main( )

{

double a=0.0;

double b=0.0;

double c=0.0;

while(~scanf("%lf %lf %lf",&a,&b,&c))

{

if(a==0)

printf("Not quadratic equation");

else

{

double disc=0.0;

disc=b*b-4*a*c;

if(disc=0.0)

printf("x1=x2=%.2lf",(-b)/(2*a));

else if(discx>0.0)

printf("x1=%.2lf x2=%.2lf",((-b)-sqrt(disc))/(2*a),((-b)+sqrt(disc))/(2*a));

else

{

double real=(-b)/(2*a);

double image=sqrt(-disc)/(2*a);

printf("x1=%.2lf-%.2lf i x2=%.2lf+.2lf i",real,image,real,image);

}

}

}

return 0;

}

5.获取月份天数

(1)题目描述:

KiKi想知道某年某月有多少天,请帮他编写程序实现,输入年份和月份,计算这一年这个月的天数。

(2)输入描述:

多组输入,一行有两个整数,分别表示年份和月份,用空格分开。

(3)输出描述:

针对每行输入,输出为一行,一个整数,表示这一年这个月有多少天。

(4)示例:

输入:2008 2

输出:29

(5)代码实践:

#include <stdio.h>

int main( )

{

int y=0;

int m=0;

int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

while(~scanf("%d %d",&y,&m))

{

int day=days[m];

if(y%4==0&&y%100!=0||y%400==0)

{

if(m==2)

day++;

}

printf("%d",day);

}

return 0;

}

6.简单计算机

(1)题目描述:

KiKi实现一个简单计算器,实现两个数的加减乘数,用户从键盘输入算式"操作数1运算符操作数2",计算并且输出表达式的值,如果输入的运算符号不包括在加减乘除范围内,则输出"输入错误",当运算符为除法运算时,如果操作数=0则输出"数据错误"。

(2)输入描述:

多组输入,一行,操作数1与操作数2

(3)输出描述:

针对每组输入,输出为一行。

如果操作数均合法,则输出一个表达式,操作数1运算符操作数2=运算结果。各位小数保留4位小数,数和符号之间没有空格隔开。

(4)示例:

输入:

1.0+3.0

1.0;4.0

44.0/0.0

输出:

1.0000+3.00000=4.0000

输入错误

数据错误

(5)代码实践:

#include <stdio.h>

int main( )

{

double n1=0.0;

double n2=0.0;

char op=0;

while(~scanf("%lf %c %lf",&n1,&op,&n2))

{

switch(op)

case :'+'

printf("%.4lf+%.4lf=%.4lf",n1,n2,n1+n2);

break;

case:'-'

printf("%.4lf-%.4lf=%.4lf",n1,n2,n1-n2);

break;

case:'*'

printf("%.4lf*%.4lf=%.4lf",n1,n2,n1*n2);

break;

case:'/'

if(n2==0.0)

printf("数据错误");

else

printf("%4.lf/%4.lf=%4.lf",n1,n2,n1/n2);

break;

default:

printf("输入错误");

break;

}

return 0;

}

7.打印正方形

(1)题目描述:

KiKi学习了循环,BoBo老师给她出了一系列打印图案的练习。

(2)输入描述:

多组输入,一个整数(1-20),表示正方形的长度,也表示输出行数。

(3)输出描述:

针对每行输入,输出"*"组成的正方形,每个*中间都有一个空格。

(4)示例:

输入:4

输出:

****

****

****

****

(5)代码实践:

include <stdio.h>

int main( )

{

int n= 0;

while(~scanf("%d",&n))

{

for(int i=0;i<=n;i++)

{

for(int j=0;j<=0;j++)

{

printf("* ");

}

printf("\n");

}

}

return 0;

}

8.打印直角三角形

(1)题目描述:

KiKi学习了循环,BoBo老师给出了一系列打印图案的练习,该任务是用*打印直角三角形的图案。

(2)输入描述:

多组输入,一个整数(2-20),表示直角三角形的直角边长度,即* 的数量,也表示输出行数。

(3)输出描述:

针对每行输入,输出用*组成的对应长度的直角三角形,每个*后有一个空格。

(4)示例:

输入:4

输出:

*

* *

* * *

* * * *

(5)代码实践:

include <stdio.h>

int main( )

{

int n=0;

while(~scanf("%d",&n))

{

for(int i=0;i<=n;i++)

{

for(int j=1;j<=i;j++)

printf("* ");

printf("\n");

}

}

return 0;

}

相关推荐
程序猿tu10 分钟前
Axios学习笔记
笔记·学习
有谁看见我的剑了?38 分钟前
stress 服务器压力测试的工具学习
服务器·学习·压力测试
有谁看见我的剑了?38 分钟前
stress-ng 服务器压力测试的工具学习
服务器·学习·压力测试
牛奶咖啡131 小时前
学习设计模式《十二》——命令模式
学习·设计模式·命令模式·队列请求·宏命令·可撤销恢复操作·参数化配置
余厌厌厌1 小时前
go语言学习 第9章:映射(Map)
服务器·学习·golang
委婉待续1 小时前
Qt的学习(一)
开发语言·qt·学习
哆啦A梦的口袋呀2 小时前
基于Python学习《Head First设计模式》第七章 适配器和外观模式
python·学习·设计模式
恰薯条的屑海鸥2 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)
学习·安全·web安全·渗透测试·网络安全学习
草莓熊Lotso2 小时前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
KyollBM2 小时前
【CF】Day75——CF (Div. 2) B (数学 + 贪心) + CF 882 (Div. 2) C (01Trie | 区间最大异或和)
c语言·c++·算法