0%

中国矿业大学高级语言程序设计课后作业

2022 CUMT 中国矿业大学 高级语言程序设计 课后作业 代码题解

年代过于久远,简单整理分享一下,请按照目录查阅

本博文由我的GitHub仓库LymoneLM/LymoneTest代码自动整理生成,进入仓库可以查看最新的代码

如果代码对您有帮助,希望可以给我的仓库点个Star,或者在GitHub关注我,感谢

在我的个人博客莱蒙黎梦可以查看本博文原文和更多其他我的博文

本博文提供的代码仅供参考学习,原题已遗失,先尝试后使用,不同年度课程题目可能略有差异

@[TOC]

第3章

Capter 3\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>
using namespace std;
int main()
{
char num[101];
cin>>num;
int len=strlen(num);
int sum=0;
for (int i=len-1;i>=0;i--)
{
cout<<num[i];
sum+=num[i]-'0';
}
cout<<endl<<sum<<endl<<len;
return 0;
}

Capter 3\2.cpp

1
2
3
4
5
6
7
#include <bits/stdc++.h>
using namespace std;
int main()
{
cout<<"A--Z B--X C--Y";
return 0;
}

Capter 3\3.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;cin>>n;int sum=1;
for(int i=0;i<n-1;i++)
{
sum++;
sum*=2;
}
cout<<sum;
return 0;
}

Capter 3\4.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <bits/stdc++.h>
using namespace std;
int main()
{
int N;
cin>>N;
for(int xi=0;xi<=100;xi++)
{
for(int yi=0;yi<=100;yi++)
{
for(int zi=0;zi<=34;zi++)
{
if(5*xi+3*yi+zi==N&&xi+yi+3*zi==100)
printf("x=%d,y=%d,z=%d\n",xi,yi,3*zi);
}
}
}
return 0;
}

第4章

Capter 4\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>
using namespace std;

void toOcr(int n)
{
printf("%o",n);
return;
}

int main()
{
int n;
cin>>n;
toOcr(n);
return 0;
}

Capter 4\2-3.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<iostream>
#include<cmath>
using namespace std;
int f(int n)
{
int i = 1,c=0;
for (; i < n; i++)
{
if (n % i == 0)
{
c += i;
}
if (i >=n)break;
}
return c;
}
bool g(int a)
{
bool flag=false;
for (int b = 2; b <= a; b++)
{
int fb=f(b);
if (b == f(fb) && fb < a && b < fb)
{
cout << b << " " << fb << "\n";
flag=true;
}
}
return flag;
}
int main()
{
int a;
cin >> a;
if (!g(a))
cout << "N0";
return 0;
}

Capter 4\2-m2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<iostream>
#include<cmath>
using namespace std;
int f(int n)
{
int i = 1,c=0;
for (; i < n; i++)
{
if (n % i == 0)
{
c += i;
}
if (i >=n)break;
}
return c;
}
int g(int a)
{
int e = -1;
for (int b = 2; b <= a; b++)
{
if (b == f(f(b)) && f(b) < a && b < f(b))
{
cout << b << " " << f(b) << "\n";
e=1;
}
}
return e;
}
int main()
{
int a;
cin >> a;
if (g(a)==-1)
{
cout << "No";
}
return 0;
}

Capter 4\2-test.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
int enSum(int n)
{
int sum=0;
int max=sqrt(n);
for(int i=1;i<n;i++)
{
if(n%i==0)
{
sum+=i;
}
}
return sum;
}
int main()
{
cout<<enSum(220)<<endl;
return 0;
}

Capter 4\2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <bits/stdc++.h>
using namespace std;
map<int,bool>mp;
int enSum(int n)
{
int sum=0;
int max=sqrt(n);
for(int i=1;i<n;i++)
{
if(n%i==0)
{
sum+=i;
}
}
return sum;
}

int main()
{
int n;
cin>>n;
if(n<284)
{
cout<<"No";
return 0;
}
cout<<"220 284"<<endl;
for(int i=400;i<=n;i++)
{
if(enSum(i)<=n&&enSum(i)!=i&&enSum(enSum(i))==i)
{
if(mp.count(min(enSum(i),i))==0)
{
cout<<min(enSum(i),i)<<" "
<<max(enSum(i),i)<<endl;
mp[min(enSum(i),i)]=true;
}
}
}
return 0;
}

