pat甲组练习题 1002数组实现 C语言
题目对于我这种刚入门的新手来说自然是很难,看到这么长的题目我啪的一下就去找翻译了,很快啊。但是题目说我这个也没用。确实,全文有两个单词比较难懂:exponents and coefficients
,意思是指数和系数。
Sample Input:
2 1 2.4 0 3.2
2 2 1.5 1 0.5
Sample Output
3 2 1.5 1 2.9 0 3.2
这是输出给的样例,相当于给的是
输入1:两个数: 2.4·x1+3.2·x0
输入2:两个数: 1.5·x2+0.5·x1
输出相当于把输入1和输入2加起来:三个数:1.5·x2+2.9·x1+3.2·x0
比较坑的点:注意输出的末尾不能有空格
好了基本逻辑讲清楚了上代码
#include <stdio.h>
int main()
{
int i,k,j;
float s;
float a[1001];
for(i=0;i<1001;i++)
a[i]=0.0;
scanf("%d",&k);
for(j=0;j<k;j++)
{
scanf("%d%f",&i,&s);
a[i]+=s;
}
scanf("%d",&k);
for(j=0;j<k;j++)
{
scanf("%d%f",&i,&s);
a[i]+=s;
}
k=0;
for(i=0;i<1001;i++)
{
if(a[i])
k++;
}
printf("%d",k);
if(k)
printf(" ");
for(i=1000;i>=0;i--)
{
if(a[i])
{
printf("%d %.1f",i,a[i]);
k--;
if(k)
printf(" ");
}
}
return 0;
}
更多推荐
pat甲组练习题 1002数组实现 C语言
发布评论