一些简单的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函数中调用该函数。 展开
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函数中调用该函数。 展开
展开全部
自己编!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
#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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询