Capter 4\3.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <bits/stdc++.h>
using namespace std;
int digit(long n,int k)
{
return (n/=(pow(10,(k-1))))?n%10:-1;
}
int main()
{
long n;int k;
cin>>n>>k;
cout<<digit(n,k);
return 0;
}

第5章

Capter 5\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
zhangsan 87 76 91 79
lisi 90 89 78 69
wangwu 80 88 91 85
zhaoqian 77 79 78 75
sunli 89 87 88 87
*/
#include <bits/stdc++.h>
using namespace std;
class Student
{
public:
char name[20];
int TotalScore,AverageScore;
Student()
{
TotalScore=0;
AverageScore=0;
}
};
int main()
{
Student data[5];
int temp;
for(int i=0;i<5;i++)
{
cin>>data[i].name;

for(int t=0;t<4;t++)
{
cin>>temp;
data[i].TotalScore+=temp;
}
data[i].AverageScore=data[i].TotalScore/4;
}
int maxi=0,maxn=data[0].AverageScore;
for(int i=1;i<5;i++)
{
if(data[i].AverageScore>maxn)
{
maxi=i;
maxn=data[i].AverageScore;
}
}
cout<<"Name TotalScore AverageScore"<<endl;
for(int i=0;i<5;i++)
{
cout<<setiosflags(ios::left)<<setw(10)
<<data[i].name<<setw(9)<<data[i].TotalScore
<<data[i].AverageScore<<endl;
}
cout<<"Student with the highest AverageScore is ";
cout<<data[maxi].name<<",AverageScore is "<<data[maxi].AverageScore;
return 0;
}

Capter 5\2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>
using namespace std;
int main()
{
int sum=0;
int num[10]={};
char c,str[2000];
cin>>str;
int i=0;
while((c=str[i++])!='\0')
{
if(c>='0'&&c<='9')
{
sum++;
num[c-'0']++;
}
}
cout<<"Number's amount is:"<<sum<<endl;
cout<<"'0...9' amount is:";
for(int i=0;i<=8;i++)
cout<<num[i]<<" ";
cout<<num[9];
return 0;
}

Capter 5\3.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
9 80 205 40
90 60 96 1
210 3 101 89
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
int data[3][4];
for(int xi=0;xi<3;xi++)
{
for(int yi=0;yi<4;yi++)
{
cin>>data[xi][yi];
}
}
int max[3]={},min[4]={};
for(int xi=0;xi<3;xi++)
{
int temp=data[xi][0];
for(int yi=0;yi<4;yi++)
{
if(data[xi][yi]>temp)
{
temp=data[xi][yi];
max[xi]=yi;
}
}
}
for(int yi=0;yi<4;yi++)
{
int temp=data[0][yi];
for(int xi=0;xi<3;xi++)
{
if(data[xi][yi]<temp)
{
temp=data[xi][yi];
min[yi]=xi;
}
}
}
bool flag=true;
for(int xi=0;xi<3;xi++)
{
for(int yi=0;yi<4;yi++)
{
if(max[xi]==yi&&min[yi]==xi)
{
printf("[%d][%d]=%d is Saddle Point",xi,yi,data[xi][yi]);
flag=false;
}
}
}
if(flag)
cout<<"No Saddle Point";
return 0;
}

第6章

Capter 6\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <bits/stdc++.h>
using namespace std;
void swapstr(char a[], char b[])
{
char t[50];
strcpy(t, a);
strcpy(a, b);
strcpy(b, t);
}
char pickchar(char str[])
{
return str[2] == 0 ? ' ' : str[2];
}
int main()
{
char str[5][50] = {};
for (int i = 0; i < 5; i++)
cin >> str[i];
for (int i = 0; i < 5; i++)
for (int j = 0; j < 4; j++)
if (strlen(str[j]) > strlen(str[j + 1]))
swapstr(str[j + 1], str[j]);
for (int i = 0; i < 5; i++)
cout << str[i] << " ";
cout << endl
<< "concatenate string:";
for (int i = 0; i < 5; i++)
cout << pickchar(str[i]);
return 0;
}

