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 days13={0,31,28,31,30,31,30,31,31,30,31,30,31};

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

{

int day=daysm;

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;

}

相关推荐
mykj155112 小时前
英语单词APP解锁学习新方式,智能高效背单词
学习·英语单词app
知识分享小能手13 小时前
深度学习学习教程,从入门到精通,深度学习中的正则化 — 完整知识点与代码示例(7)
人工智能·深度学习·学习
~kiss~14 小时前
Agent 的 未来吗?String: An Agentic OS Where Every App Is a Markdown File
学习
HugoStudio_SWAN14 小时前
洛谷 B4450 / B3867 / B3923 智慧购物、储蓄与做题——从程序到生活
c++·学习·程序人生·算法·生活
UIU11416 小时前
scanf与cout的误区:探究其内部的机制
c++·学习·c#·scanf
zyf10441621 小时前
暑期实践日志 Day48:复盘大纲与知识点对照表,系统汇总整理成果
学习·计算机网络·剪辑·暑期实践·课题任务
m4Rk_1 天前
【论文阅读】Agent 记忆机制(61):CFGM——用粗到细的记忆落地贯通经验采集、知识蒸馏与在线纠错
论文阅读·人工智能·学习·开源·github
边境悍匪1 天前
蜗牛学苑 Java 智能体学习 Day33|AOP 面向切面编程、日志技术思维导图复盘
学习
热心网友俣先生1 天前
2026国赛C题:五年命题规律与预测
java·c语言·前端·数学建模
我是你的开心果7781 天前
ai全栈软件开发day21(第四阶段喽)
人工智能·学习