- 作者:老汪软件技巧
- 发表时间:2024-01-05 18:00
- 浏览量:
6-1 找最小元素/选择排序 - C/C++ 数组及字符串
(找最小元素)对于给定的包含10个元素的整数数组,设计一个函数,从数组给定的下标范围[i,j]里找到值最小的元素,返回其下标。该函数的原型可以是int (int a[], int i, int j),参数int a[]代表被搜索的数组。
以这个函数为基础,可以演化出一种称之为选择排序的算法。该算法从a[0..N]中找出最小元素并与a[0]交换,然后再从a[1..N]中找出最小元素并与a[1]交换,然后再从a[2..n]中找出最小元素并与a[2]交换,... 最终得到一个递增有序的数组。
下述程序从键盘读入10个整数,然后使用选择排序算法进行排序并输出。请设计()函数,使得该程序可以正确运行。
输入样例:
78 1 7 2 24 35 77 89 10 567
输出样例:
1,2,7,10,24,35,77,78,89,567
注意:本题只需要提交()函数的定义代码,不要将整个程序提交。
int findMin(int a[], int i, int j) {
int t=i;
for (i; i < j; i++) {
if (a[t] <= a[i + 1]) {
continue;
}
else {
t = i + 1;
}
}
return t;
};
6-2 字符串匹配 - C/C++ 数组及字符串
函数()用于从以0结尾的字符数组s中查找其子串s1的位置,如果找到,返回起始下标,否则返回-1。
举例:字符串'tri'在字符串''中的起始下标为1;在字符串'tom&jerry'中找不到子串'jack',函数应返回-1。
请定义上述()函数,使得下述程序可以运行并产生正确的执行结果。
int findSubStr(char s[], char s1[]) {
int len_s=strlen(s);
int len_s1=strlen(s1);
for(int i=0;i
7-1 大月与小月 - C/C++ 数组及字符串
(大月与小月)定义一个长度为12的整数数组days,其中days[i]表示i+1月的天数(平年)。编写一个程序,从键盘读入月份,然后从days数组查得该月天数并打印。
输入格式:
月份(1-12)
输出格式:
参考输出样例
输入样例:
11
输出样例:
There are 30 days in 11th month.
#include
using namespace std;
int main()
{ int n,i;
int a[]={31,28,31,30,31,30,31,31,30,31,30,31};
cin>>i;
n=a[i-1];
cout<<"There are "<
7-2 数组累积和 - C/C++ 数组及字符串
(数组累积和)对于给定的包含5个元素的浮点数数组a,请编写程序求数组a的累积和数组b,数组b也应包含5个元素,其中b[i]等于sum(a[0..i])。
输入格式:
以空格为分隔的5个浮点数
输出格式:
对应的累积和数组的值,保留2位小数以逗号分隔,请参考输出样例
输入样例:
0.01 0.04 0.20 0.45 0.15
输出样例:
0.01,0.05,0.25,0.70,0.85
#include
using namespace std;
int main() {
double a[5];
double b[5];
for (int i = 0; i < 5; i++) {
cin >> a[i];
}
b[0] = a[0];
for (int i = 1; i < 5; i++) {
b[i] = a[i] + b[i - 1];
}
printf("%.2f,%.2f,%.2f,%.2f,%.2f", b[0], b[1], b[2], b[3], b[4]);
return 0;
}
7-3 回文数 - C/C++ 数组及字符串
数字121从左往右读与从右往左读是一样的,这种数称为回文数。请使用for循环设计一个程序,
找出>=0并且