Capter 6\2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>
using namespace std;
int main()
{
char data[101];
cin.getline(data,100);
int len=strlen(data);
char max=0;int p=0;
for(int i=0;i<len;i++)
{
if(data[i]>max)
{
p=i;
max=data[i];
}
}
for(int i=0;i<len;i++)
{
cout<<data[i];
if(i==p)
cout<<"ab";
}
return 0;
}

Capter 6\3.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<bits/stdc++.h>
using namespace std;
int count(char *str)
{
int i=0;
int n=0;
while(str[i++]!='\0')
{
if((str[i-1]>='0'&&str[i-1]<='9')&&(str[i]<'0'||str[i]>'9'))
n++;
}
return n;
}
void output(char *str)
{
int i=0;
int n=0;
while(str[i++]!='\0')
{
if(str[i-1]>='0'&&str[i-1]<='9')
{
cout<<str[i-1];
if(str[i]<'0'||str[i]>'9')
cout<<endl;
}
}
}
int main()
{
char str[100];
cin.getline(str, 99);
cout<<count(str)<<endl;
output(str);
return 0;
}

第7章

Capter 7\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <bits/stdc++.h>
using namespace std;
const int m_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
struct Date
{
int year,month,day;
};
int is_r(int n)
{
return (0 == n % 4 && n % 100 != 0) || (0 == n % 400)?1:0;
}
int days(Date &date)
{
int day_c=0;
for(int i=1;i<date.month;i++)
{
day_c+=m_day[i];
if(i==2)
day_c+=is_r(date.year);
}
return day_c+date.day;
}
int main()
{
Date date;
cin>>date.year>>date.month>>date.day;
cout<<days(date);
return 0;
}

Capter 7\2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <bits/stdc++.h>
using namespace std;
struct person
{
char name[20];
int count;
} leader[3] = {"Li", 0, "Zhang", 0, "Fun", 0};
int main()
{
char name[10];
int n;
cin>>n;
for(int i = 0;i<n;i++ )
{
cin>>name;
for(int i=0;i<3;i++)
{
if(0==strcmp(name,leader[i].name))
leader[i].count++;
}
}
for(int i=0;i<3;i++)
{
cout<<leader[i].name
<<":"<<leader[i].count<<endl;
}
return 0;
}

第8章

Capter 8\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
/*
Warning!
There is the shit HELL.
*/
#include <bits/stdc++.h>
using namespace std;

