题目1:在平面直角坐标系中,P1得坐标为(x,y),其中x与y均为整数且均不为0. 以原点为中心,将P1沿着逆时针方向转得到P2、P3、P4三个点,按以下格式输出P2、P3、P4三个点。
格式格式格式!!!
其实是个很简单的题目 就是x和y被输出时如果为正前面加个空格就可以了
考试的时候还考虑到位数......
#include <stdio.h>
int main()
{
int x,y;
scanf("%d %d",&x,&y);
if(x>0&&y>0)
{
printf("( %d, %d)\n",x,y);
printf("(%d, %d)\n",-y,x);
printf("(%d,%d)\n",-x,-y);
printf("( %d,%d)",x,-y);
}
if(x<0&&y>0)
{
printf("(%d, %d)\n",x,y);
printf("(%d,%d)\n",-y,x);
printf("( %d,%d)\n",-x,-y);
printf("(%d,%d)",x,-y);
}
if(x<0&&y<0)
{
printf("(%d,%d)\n",x,y);
printf("( %d,%d)\n",-y,x);
printf("( %d, %d)\n",-x,-y);
printf("(%d, %d)",x,-y);
}
if(x>0&&y<0)
{
printf("( %d,%d)\n",x,y);
printf("( %d, %d)\n",-y,x);
printf("(%d, %d)\n",-x,-y);
printf("( %d, %d)",x,-y);
}
return 0;
}
题目2:任意输入三个正整数,按从大到小的顺序排列,考虑相等的情况
#include <stdio.h>
int main()
{
int a,b,c,t;
scanf("%d %d %d",&a,&b,&c);
//1.先给a b c排列顺序
//要注意的是 a>b 和b=t的顺序是不能颠倒的 可以用盒子和数的方法理解
if(a>b){
t=a,a=b,b=t; //a是a b中的较小者
}
if(a>c){
t=a,a=c,c=t; //a是a c中的较小者 所以a为a b c中的最小者
}
if(b>c){
t=b,b=c,c=t;//b是b c中的较小者
}
//2.这一步在已经知道a<b<c的情况下 接着判断其中两数相等的情况
if(a==b){
printf("%d>%d=%d",c,b,a);
}
if(c==b){
printf("%d=%d>%d",c,b,a);
}
if(a!=b&&b!=c)
{
printf("%d>%d>%d",c,b,a);
}
return 0;
}
嘎嘎简单!!! 但是考试的时候没拿到满分!!
题目3:格里高利公式:s/4=1-1/3+1/5-1/7+.... 要求,输入正整数n,输出计算结果(保留六位小数)和算式。其中算式中的分母,取值为【1,n】之内的所有奇数。
输入样例 :9
输出样例: 3,339683/4=
1-1/3+1/5-1/7+1/9
#include <stdio.h>
int main()
{
//1.输出左边
int n;
scanf("%d",&n);
int i=1;
int a=1,b=1;
double s=0;
while (i<=n)
{
s=s+1.0*a/b;
a=-a;
b=b+2;
i=i+2;//这里一定要注意 如果是 i++ 那么就会多算一次 比如i=2时就会 -1/3
}
printf("%.6f/4=",s*4);
//2.输出右边
printf("1");//1是特殊情况 优先考虑
int t=1,h=3;
//这里的t为项数
//有一个要注意的点就是最后一项的分母应该是<=n的最大奇数
while(h<=n)
{
if(t%2==0){ //偶数项为正 (-1/3为第一项)
printf("+1/%d",h);
}
else{
printf("-1/%d",h);
}
h=h+2;
t=t+1;
}
return 0;
}