常见重点题目

常见重点题目

  1. 请编写一个函数long sum(int n),用递归函数完成运算:
    sum(n)=11+22+…+n*n,递归表达式为sum(n)=sum(n-1)+n2。
    请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。

#include
using namespace std;
long sum(int n)
{
int sum=0;
while(n>0)
{sum+=n*n;
n–;}
return sum;
}
int main()
{ int n;
cout<<“输入n:”;
cin>>n;
cout<<“结果为:”<<sum(n)<<endl;
return 0;
}
2. 请编写函数fun(),该函数的功能是判断字符串是否为回文,若是则函数返回1,主函数中输出YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。

#include
using namespace std;
#define N 80
int fun(char*str)
{
}
int main()
{
char s[N];
cout<<“Enter a string:”<<endl;
gets(s);
cout<<"\n\n";
puts(s);
if (fun(s))
cout<<“YES\n”;
else
cout<<“NO\n”;
return 0;
}

3.用简单选择法对十个数排序

#include
usingnamespacestd;
#defineSIZE10
voidmain()
{inta[SIZE],i,j,k,x;
cout<<“Input”<<SIZE<<“numbers:\n”;
for(i=0;i<SIZE;i++)cin>>a[i];
for(i=0;i<SIZE-1;i++)//找第i个最小数
{k=i;//第i个最小数的下标是k
for(j=i+1;j<SIZE;j++)
if(a[j]<a[k])k=j;
if(i!=k)//第i个最小数的下标不是i
{x=a[i];a[i]=a[k];a[k]=x;}
}
cout<<“Thesortednumbers:\n”;
for(i=0;i<SIZE;i++)
cout<<a[i]<<"";
}

4.用冒泡法对十个数进行排序

#include
usingnamespacestd;
//#defineN10
constintN=10;
voidmain()
{inta[N+1],i,j,t;
cout<<“Input”<<N<<“numbers:\n”;
for(i=1;i<N+1;i++)cin>>a[i];
for(j=1;j<N;j++)
for(i=1;i<N+1-j;i++)
if(a[i]>a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
cout<<“Thesortednumbers:\n”;
for(i=1;i<N+1;i++)cout<<a[i]<<"";
}

for(j=1;j<6;j++)
for(i=1;i<6+1-j;i++)
if(a[i]>a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}

猜你喜欢

转载自blog.csdn.net/qq_43563862/article/details/84938037
今日推荐