class Date
{
const int m_day[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int year, month, day;

public:
Date() {}
void setDate()
{
cin >> year >> month >> day;
}
bool isLeapYear(int n)
{
return (0 == n % 4 && n % 100 != 0) || (0 == n % 400) ? 1 : 0;
}
void outputLeapYear()
{
cout << year << " is"
<< (isLeapYear(year) ? " " : " not ")
<< "leap year." << endl;
}
bool equal(const Date &temp)
{
bool flag = true;
if (year != temp.year)
flag = false;
if (month != temp.month)
flag = false;
if (day != temp.day)
flag = false;
return flag;
}
void add()
{
day++;
if (month == 2 && isLeapYear(year))
{
if (day > m_day[2] + 1)
{
month = 3;
day = 1;
}
}
else
{
if (day > m_day[month])
{
month++;
day = 1;
}
if (month > 12)
{
year++;
month = 1;
}
}
}
int EXgetSkip(Date o)
{
int n = 0;
while (true)
{
if (equal(o))
break;
add();
++n;
}
return n;
}
int SZYgetSkip(Date o)
{
int m_day[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int y1, m1, d1;
y1 = this->year, m1 = this->month, d1 = this->day;
int y2, m2, d2;
y2 = o.year, m2 = o.month, d2 = o.day;
int sumy = 0;
for (int i = y1; i < y2; i++)
if (isLeapYear(i))
sumy += 366;
else
sumy += 365;
int summ1 = 0;
if (isLeapYear(y1))
{
m_day[1] = 29;
for (int i = 0; i < m1 - 1; i++)
{
summ1 += m_day[i];
}
m_day[1] = 28;
}
else
{
for (int i = 0; i < m1 - 1; i++)
{
summ1 += m_day[i];
}
}
int sum1;
sum1 = summ1 + d1;
int summ2 = 0;
if (isLeapYear(y2))
{
m_day[1] = 29;
for (int i = 0; i < m2 - 1; i++)
{
summ2 += m_day[i];
}
m_day[1] = 28;
}
else
{
for (int i = 0; i < m2 - 1; i++)
{
summ2 += m_day[i];
}
}
int sum2;
sum2 = summ2 + d2;
int m;
m = sumy + sum2 - sum1;
return m;
}
int zeroCount()
{
int sum=0;
for(int i=1;i<year;i++)
{
sum+=365;
if(isLeapYear(i))
sum++;
}
for(int i=1;i<month;i++)
{
sum+=m_day[i];
if(i==2&&isLeapYear(year))
sum++;
}
sum+=day;
return sum;
}
int getSkip(Date o)
{
return abs(o.zeroCount()-zeroCount());
}
};
int main()
{
Date fir, sec;
fir.setDate();
sec.setDate();
fir.outputLeapYear();
sec.outputLeapYear();
cout << "The skip of two date is "
<< fir.getSkip(sec) << ".";
return 0;
}

Capter 8\2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <bits/stdc++.h>
using namespace std;
class Beeline
{
int X1, Y1, X2, Y2;

public:
Beeline(int x1 = 0, int y1 = 0, int x2 = 0, int y2 = 0) : X1(x1), Y1(y1), X2(x2), Y2(y2){}
float Length() const
{
return sqrt((Y2-Y1)*(Y2-Y1)+(X2-X1)*(X2-X1));
}
void show() const
{
printf("(%d,%d),(%d,%d)\n",X1,Y1,X2,Y2);
}
};
class Triangle
{
Beeline line1,line2,line3;
public:
Triangle(int x1,int y1,int x2,int y2,int x3,int y3):line1(x1,y1,x2,y2),line2(x2,y2,x3,y3),line3(x3,y3,x1,y1){}
float Area() const
{
float a=line1.Length(),b=line2.Length(),c=line3.Length();
float p=(a+b+c)/2;
return sqrt(p*(p-a)*(p-b)*(p-c));
}
void Print() const
{
cout<<"Three edges' points are listed as follows:\n";
line1.show();
line2.show();
line3.show();
printf("The area of this triangle is:%.2f",Area());
}
};
int main()
{
int x1,x2,x3,y1,y2,y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
Triangle tri(x1,y1,x2,y2,x3,y3);
tri.Print();
return 0;
}

第9章

Capter 9\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <bits/stdc++.h>
using namespace std;
class point
{
double x, y;
public:
point(double x0 = 0, double y0 = 0)
{
x = x0;
y = y0;
}
void display();
friend double dis(point&,point&);
};
void point::display()
{
cout<<"("<<x<<","<<y<<")\n";
//printf("(%lf,%lf)\n",x,y);
}
double dis(point &A,point &B)
{
double x1=A.x,y1=A.y;
double x2=B.x,y2=B.y;
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main()
{
double x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
point A(x1,y1),B(x2,y2);
A.display();
B.display();
cout<<dis(A,B);
return 0;
}

Capter 9\2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
using namespace std;
class Score
{
private:
int Chinese, Math, English;
static int TotalScore;
static int TotalStudent;

public:
Score() {}
void setScore(int c, int m, int e)
{
Chinese = c, Math = m, English = e;
TotalScore += (c + m + e);
++TotalStudent;
}
int Sum()
{
return Chinese + Math + English;
}
void Show()
{
printf("%d %d %d\n", Chinese, Math, English);
}
double static getAve()
{
return 1.0 * TotalScore / TotalStudent;
}
};
int Score::TotalScore;
int Score::TotalStudent;
int main()
{
int n, op, i, c, m, e;
cin >> n;
int id = 1;
Score sco[11];
while (n--)
{
cin >> op;
if (op == 1)
{
cin >> c >> m >> e;
sco[id].setScore(c, m, e);
id++;
}
else if (op == 2)
{
cin >> i;
cout << sco[i].Sum() << endl;
}
else if (op == 3)
{
cin >> i;
sco[i].Show();
}
else
{
printf("%.2lf\n", Score::getAve());
}
}
return 0;
}

第11-12章

Capter11\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <bits/stdc++.h>
using namespace std;
class Person
{
char* name;
int age;
char sex;
public:
Person(char* n,char s,int a):name(n),age(a),sex(s){}
void show()
{
cout<<"name:"<<this->name<<endl;
cout<<"age:"<<this->age<<endl;
cout<<"sex:"<<this->sex<<endl;
}
};
class Employee:public Person
{
int basicSalary;
int leaveDays;
public:
Employee(char* n,char s,int a,int b,int l):Person(n,s,a),basicSalary(b),leaveDays(l){}
void show()
{
Person::show();
cout<<"basicSalary:"<<this->basicSalary<<endl;
cout<<"leavedays:"<<this->leaveDays<<endl;
}
};
int main()
{
char name[20],sex;
int age,ba,le;
cin>>name>>sex>>age>>ba>>le;
Employee data(name,sex,age,ba,le);
data.show();
return 0;
}

Capter12\1-w.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bits/stdc++.h>
using namespace std;
int main()
{
double all,w,p;
char temp;
cin>>temp;
while (temp!='q')
{
cin>>w>>p;
switch (temp)
{
case 'a':
all+=w*p;
break;
case 'b':
all+=w*p/2;
break;
case 'o':
all+=(w>10?w*p/2:(w>5?w*p*0.8:w*p));
break;
}
cin>>temp;
}
printf("%.2lf",all);
return 0;
}

Capter12\1.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <bits/stdc++.h>
using namespace std;
class Fruit
{
protected:
double W,P;
public:
Fruit(double w,double p):W(w),P(p){}
virtual double operator +(double all)=0;
};
class Apple:public Fruit
{
public:
Apple(double w,double p):Fruit(w,p){}
double operator+(double all)
{
all+=W*P;
return all;
}
};
class Banana:public Fruit
{
public:
Banana(double w,double p):Fruit(w,p){}
double operator+(double all)
{
all+=W/2*P;
return all;
}
};
class Orange:public Fruit
{
public:
Orange(double w,double p):Fruit(w,p){}
double operator+(double all)
{
all+=(W>10?W*P/2:(W>5?W*P*0.8:W*P));
return all;
}
};
int main()
{
double all=0,w,p;
char temp;
Fruit* fp;
cin>>temp;
while(temp!='q')
{
cin>>w>>p;
switch (temp)
{
case 'a':
fp=new Apple(w,p);
break;
case 'b':
fp=new Banana(w,p);
break;
case 'o':
fp=new Orange(w,p);
break;
}
all=*fp+all;
delete fp;
cin>>temp;
}
printf("%.2lf",all);
}

其他

实话说我也不知道这些代码是做什么用的,但是既然在这个文件夹应该和这个课程有些关系

可能是某些不在章节内的题解

Other\004.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include<bits/stdc++.h>
using namespace std;
template<class T>
class node
{
public:
T data;
node<T>* next;
operator= ( node &a) const
{
data=a.data;
next=a.next;
}
};

template<class T>
class link
{
private:
node<T>* head, p;
int len;
public:
void print();
void push(T y);
void reverse();
link();
~link();
};

template<class T>
link<T>::link() :len(0)
{
head = NULL;
p = NULL;
};

template<class T>
void link<T>::push(T y)
{
if (!head) {
p = new node<T>;
p->data = y;
p->next = NULL;
head = p;
len++;
}
else {
p = p->next;
p = new node<T>;
p->data = y;
p->next = NULL;
len++;
}
};
template<class T> void link<T>::print()
{
p = head;
while (p) {
cout << p->data << ' ';
p = p->next;
}
};
template<class T> void link<T>::reverse()
{
if (!head) return;
node<T>* k;
node<T>* rehead = NULL;
int relen = len;
len = 0;
if (!rehead)
{
int i = 0;
k = head;
while (i != relen)
{
k = k->next;
i++;
}
p = new node<T>;
p->data = k->data;
p->next = NULL;
delete k;
rehead = p;
len++;
relen--;
}
else {
for (; relen != 0; relen--) {
int i = 0;
k = head;
p = p->next;
while (i != relen)
{
k = k->next;
i++;
}
p = new node<T>;
p->data = k->data;
p->next = NULL;
delete k;
len++;
}
}
head = rehead;

}
template<class T> link<T>::~link()
{
node<T>* q;
for (int i = 0; i < len; i++)
{
p = head;
q = p->next;
while (q->next)
{
p = q;
q = p->next;
}
delete q;
p->next = NULL;
}
};
int main()
{
int num1, num2;
int x;
double y;
link<int> a;
link<double> b;

cin >> num1 >> num2;

for (int i = 0; i < num1; i++)
{
cin >> x;
a.push(x);
}
for (int i = 0; i < num2; i++)
{
cin >> y;
b.push(y);
}
a.print();
cout << endl;
b.print();
cout << endl;
a.reverse();
b.reverse();
a.print();
cout << endl;
b.print();
return 0;
}

Other\1.cpp

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
static double pi=3.14;
int main()
{
double r,s;
cin>>r;
s=4.0/3.0*pi*r*r*r;
cout<<s<<" "<<9.1*1e-2*s<<endl;
return 0;
}

Other\1121-2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
using namespace std;
#include <iostream>
class cset
{
public:
int n;
int* data;
cset(int n1=0, int* d1=0) :n(n1), data(d1) {}
cset operator+(cset &);
void show()
{
for (int i = 0; i < n; i++)
cout << *(data + i) << " ";
}
};
cset cset:: operator+(cset &c1)
{
int *c, nn2;
c = new int[n+c1.n];
int num = 0;
for (int i = 0; i < n; i++)//i 前
{
c[i] = *(data + i);//把a中所有复制到c,0~n-1的数 共n个,结尾c[n-1]
}
cout << endl;
nn2 = n-1;
for (int j = 0; j < c1.n; j++)//j 后
{
for (int i = 0; i < n; i++)
{
if (*(c1.data + j) == *(data + i))
{
break;
}
if ((*(c1.data + j) != *(data + i)) && (i == (n - 1)))//当a中数被扫描完并此数为a数个数时
{
//集合b中有几个与a不匹配的数
c[++nn2] = *(c1.data + j);//原先a有的加上b有a没有的,这里不是++i
}
}
}int* p = c;
cset c3(nn2 , c);
for (int i = 0; i <= nn2; i++)//<=
cout << *(c3.data + i) << " ";//这里输出正常
cout << endl;
return c3;
}
int main()
{
int n, n1, a[100], b[100], * nn, * nn1;
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
cin >> n1;
for (int i = 0; i < n1; i++)
cin >> b[i];
nn = a;
nn1 = b;
cset c0(n, a);
cset c1(n1, b);
cset c2;
c2 = c0 + c1;
//c2.show();
for (int i = 0; i <= c2.n; i++)//<=
cout << *(c2.data + i) << " ";//这里输出正常
cout << endl;
}

Other\1121.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using namespace std;
#include <iostream>
int c[100];
class cset
{
int n;
int* data;
public:
cset(int n1, int* d1) :n(n1), data(d1) {}
cset operator+(cset& c1);
void show()
{
for (int i = 0; i <= n; i++)
cout << *(data + i) << " ";
}
};
cset cset:: operator+(cset& c1)
{
int nn2;
int num = 0;
for (int i = 0; i < n; i++)//i 前
{
c[i] = *(data + i);//把a中所有复制到c,0~n-1的数 共n个,结尾c[n-1]
}
cout << endl;
nn2 = n-1;
for (int j = 0; j < c1.n; j++)//j 后
{
for (int i = 0; i < n; i++)
{
if (*(c1.data + j) == *(data + i))
{
break;
}
if ((*(c1.data + j) != *(data + i)) && (i == (n - 1)))//当a中数被扫描完并此数为a数个数时
{
//集合b中有几个与a不匹配的数
c[++nn2] = *(c1.data + j);//原先a有的加上b有a没有的,这里不是++i
}
}
}int* p = c;
cset c3(nn2 , p);
for (int i = 0; i <= nn2; i++)//<=
cout << *(c3.data + i) << " ";//这里输出正常
cout << endl;
//return c3;
return cset(nn2,p);
}
int main()
{
int n, n1, a[100], b[100], * nn, * nn1;
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
cin >> n1;
for (int i = 0; i < n1; i++)
cin >> b[i];
nn = a;
nn1 = b;
cset c0(n, a);
cset c1(n1, b);
cset cm = c0 + c1;
cm.show();
}

Other\2.cpp

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main()
{
int a;double b;char c;
cin>>a>>b>>c;
b+=(double)a;
b+=(double)c;
cout<<b<<endl;
return 0;
}

Other\sxz01.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int a[3][3];
int (*p)[3];
p = a;
int i, j, t;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
cin >> *(*(a + i) + j);
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
{
//t = *(*(p + i) + j);
//*(*(p + i) + j) = *(*(p + j) + i);
//*(*(p + j) + i) = t;
t=p[i][j];
p[i][j]=p[j][i];
p[j][i]=t;
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
cout << setw(5) << p[i][j] << " ";
cout << endl;
}
return 0;
}

Other\未命名0.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
using namespace std;
int num;
int n;
int i = 0;
int sum = 0;
int main()
{
cin >> num;
//n = num % 10;
//sum = sum + n;
//cout << n ;
I:
n = num % 10;
cout << n ;
sum +=n;
i++;
if ((num /= 10) > 0) goto I;
cout << endl;
cout << sum << endl;
cout << i << endl;
return 0;
}

Other\未命名1.cpp

1
2
3
4
5
6
7
8
9
10
11
#include <bits/stdc++.h>
using namespace std;
int main()
{
double sum=0;
int i=1;
while(i<=100)
sum += 1./i*(i++%2==0?:-1);
cout<<"sum="<<sum;
return 0;
}

Other\未命名11.cpp

1
2
3
4
5
6
7
8
9
10
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,j;
for(j=10;i=3;j++)
{
cout<<"0"<<endl;
}
}

Other\未命名2.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
int a,n;cin>>a>>n;
int sum=0;int temp=0;
for(int i=1;i<=n;i++)
{
temp*=10,temp+=a;
sum+=temp;
}
cout<<"sum="<<sum<<endl;
return 0;
}

