
雁无留踪之意,水无取影之心
1.有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(即A瓶原来盛醋,现改酱油,B瓶则相反)
// 定义一个C, C=A;A=B;B=C
2.依次将10个数输入,要求将其中最大的数输出
// 先判断头两个数的大小,让较大的数字和下一个数比较,这样循环10次,输出最大数就可以了
3.有3个数a,b,c,要求按大小顺序把它们输出
// 这题和上边的方法类似,先判断最大的,让 max= x,再对剩下的两个数判断,大小就可以了
4.求1+2+3+...+100
// 有两种方法,一种一个个加上去,另一个数学等差数列求和
5.判断一个数n能否同时被3和5整除
// 看它能不能被15整除即可
6.将100-200之间的素数输出
// 这个比较麻烦,推荐你买习题书看看,思路是这样的,让这个看看能不能被 1到 根号(这个数)整除,如果可以,就不输出,如果不可以,就输出,然后这个数自加,这样循环下去
7.求两个数m和n的最大公约数
// 先较大的数被较小的数取模(如果是0,就直接输出较大数),然后,让较小的数乘以这个模就好
8.求方程式axx+bx+c=0的根,分别考虑:1.有两个不等的实根;2.有两个相等的实根
// a=0,有一个根;a不等0,判断“b*b-4*a*c”和0的大小,如果大于0,有2个不等实数根,如果等0,2个相等根,如果小于0,没有实数根
哎 这么总行了吧?
#include <stdio.h>
#include <math.h>
void Display1(float a,float b,float c)
{
float k;
float x,y;
k=b*b-4*a*c;
x=(-b)/(2*a);
y=(-b)/(2*a);
printf("x=%f\n",x);
printf("y=%f\n",y);
}
void Display2(float a,float b,float c)
{
float k;
double p,q;
k=b*b-4*a*c;
p=(-b)/(2*a);
q=sqrt(-k)/(2*a);
printf("x=%lf+%lf*i\n",p,q);
printf("y=%lf-%lf*i\n",p,q);
}
void Display3(float a,float b,float c)
{
float k;
double x,y;
k=b*b-4*a*c;
x=(-b+sqrt(k))/(2*a);
y=(-b-sqrt(k))/(2*a);
printf("x=%lf\n",x);
printf("y=%lf\n",y);
}
void main()
{
float a,b,c,d;
printf("请输入方程系数:\n");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if (d==0)
{
printf("方程的根为:\n");
Display1(a,b,c);
}
else if(d<0)
{
printf("方程的根为:\n");
Display2(a,b,c);
}
else
{
printf("方程的根为:\n");
Display3(a,b,c);
}
}