• 作者:老汪软件
  • 发表时间: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并且