Other\未命名3-2.cpp

1
2
3
4
5
6
7
8
9
10
11
#include <bits/stdc++.h>
using namespace std;
int main()
{
double sum = 0;
long long i = 0;
while (i<1e8)
sum += 1.0 / (2*i+1) * (i++%2==0?:-1);
printf("%lld:%.16lf\n",i,4*sum);
return 0;
}

Other\未命名3.cpp

1
2
3
4
5
6
7
8
9
10
11
#include <bits/stdc++.h>
using namespace std;
int main()
{
double sum = 0;
long long i = 0;
while (i<1e9)
sum += 1.0 / (2*i+1) * (i++%2==0?:-1);
printf("%d:%.16lf\n",i,4*sum);
return 0;
}

Other\未命名31.cpp

1
2
3
4
5
6
7
8
9
10
11
12
#include <bits/stdc++.h>
using namespace std;
int main()
{
double sum=0;int i=1;
//for(;i<=100;i++)
while(i<=100)
//sum += 1.0/i*(i++%2==1?1:-1);
sum += 1.0/i*(i++%2==0?-1:1);
cout<<"sum:"<<sum;
return 0;
}

编程作业、大作业、课程设计程序代码调试、协助/指导,制作软件/脚本/网页,经验丰富

支持C/C++、JAVA、Python、Matlab、JavaScript、R语言等,欢迎咨询

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道