#include <iostream>
using namespace std;
//(1) 求和:s=a+aa+aaa+…+aa…a,其中a是数字,a和n由键盘输入。
int main()
{
int a; //存放数字a
int n;//存放个数n
int sum=0;//用于输出和
cout<<"请输入数字‘a’和个数‘n’"<<endl;
cin>>a>>n;
int k;//中间数 判断循环的次数
if(n%2==0) //偶数
k=n/2;
else //奇数
k=(n-1)/2;
int temp=0; //存放
int lip;//获取 1-111111111111111111
for(int i=1;i<=k;i++)
{
lip=1;
int ii=i;
while(ii>1)
{
lip*=10;
ii--;
}
temp+=lip*a;
sum+=temp;
}
if(n%2==0) //偶数
cout<<2*sum<<endl;
else //奇数
cout<<2*sum+temp+lip*10*a<<endl;;
return 0;
}
/////////////////////////////////////////////////////////
#include <iostream>
#include <string.h>
using namespace std;
//(2) 在主函数中输入10个等长的字符串,用另一函数对它们排序,然后在主函数输出这10个已排好的字符串,要求用指针编程。
#define N 5 //字符串个数(题目要求10个,这里以5个为例,可以任意更改)
//交换字符串内容
void change(char a[],char b[])
{
char t[81];
strcpy(t,a);
strcpy(a,b);
strcpy(b,t);
}
//对多个(ln个,即ln行)字符串从小到大排序
void str_sort(char str[][81],int ln)
{
int i,j;
for(i=0;i<ln-1;i++)
for(j=0;j<ln-1-i;j++)
if(strcmp(*(str+j),*(str+j+1))>0) change(*(str+j),*(str+j+1));
}
int main()
{
int i;
char s[N][81];
//printf("请输入%d个字符串:n",N);
cout<<"请输入N个字符串:"<<endl;
for(i=0;i<N;i++)
gets(*(s+i)); //输入字符串
str_sort(s,N); //调用函数str_sort()排序
cout<<"从小到大排序::"<<endl;
for(i=0;i<N;i++)
{
printf("(%d) ",i+1);//显示顺序号
puts(*(s+i)); //排序后输出
}
return 0;
}
////////////////////////////////////////////////////
#include <iostream>
using namespace std;
//(3))编写一个程序,含有名字相同的两个函数,第一个函数返回一个整数数组的平均值,另一个函数返回一个浮点数组的平均值。
int GetSun(const int a[],int size)
{
int sum=0;
for(int i=0;i<size;i++)
sum+=a[i];
return sum/size;
}
double GetSun(const double a[],double size)
{
double sum=0;
for(int i=0;i<size;i++)
sum+=a[i];
return sum/size;
}
int main()
{
double array[]={3,6,3};
cout<<GetSun(array,3)<<endl;
double array1[]={3.55,6.12,3.33};
cout<<GetSun(array1,3)<<endl;
return 0;
}
////////////////////////////////////////////
#include <iostream>
using namespace std;
//(4) 编一程序,记录从键盘输入的字符串,计算字符串的长度,并用指针实现对字符串的逆向输出。
int main()
{
char *p=new char[];
cin>>p;
cout<<"字符串长度是:"<<strlen(p)<<endl;
for(int i=strlen(p)-1;i>=0;i--)
cout<<*(p+i);
return 0;
}
/////////////////////////////////////////////////
#include <iostream>
using namespace std;
//(5) 利用“引用形参”实现两个变量的值互换。
void Change(int &a,int &b)
{
int c=a;
a=b;
b=c;
}
int main()
{
int p1=4;
int p2=5;
Change(p1,p2);
cout<<"p1="<<p1<<" p2="<<p2<<endl;
return 0;
}
///////////////////////////////////////////////
#include <iostream>
using namespace std;
/*1. 修改一个类,注意其中的成员访问权限,进行对比。
有以下程序:
#include <iostream.h>
class Time
{public:
int hour;
int minute;
int sec;
};
void main()
{ Time t1;
cin>>t1.hour;
cin>>t1.minute;
cin>>t1.sec;
cout<<t1.hour<<“;”<< t1.minute<<“;”<< t1.sec<<endl;
}
改写程序,要求:
1)将数据成员改为私有的;
2)将输入和输出的功能改为由成员函数实现;
3)在类体内定义成员函数。
然后编译和运行程序。
请分析什么成员应指定为公有的? 容许在类外进行修改的
什么成员应指定为私有的? 不允许进行修改的数据成员
什么函数最好放在类中定义? 为数据成员赋值
什么函数最好在类外定义? 功能函数
*/
class Time
{
public :
void SetTime()
{
cout<<"请输入小时 分 秒"<<endl;
cin>>hour>>minute>>sec;
}
bool GetTime()
{
if(sec==NULL)
return false;
else
{
cout<<hour<<"点"<<minute<<"分"<<sec<<"秒"<<endl;
return true;
}
}
private:
int hour;
int minute;
int sec;
};
int main()
{
Time t;
t.SetTime();
t.GetTime();
return 0;
}
///////////////////////////////////
#include <iostream>
using namespace std;
/*
/ 求3个长方体的体积,请编一个基于对象的程序。数据成员包括length(长)、width(宽)、height(高),要求用成员函数实现以下功能:
1)由键盘分别输入3个长方体的长、宽、高;
2)计算长方体的体积;
3)输出3个长方体的体积。
*/
class Rect
{
public :
void SetNum()
{
cout<<"请输入长 宽 高"<<endl;
cin>>length>>width>>height;
}
int GetArea()
{
return length*width*height;
}
void Three()
{
cout<<"这个长方体的3个面的面积分别为"<<endl;
cout<<length*width<<" "<<length*height<<" "<<width*height<<endl;
}
private:
int length;
int width;
int height;
};
int main()
{
Rect r;
r.SetNum();
cout<<"体积是:"<<r.GetArea()<<endl;
r.Three();
return 0;
}
累啊 一会或者明天再回答你那个(二)里的问题 呵呵