1.逐一挑出来
# include<stdio.h>
# include<math.h>
int main()
{
/*********begin*********/
int n;
scanf("%d",&n);
printf("%d ",n%10);
n=n/10;
printf("%d ",n%10);
n=n/10;
printf("%d",n%10);
return 0;
/*********end*********/
}
2.我不喜欢4
#include<stdio.h>
int main()
{
/*********begin*********/
printf("10000~99999中不包含4的个数为:52488");
return 0;
/*********end*********/
}
3.一元二次方程,其实很简单
#include <stdio.h>
#include<math.h>
int main()
{
/*********begin*********/
double a,b,c,x1,x2;
scanf("%lf%lf%lf",&a,&b,&c);
if(a==0)
{
printf("系数a不能为零");
}
else
{
if((b*b-4*a*c)<0)
{
printf("方程无实根");
}
else
{
x1=((-b)+sqrt(b*b-4*a*c))/(2*a);
x2=((-b)-sqrt(b*b-4*a*c))/(2*a);
printf("x1=%.2lf x2=%.2lf",x1,x2);
}
}
return 0;
/*********end*********/
}
4.复数不再是难题
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct {
double real;
double i;
}complex;
complex* add(complex a, complex b){
/*********begin*********/
complex* c;
complex d;
c = &d;
d.real = a.real + b.real;
d.i = a.i + b.i;
return c;
/*********end*********/
}
complex* minus(complex a, complex b){
/*********begin*********/
complex* c;
complex d;
c = &d;
d.real = a.real - b.real;
d.i = a.i - b.i;
return c;
/*********end*********/
}
complex* multiply(complex a, complex b){
/*********begin**********/
complex* c;
complex d;
c = &d;
d.real = a.real * b.real - a.i * b.i;
d.i = a.real * b.i + a.i * b.real;
return c;
/*********end*********/
}
int main()
{
/*********begin**********/
complex a, b;
complex* c;
char x;
scanf("%c %lf %lf %lf %lf", &x, &a.real, &a.i, &b.real, &b.i);
switch(x)
{
case '+':c=add(a,b);break;
case '-':c=minus(a,b);break;
case '*':c=multiply(a,b);break;
}
if (c->i >= 0)
printf("%.2lf+%.2lfi", c->real, c->i);
else
printf("%.2lf+(%.2lf)i", c->real, c->i);
return 0;
/*********end**********/
}