菜鸟练习PAT(九)
2015-07-10 11:20
106 查看
题目标号:A-1007
很坑爹的一道题目,数组一定要开得大一点,不然总有两个测试点过不去
题目:
![](http://img.blog.csdn.net/20150710111849501?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
[b]菜鸟代码:[/b]
很坑爹的一道题目,数组一定要开得大一点,不然总有两个测试点过不去
题目:
[b]菜鸟代码:[/b]
#include "stdio.h" #include "stdlib.h" #include "string.h" #define MAXNUM 12000 typedef struct { int N ; float a ; }D; D *aD[MAXNUM] , *bD[MAXNUM] ; float pD[MAXNUM] ; int main(void) { int aK = 0 , bK = 0 , i = 0 , j =0 , count = 0 ; memset(pD,0,sizeof(pD)); //get the first line scanf("%d" , &aK); for(i = 0 ; i< aK ; i++) { D* data = (D*)malloc(sizeof(D)) ; int N = 0 ; float a = 0 ; scanf("%d %f" , &N , &a); data->N = N ; data->a = a ; aD[i] = data ; } // get the second line scanf("%d" , &bK); for(i = 0 ; i< bK ; i++) { D* data = (D*)malloc(sizeof(D)) ; int N = 0 ; float a = 0 ; scanf("%d %f" , &N , &a); data->N = N ; data->a = a ; bD[i] = data ; } for(i =0 ; i <bK ; i++) { for(j =0 ; j< aK ; j++) { float a = 0; int N = 0 ; a = bD[i]->a * aD[j]->a ; N = bD[i]->N + aD[j]->N ; pD = pD + a ; } } // count the number for(i = MAXNUM-1 ; 0 <= i ; i--) { if(pD[i] != 0 )count ++ ; } printf("%d" , count); for(i = MAXNUM-1 ; 0 <= i ; i--) { if(pD[i] != 0 )printf(" %d %.1f" ,i , pD[i]); } return 0; }
相关文章推荐
- hdu 1235 统计同成绩学生人数
- C#-简单的定时器(C# ConsoleApp) ---ShinePans
- servlet容器与web容器的概念
- Python学习之初识Python
- 在Java内存模型中测试并发程序代码
- LINQ动态条件查询(一)
- TextView属性
- php缓存生成静态页
- Xcode 配置文件 xcconfig 使用实践
- Mybatis 错误信息:Parameter index out of range
- BOM头是什么呢?
- C++ 对进程各种操作函数
- Android_调用ffmpeg_把截取视频保存为ppm文件
- maven pom聚合与继承
- 求解最优二叉树所有叶子结点的带权路径长度之和
- 【Spark】Spark的Standalone模式安装部署
- 史上最强国内云平台大搜罗
- webview 刷新加载同一个网站出现 code=-999 解决办法
- jQuery 多个$()执行
- java_home与java -version版本不一致