原题链接:蓝桥杯算法训练VIP-链表数据求和操作
无头结点的单链表,只带尾插函数。
#include<bits/stdc++.h>
using namespace std;
struct node{
double shi,xu;
struct node *Next;
};
typedef struct node Node;
Node *head = NULL;
void tailinsert(double shi,double xu){
Node *node = (Node*)malloc(sizeof(node));
Node *temp = head;
if(head==NULL){
node->shi = shi;
node->xu = xu;
node->Next = NULL;
head = node;
}
else{
node->shi = shi;
node->xu = xu;
node->Next = NULL;
while(temp->Next!=NULL){
temp = temp->Next;
}
temp->Next = node;
}
}
void printlist(){
double sum1(0),sum2(0);
Node *temp = head;
while(temp!=NULL){
sum1 = sum1 + temp->shi;
sum2 = sum2 + temp->xu;
temp = temp->Next;
}
printf("%.f+%.fi",sum1,sum2);
}
int main() {
double shi,xu;
while(cin>>shi>>xu){
tailinsert(shi,xu);
}
printlist();
return 0;
}其实这题用 C++ STL 给的 vector、list 等直接就可以做。(下面用的是 list)
#include<bits/stdc++.h>
using namespace std;
int main(){
list<pair<double,double> > a;
double shi,xu,sum1(0),sum2(0);
while(cin>>shi>>xu){
a.push_back(make_pair(shi,xu));
}
for(list<pair<double,double> >::iterator it=a.begin();it!=a.end();it++){
sum1 = sum1 + (*it).first;
sum2 = sum2 + (*it).second;
}
printf("%.f+%.fi",sum1,sum2);
return 0;
}0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复