c++编程求解

1. 编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。例如:字符串中原有的内容为:abcdefg,则调用该函数后,串中的内容为:gfedcba

2. 写程序,实现矩阵(3行3列)的转置(即行列互换)。

3. 请编一个函数fun(int *a,int n,int *odd,int *even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n给了数组中数据的个数:利用指针odd返回奇数之和,利用指针even返回偶娄这和。例如:数组中的值依次为:1,8,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8。

4. 把20个随机数存入一个数组,然后输出该数组中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。

5. 请编一个函数float fun(double h),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值为正数)。

6. 编写函数fun,函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。
若程序执行时,输入字符串为:turbo c and Borland c++,从键盘上输入字符:n,则输出后变为:turbo c ad borlad c++. 如果输入的字符串不存在,则字符串照原样输出。

7. 请编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。

8. 编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。

9. 请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。例如,原来的字符串为CEAedca,排序后输出为CedcEAa.

10. 请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

1:

void fun(char* s)

{

    for( int i = 0; s[i] != '\0'; i++ );

    i--;

    int j = 0;

    while( j < i )

    {

        char temp = s[j]; s[j] = s[i]; s[i] = temp;

        j++;

        i--;

    }

2、

void fun( char m[3][3] )

{

    for ( int i = 0; i < 3; i++ )

        for ( int j = 0; j < i; j++ )

        {

            char temp = m[i][j];

            m[j][i] = m[i][j];

            m[i][j] = m[j][i];        

        }

}

3、

fun(int *a,int n,int *odd,int *even)

{

    *odd = 0;

    *even = 0;

    for ( int i = 0; i < n; i++)

    {

        if ( a[i] % 2 == )    *even += a[i];

        else                  *odd += a[i];

    }

}

4、

int fun( int a[20] )

{

    int value = a[0];

    int i = 0;

    for ( int j = 1; j < 20; j++ )

        if ( a[j] < a[i] )

        {

            i = j;

        }

}

5、

float fun( double h )

{

    int a = int( h * 100 + 0.5 );

    return a/100.0;

}

6、

void fun( char* s, char n )

{

    int i = 0;

    int j = 0;

    while ( s[j]!='\0' )

    {

       if ( s[j] == n )

           j++;

       else

           s[i++] = s[j++];

    }

}

7、

unsigned fun( unsigned w )

{

    int a;

    while ( w%10!=0 )

    {

        a = w%10;

        w = a/10;

    }

    return a;

}

8、

int fun( int lim, int aa[MAX] )

{

    int pos = 0;

    

    for ( int i = 2; i < lim; i++ )

    {

        for ( int j = 2; j < i; j++ )

            if ( i%j == 0 )

                break;

        if ( j==i )

        {

            a[pos++] = i;

        }

    }

    return pos;

}

9、

void fun( char* s )

{

    for ( int i = 0; s[i] != '\0'; i++ );

    

    for ( int j = i-2; j > 0; j-- )

    {

        bool exchange = false;

        for ( int k = 1; k <= j; k++ )

            if ( s[k] < s[k+1] )

            {

                char temp = s[k]; s[k] = s[k+1]; s[k+1] = temp;

                exchange = true;

            }

        if( !exchange )

            return;

    }

}

10、

设二维数组为a[10][10]

int fun( int a[10][10] )

{

    int sum = 0;

    for ( int i = 0; i < 10; i++ )

        for ( int j = 0; j < 10; j++ )

            if ( i==0 || j==0 || i==9 || j==9 )

                sum += a[i][j];

    return sum;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-06
第一问:
void CH(char &a,char& b) //交换ab的值
{
char c=a;
a=b;
b=c;
}

void fun(char* s)
{
int i=0,j=0;
for(;s[j]!='\0';j++){}
j--;
for(;i<j;)
{
CH(s[i++],s[j--]);
}
}

第二问只需要调用上述的CH函数就可以了
第三问你给的例如似乎有错,无论是第奇数项相加还是所有奇数相加都不能得到你的结果,我理解为所有奇数相加,程序如下:
void fun(int *a,int n,int *odd,int *even)
{
*odd=0;
*even=0;
int i=0;
for(;;)
{
a[i]%2==0?*even+=a[i++]:*odd+=a[i++];
if(i>=n)break;
}
}

第四问:
#include<ctime>//需要添加这个头文件以用时间为种子生成随机数

void fun()
{
srand(time(0));
int a[20],i,b,j; //j用于存放最小元素下标
for(i=0;i<20;i++)
{
a[i]=rand();
}
b=a[0];
j=0;
for(i=1;i<20;i++)
{
if(b>a[i])
{
b=a[i];
j=i;
}
}
cout<<"数组中的最小值为:"<<b<<endl;
cout<<"其下标为:"<<j<<endl;
}

第五问:
float fun(double h)
{
int a=(int)(h*1000),b=a%10;
b>=5?a=a/10+1:a=a/10;
float r;
r=a/100.0;
return r;
}

后面的陆续发
第2个回答  2020-08-07
class
Square
{
public:

Square(){
m_a
=
0;}

void
inputa(double
a){m_a
=
a;}

double
outputa(){return
m_a
*
m_a;}

private:

double
m_a;
}
第3个回答  2020-07-30
#include<iostream>
using
namespace
std;
class
f()
{
private:
double
a;
public:
void
inputa()
{cin>>a;}
void
outputa()
{cout<<a;}
};

int
main()
{
f
b;
b.inputa();
b.outputa();
return
0;
}
第4个回答  2020-06-26
#include
<cstdio>class
q{
private:

int
in,out;
public:

void
inputa();

void
outputa();}void
q::inputa(){
scanf("%d",&in);
out
=
in
*
4;
return;}void
q::outputa(){
printf("%d\n",out);
return;}
相似回答