一些简单的C++问题

1、编写函数voidfun(char*str)将字符串str按字符的ASCII码值的升序重新排列(如将字符串"program"处理成"agmoprr")。在main函数中... 1、编写函数void fun(char *str)将字符串str按字符的

ASCII码值的升序重新排列(如将字符串"program"处

理成"agmoprr")。 在main函数中调用该函数。

2、编写函数void strExcept(char *str,char c)删除字

符串str中的字符c。在main函数中调用该函数。

3、编写函数int arrMax(int *a,int n,int *index)求数

组a中最大元素的值和此元素的下标。形参n表示数组中

元素的个数;最大元素值以函数值返回,此元素的下标

通过指针形参index带回调用函数。

在main函数中调用该函数。

4、编写函数int fun(int *arr,int n)将有序数组arr压缩

成各元素互不相同的有序数组,即相同数只保留一个,多

余的被删除。形参n表示原数组中元素的个数;函数返回压

缩后的数组元素的个数。在main函数中调用该函数。
展开
 我来答
wushengyu51
2011-03-08 · TA获得超过116个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:116万
展开全部
自己编!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wurandexin
推荐于2016-10-06 · TA获得超过539个赞
知道小有建树答主
回答量:499
采纳率:100%
帮助的人:319万
展开全部
OK
#include <iostream>
#include <string.h>
using namespace std;
const int MAX = 6;
void fun(char *str);/*第一题*/
void strExcept(char *str,char c);/*第二题*/
int arrMax(int *a,int n,int *index = NULL);/*第三题*/
int fun(int *arr,int n);/*第四题*/
int main()
{
char str[] = "program";
fun(str);
cout << str << endl;

char str2[] = "woaenaunna";
char c = 'a';
strExcept(str2,c);
cout << str2 << endl;

int iArr[MAX] = {4,2,55,632,6,2345};
int curr = arrMax(iArr,MAX);
cout << curr << endl;

int iArr2[MAX] = {1,2,2,3,3,3};
int curr2 = fun(iArr2,MAX);
cout << curr2+1 << endl;
return 0;
}
void fun(char *str)
{
int n = strlen(str);
int iChange = n;
char temp;
for(int j=0;j<n;j++)
{
for(int i=j+1;i<n;i++)
{
if(str[j] > str[i])
{
temp = str[j];
str[j] = str[i];
str[i] = temp;
}
}
}
}
void strExcept(char *str,char c)
{
for(int i = 0;str[i] != '\0';i++)
{
if(c == str[i])
{
for(int j=i;str[j] != '\0';j++)
str[j] = str[j+1];
}

}
}
int arrMax(int *a,int n,int *index)
{
int k = 0;

for(int j = 0;j<n;j++)
{
if(a[k]<a[j])
{
k = j;
}
}
index = &k;
//}
return *index;
}
int fun(int *arr,int n)
{
int i;
int j=0;
for(i=1;i<n;i++)
{
if(arr[i-1]!=arr[i])
{
arr[++j]=arr[i];
}
}
return j;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式