哈尔工业大学上机题(n诺1349-1363)
1349 互换最大最小数
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #define N 100 using namespace std; int a[100]; int main() { int n, min, max,temp; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; max = min = 0; for (int i = 0; i < n; i++) { if (a[i] > a[max]) max = i; if (a[i] < a[min]) min = i; } temp = a[min]; a[min] = a[max]; a[max] = temp; for (int i = 0; i < n; i++) cout << a[i] << " "; cout << endl; return 0; }
1350 找X
输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #define N 100 using namespace std; int a[100]; int main() { int n, temp; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; cin >> temp; int i; for (i = 0; i < n; i++) { if (temp == a[i]) { cout << i << endl; break; } } if (i == n) cout << "-1" << endl; return 0; }
1351 判断三角形类型
// ConsoleApplication11.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; int main() { int e[3]; while (cin >> e[0] >> e[1] >> e[2]) { sort(e, e + 3); double result = pow(e[0], 2) + pow(e[1], 2) - pow(e[2], 2); if (result == 0) cout << "直角三角形" << endl; else if (result > 0) cout << "锐角三角形" << endl; else cout << "钝角三角形" << endl; } return 0; }
1352 众数
输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; int main() { int a[11] = { 0 }; int temp; for (int i = 1; i <= 20; i++) { cin >> temp; a[temp]++; } int max = 0, x = 0; int i; for ( i = 1; i <= 10; i++) { if (a[i] > max) { max = a[i]; x = i; } } cout << x << endl; return 0; }
1353 求最大公约数
输入两个正整数,求其最大公约数。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; int gcd(int a, int b) { if (a%b == 0) return b; else return gcd(b, a%b); } int main() { int a, b; while (cin >> a >> b) { if (a > b) { int t = a; a = b; b = t; } cout << gcd(a, b) << endl; } return 0; }
1354 完数
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子(除了它自己)相加和的数。
#include<bits/stdc++.h> using namespace std; bool fun(int n) { int sum = 0, cnt = 0; for (int i = 1; i <= n / 2; i++) { if (n%i == 0) { sum = sum + i; } } if (sum == n) return true; return false; } int main() { int n; while(cin >> n) { cout << "6"; for (int i = 7; i <= n; i++) if (fun(i)) cout <<" "<< i ; cout << endl; } return 0; }
1355 素数的判定
给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; bool isprime(int n) { int i; if (n <= 1) return false; for (i = 2; i <= sqrt(n); i++) { if (n%i == 0) return false; } return true; } int main() { int n; while (cin >> n) { if (isprime(n)) cout << "yes" << endl; else cout << "no" << endl; } return 0; }
1356 字符串连接
不用strcat 函数,自己编写一个字符串链接函数MyStrcat(char dstStr[],charsrcStr[])
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; char *MyStrcat(char a[], char b[]) { char *p = a; char *s = b; while (*p != 0) p++; while (*s != 0) { *p = *s; p++; s++; } *p = '\0'; return a; } int main() { char a[100], b[100], *c; while (cin >> a >> b) { c = MyStrcat(a, b); cout << c << endl; } return 0; }
1357 百万富翁问题
一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你10 万元,你第一天给我1 分钱,第二天2 分钱,
第三天4 分钱……
这样交换 30 天后,百万富翁交出了多少钱?陌生人交出了多少钱?(注意一个是万元,一个是分)
#include <bits/stdc++.h> using namespace std; int main() { int x=300; long long y=0; for(int i=0;i<30;i++){ y+=pow(2,i); } cout<<x<<" "<<y<<endl; return 0; }
1358 数组逆置
输入一个字符串,长度小于等于200,然后将数组逆置输出。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; int main() { char a[200]; int n; while (cin >> a) { for (int i = strlen(a) - 1; i >= 0; i--) cout << a[i]; cout << endl; } return 0; }
1359 数字阶梯求和
给定a和n,计算a+aa+aaa+a…a(n个a)的和。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; int main() { int a, n; long sum = 0; cin >> a >> n; long t = a; for (int i = 1; i <= n; i++) { sum += t; t = t * 10 + a; } cout << sum << endl; return 0; }
1360 字符串内排序
输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; int main() { char a[200]; while (cin >> a) { int len = strlen(a); sort(a, a + len); cout << a << endl; } return 0; }
1361 求最大值
输入10个整数,要求输出其中的最大值。
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; int main() { int max = -1; int temp; for (int i = 0; i < 10; i++) { cin >> temp; if (temp > max) max = temp; } cout << "max="<<max << endl; return 0; }
1362 字符串去特定字符
输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。
#include <bits/stdc++.h> using namespace std; int main() { string s; char c; while(cin>>s>>c){ int len=s.size(); for(int i=0;i<len;i++){ if(s[i]!=c) cout<<s[i]; } cout<<endl; } return 0; }
1363 计算另两个矩阵的乘积
计算两个矩阵的乘积,第一个是23,第二个是32
#include <iostream> #include<algorithm> #include<string> #include<iomanip> #include<cmath> using namespace std; int main() { int a[2][3], b[3][2], c[2][2]; int sum; for (int i = 0; i < 2; i++) for (int j = 0; j < 3; j++) cin >> a[i][j]; for (int i = 0; i < 3; i++) for (int j = 0; j < 2; j++) cin >> b[i][j]; for(int i=0;i<2;i++) for (int j = 0; j < 2; j++) { sum = 0; for (int k = 0; k < 3; k++) sum += a[i][k] * b[k][j]; c[i][j] = sum; } for(int i=0;i<2;i++){ for (int j = 0; j < 2; j++) cout << c[i][j] << " "; cout << endl; } return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
- 厦大C语言上机 1363 简单的数列求和
- 2013第四周上机任务【项目5-数组作数据成员】
- 十一章 连接,分组查询 上机练习一
- 第五周上机任务项目1-(1带参数构造函数)--(纪念原创博文第100篇)
- sql上机练习1
- 第五周上机任务项目3-(编写基于对象的程序)
- SQL--上机五--使用外连接查询信息
- 第三次上机实验报告
- ACCP JAVA1基础 上机练习 购物管理系统
- 第二次C语言设计上机报告
- QUTOJ 1363 麻烦的小卓 思维
- 第三次C程序设计上机报告
- ACCP JAVA1基础 上机8第3部分3 购物结算
- 第六周上机任务(二)
- C#开发数据库第一章上机题
- 第三次C程序设计上机报告
- 使用C#数据库应用系统 第五章上机练习
- 第四次上机实验
- 17 - 01 - 09 POJ 1363 (栈模拟)
- 第四次上机实验