2017.2.15还是PAT乙级15分题

来源:互联网 发布:jquery数组去重 编辑:程序博客网 时间:2024/05/29 13:17

1051. 复数乘法 (15)

这个题目我以为就是单纯的计算题,但是在按照复数公式计算好以后发现输出有问题= =
#include <math.h>#include <stdio.h>int main() {    double r1, p1, r2, p2;    scanf("%lf %lf %lf %lf",&r1,&p1,&r2,&p2);    double A, B;    A = r1 * r2 * cos(p1) * cos(p2) - r1 * r2 * sin(p1) * sin(p2);    B = r1 * r2 * cos(p1) * sin(p2) + r1 * r2 * sin(p1) * cos(p2);    if(B < 0)        printf("%.2lf-%.2lfi",A,-B);    else        printf("%2.lf+%2.lfi",A,B);    return 0;}

部分正确= =要疯了
传送门
原因是这样子的因为%.2lf输出是按四舍五入保留两位小数的,因此若A为负,且绝对值小于0.005时,输出会以-0.00形式输出,格式就不对了涨知识= =

1056. 组合数的和(15),

第一个想法就是用一个数组存放,用两个循环来遍历。
#include<stdio.h>int main(){  int arry[11];  int N;  scanf("%d",&N);  int i,j;  int sum=0;  for(i = 0;i < N; i++)  {    scanf("%d",&arry[i]);  }  for(i = 0; i < N; i++)  {    for(j = 0; j < N; j++)    {      if(i!=j)      {        sum = sum + arry[i]*10 + arry[j];      }    }  }  printf("%d",sum);  return 0;}

1061. 判断题(15)

依旧是用一个二维数组存放,第一行是分数,第二行是是非,用两个循环,分别将第二行之后与第二行进行比较,若是相同则加上第一行相应分数,并输出结果。
#include<stdio.h>int main(){    int n,m,i,j,sum;    int score[110][110];    scanf("%d%d",&n,&m);    for(i = 0; i < n+2; i++)    {        for(j = 0; j < m; j++)        {            scanf("%d",&score[i][j]);        }    }    for(i = 2; i< n + 2;i ++)    {        sum = 0;        for(j = 0; j < m; j++)        {            for(j = 0;j < m; j++)            {                 if(score[i][j] == score[1][j])                {                    sum = sum + score[0][j];                }            }            printf("%d\n",sum);        }    }    return 0;}
level——B15分题目前刷完了,毕竟水题嘛,开始写申请书,明天刷20分题。加油啦啦啦啦啦!!!


0 0