【C语言学习】数组与数据处理例题

编译器:DevC++5.11

1.输入若干个整数,统计其中有多少个奇数并将所有的奇数输出。

代码:

#include <iostream>
using namespace std;

int main(){
	int* data;
	int n,sum = 0;
	printf("输入数组长度:");
	cin >> n;
	data = new int[n];
	for(int i = 0;i < n;i++)
		cin >> data[i];
	for(int i = 0;i < n;i++){
		if(data[i] % 2 != 0){
			sum++;
			printf("data[%d]:%d\n",i,data[i]);
		}
	}
	printf("总共有%d个奇数",sum);
	delete[] data;
	return 0;
}

运行结果:

2.输入若干个整数,分别用选择法和冒泡法进行排序 

代码:【选择排序】

#include <iostream>
#include <algorithm>
using namespace std;

int main(){
	int* data;
	int n;
	printf("输入数组长度:");
	cin >> n;
	data = new int[n];
	printf("输入数组元素:\n");
	for(int i = 0;i < n;i++)
		cin >> data[i];
	for(int i = 0;i < n-1;i++){
		int index = i;
		for(int j = i+1;j <= n-1;j++){
			if(data[j] < data[index]){
				index = j;
			}
		}
		swap(data[i],data[index]);
	} 
	printf("显示数组元素:\n");
	for(int i = 0;i < n;i++)
		printf("%d ",data[i]);
	delete[] data;
	return 0;
}

代码:【冒泡排序】

#include <iostream>
#include <algorithm>
using namespace std;

int main(){
	int* data;
	int n;
	printf("输入数组长度:");
	cin >> n;
	data = new int[n];
	printf("输入数组元素:\n");
	for(int i = 0;i < n;i++)
		cin >> data[i];
	for(int i = 0;i < n-1;i++ ){
		bool flag = false;//默认数组输入时是有序的 
		for(int j = 0;j < n-i-1;j++){
			if(data[j] > data[j+1]){//把小的数排前面 
			   swap(data[j],data[j+1]);
			   flag = true;//进行过排序,说明输入的数组是无序的 
			} 
		}
		if(!flag)//(数组有序就不用排序了,跳出循环,直接输出)
		   break;
	}
	printf("输出数组元素:\n");
	for(int i = 0;i < n;i++)
		printf("%d ",data[i]);
	delete[] data;
	return 0;
}

运行结果:

【选择排序】

【冒泡排序】 

 

3.输入一个含有若干个空格的字符串,删除其中的空格后输出该字符串。

代码:

#include <iostream>
using namespace std;

int main(){
	char str1[100],str2[100];
	printf("输入字符串:\n");
	gets(str1);
	int j = 0;
	for(int i = 0;str1[i]!='\0';i++){
		if(str1[i] != ' '){
			str2[j] = str1[i];
			j++;
		}		
	}
	printf("输出字符串:\n");
	puts(str2);
	return 0;
}

 4.输入两个字符串str1和str2,判断str2是不是str1的子串,若是,请将str1中删除子串str2后的部分输出

代码:

#include <iostream>
#include <string>
using namespace std;

int main(){
	string str1,str2,str3 = "";
	printf("输入第一个字符串:\n");
	getline(cin,str1);
	printf("输入第二个字符串:\n");
	getline(cin,str2);
	int pos = str1.find(str2);
	while(pos != -1){
		str1.replace(pos,str2.length(),str3);
		pos = str1.find(str2);
	}
	printf("输出字符串:\n");
	cout << str1 << endl;
	return 0;
}

运行结果:

### 回答1: 的列表A和B,输出它们的交集。 示例输入: A = [1, 2, 3, 4, 5] B = [3, 4, 5, 6, 7] 示例输出: [3, 4, 5] 提示: 1. 可以使用set()函数将列表转换为集合,方便进行集合运算。 2. 可以使用&运算符计算两个集合的交集。 ### 回答2: 编写程序,输入两个包含若干正整数。 首先,我们需要明确输入的格式。假设每个包含正整数输入以空格分隔,并以换行符结束。例如,输入可能如下所示: ``` 1 2 3 4 5 6 7 8 9 10 ``` 接下来,我们可以使用代码从标准输入中读取输入。假设我们使用Python语言来编写程序,可以使用`input`函数来接收输入,并使用`split`函数将每个输入字符串拆分成整数列表。代码如下所示: ```python input1 = input("请输入第一个包含正整数的字符串:").split() input2 = input("请输入第二个包含正整数的字符串:").split() numbers1 = [int(num) for num in input1] numbers2 = [int(num) for num in input2] ``` 上述代码会将输入的字符串拆分成整数列表,并将其存储在`numbers1`和`numbers2`变量中。 接下来,我们可以对这两个列表进行各种操作,例如求和、排序等。以下是几个示例操作的代码: 1. 求和: ```python sum1 = sum(numbers1) sum2 = sum(numbers2) print("第一个列表的和为:", sum1) print("第二个列表的和为:", sum2) ``` 2. 排序: ```python sorted1 = sorted(numbers1) sorted2 = sorted(numbers2) print("第一个列表的排序结果为:", sorted1) print("第二个列表的排序结果为:", sorted2) ``` 3. 求两个列表的交集: ```python intersection = list(set(numbers1) & set(numbers2)) print("两个列表的交集为:", intersection) ``` 以上示例代码只是简单演示了对输入的两个整数列表进行操作的一些方法。根据具体需求,可以进行更复杂的计算和处理。 最后,需要注意的是,在实际编写程序时,需要做好对用户输入的验证和异常处理,以确保程序的健壮性和安全性。 ### 回答3: 编写一个程序,可以输入两个包含若干个正整数的列表,并进行下列操作: 1. 输入第一个列表,并将其存储为一个数组或列表。 2. 输入第二个列表,并将其存储为一个数组或列表。 3. 可以对两个列表进行操作,比如求和、求差、求积等。 4. 可以输出操作结果。 下面是一个实例程序的伪代码: ``` # 定义函数,实现对两个列表的操作 def operate_list(list1, list2): # 求和 sum_result = sum(list1) + sum(list2) # 求差 diff_result = max(list1) - min(list2) # 求积 product_result = 1 for num in list1 + list2: product_result *= num # 返回操作结果 return sum_result, diff_result, product_result # 输入第一个列表 input_str1 = input("请输入第一个包含若干正整数的列表,用空格分隔:") list1 = list(map(int, input_str1.strip().split())) # 输入第二个列表 input_str2 = input("请输入第二个包含若干正整数的列表,用空格分隔:") list2 = list(map(int, input_str2.strip().split())) # 对两个列表进行操作 result = operate_list(list1, list2) # 输出结果 print("两个列表的和为:", result[0]) print("两个列表的差为:", result[1]) print("两个列表的积为:", result[2]) ``` 通过以上代码,我们可以输入两个包含若干个正整数的列表,并对这两个列表进行操作,最后输出操作结果。当然,以上只是伪代码,具体的实现可能还需要根据实际需求进行修改和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roy1Zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值