请教一道简单的C++编程题,大一学的!急

2024-11-02 14:25:58
推荐回答(4个)
回答(1):

你写个while循环,在循环里面输入选择的功能号,如2,然后用switch语句,根据功能号,调用用相应的函数。

你自己研究研究,我只是说了个思路。

各个函数应尽写好,并通过测试,自己整合到一个程序里。

1.字符统计
#include
#include
using namespace std;
/*
字符分类统计:通过键盘输入一个长度为10的字符串,
分别统计出其中大写字母、小写字母、数字、空格和其它字符的个数并输出;
*/

void tjzf()
{
int small_alpha=0,big_alpha=0,digit=0,space=0,other=0;
char c;
cout<<"请输入:";
while ((c=getchar())!='\n')
{
if(c>='a'&&c<='z') small_alpha++;
else if(c>='A'&&c<='Z') big_alpha++;
else if(c>='0'&&c<='9') digit++;
else if(c==' ') space++;
else other++;
}
cout<<"big_alpha="<cout<<"small_alpha="<cout<<"space="<cout<<"digit="<cout<<"other="<}

void main()
{
tjzf();
}

2.是否素数
#include
using namespace std;

bool isPrime(int n)
{
int j;
for(j=2;j{ if(n%j==0) break; }
if(j==n)
return true;
else
return false;
}

void main()
{
int n;
bool flag=false;

cout<<"请输入数n:";
cin>>n;

flag=isPrime(n);

if(flag)
cout<else
cout<
}

3.斐波那契数列
#include
#include
using namespace std;

void fibo(int n)
{
int i,j;
long *a=new long[n];

a[0]=a[1]=1;
for(i=2;ia[i]=a[i-1]+a[i-2];
}

cout<<"前n项斐波那契数列为:"<for(j=0;jcout<}
cout<}

void main()
{
int n;
cout << "求前n项斐波那契数列, 输入n:" ;
cin >> n;
fibo(n);

}

4.打印菱形
#include
using namespace std;

void printLX(int n)
{
int i,j,k;
for(k=1;k<=(n+1)/2;k++)
{
for(i=0;i<41-k;i++)
cout<<" ";
for(j=1;j<=k;j++)
cout<<"*";
for(j=j-2;j>0;j--)
cout<<"*";
cout<}
for(k=k-2;k>0;k--)
{
for(i=0;i<41-k;i++)
cout<<" ";
for(j=1;j<=k;j++)
cout<<"*";
for(j=j-2;j>0;j--)
cout<<"*";
cout<}
}

void main()
{
int n;
cout<<"请输入想要的菱形长度(行):";
cin>>n;
printLX(n);

}

5.退出
exit(0);

回答(2):

参考:
#include
#include
using namespace std;
void judge_char()
{
char c;
int big=0,small=0,number=0,space=0,others=0,i=0;
while((c=getchar())&&i<10)
{
if(c>='A'&&c<='Z') big++;
else if(c>='a'&&c<='z') small++;
else if(c>='0'&&c<='9') number++;
else if(c==' ') space++;
else others++;
i++;
}
cout<<"大写字母"< cout<<"小写字母"< cout<<"数字字符"< cout<<"空格"< cout<<"其它字符"<}
void judge_number(int n)
{
int i;
int flag=1;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0) flag=0;
break;
}
if(flag==1)
cout< else
cout<}
void Fibonacci(int n)
{
int f1, f2, f3;
int i ;
f1 = f2 =1;
cout<<' '< for (i= 3;i<=n;i++ )
{
f3=f1+f2 ;
cout<<' '< if(i%5==0) cout< f1= f2;
f2= f3 ;
}
}
void output_star(int n)
{
int i,x,t,m;
for(i=0;i<10;i++)
{
t = 1+2*i;
m = (10-i);
for(x=0;xcout<<' ';
for(x=0;xcout<<'*';
for(x=0;xcout<<' ';
cout<}

for(;i>=0;i--)
{
t = 1+2*i;
m = (10-i);
for(x=0;xcout<<' ';
for(x=0;xcout<<'*';
for(x=0;xcout<<' ';
cout<}
}
int main()
{
int x,y,n;
cout<<"输入10个字符:";
judge_char();
cout< cout<<"输入要判断的数:";
cin>>x;
getchar();
judge_number(x);
cout< cout<<"输入整数 Y:";
cin>>y;
getchar();
Fibonacci(y);
cout< cout<<"输入整数n:";
cin>>n;
output_star(n);
system("pause");
}

回答(3):

2. 素数判定
bool isPrime(int factor)
{
bool retValue = true;
for(int i=1;i<=factor;i++)
{
if(((factor%i)==0) && i!=1 && i!=factor)
retValue = false;
}
return retValue;
}

4. 菱形
int i(0);
for(;i<10;i++)
{
int s = 1+2*i;
int sp = (10-i);
for(int x(0);x printf(" ");
for(int x(0);x printf("*");
for(int x(0);x printf(" ");
printf("\n");
}

for(;i>=0;i--)
{
int s = 1+2*i;
int sp = (10-i);
for(int x(0);x printf(" ");
for(int x(0);x printf("*");
for(int x(0);x printf(" ");
printf("\n");
}

3.斐波那契数列

void Fibonacci(int n)
{
if(n<1) return;

int a1(0);
int a2(1);
int a1_2[]={0,1};
int f(1);
for(int i(0);i if(i<2){
f=a1_2[i];
}else{
f = a1 + a2;
a1 = a2;
a2 = f;
}
printf("%d, ",f);
}
}

int main()
{
cout << "input N:" << endl;
int n;
cin >> n;
Fibonacci(n);

return 0;
}

回答(4):

额也正学着,哈

2345会做,1得考虑下

待会回来回答·····