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;

}

相关推荐
玛丽莲茼蒿6 小时前
Linux/Unix学习笔记(四)—— 进程管理
linux·学习·unix
richxu202510016 小时前
学完了江科大STM32,下一步该怎么学?
stm32·单片机·嵌入式硬件·学习
网络与设备以及操作系统学习使用者7 小时前
Linux与Windows核心差异深度解析
linux·运维·网络·windows·学习
知识分享小能手8 小时前
Flask入门学习教程,从入门到精通,Flask智能租房——前期准备 知识点详解(5)
python·学习·flask
淳杰8 小时前
学习笔记 | playwright用法
笔记·学习
三品吉他手会点灯8 小时前
STM32F103 学习笔记-21-串口通信(第6节)-串口发送命令控制RGB灯
笔记·stm32·单片机·嵌入式硬件·学习
冉卓电子9 小时前
MPC5604B/C eMIOS 高级定时器全解
c语言
炽烈小老头9 小时前
【每天学习一点算法 2026/05/25】矩阵中的最长递增路径
学习·算法·矩阵
wuxinyan12310 小时前
工业级大模型学习之路021:LangChain零基础入门教程(第四篇):文档加载与文本分块技术
人工智能·python·学习·langchain
Qres82110 小时前
Git基础命令学习笔记
笔记·git·学习