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

帮我写一下下面这道题的程序吧,急需!!!!!!我不是很会,这个关系到期末的成绩,谁会就帮帮我吧。下面是一道题,连续的.使用函数分别实现:字符分类统计、判断素数、求斐波那契... 帮我写一下下面这道题的程序吧,急需!!!!!!我不是很会,这个关系到期末的成绩,谁会就帮帮我吧。下面是一道题,连续的.
使用函数分别实现:字符分类统计、判断素数、求斐波那契数列和输出菱形图形4个算法。
1、字符分类统计:通过键盘输入一个长度为10的字符串,分别统计出其中大写字母、小写字母、数字、空格和其它字符的个数并输出;
2、判断素数:通过键盘输入一个整数,输入其是否为素数;
3、求斐波那契数列:通过键盘输入一个正整数n,输出前n项斐波那契数列;
4、使用‘*’符号输出菱形图形;
5.退出。
还有要使用1 2 3 4 5中的一个该怎么写程序!!!!!!!
展开
 我来答
希茜Cqa68
2009-05-24 · TA获得超过1238个赞
知道小有建树答主
回答量:860
采纳率:0%
帮助的人:1062万
展开全部
你写个while循环,在循环里面输入选择的功能号,如2,然后用switch语句,根据功能号,调用用相应的函数。

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

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

1.字符统计
#include <stdio.h>
#include <iostream>
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="<<big_alpha<<endl;
cout<<"small_alpha="<<small_alpha<<endl;
cout<<"space="<<space<<endl;
cout<<"digit="<<digit<<endl;
cout<<"other="<<other<<endl;
}

void main()
{
tjzf();
}

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

bool isPrime(int n)
{
int j;
for(j=2;j<n;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<<n<<" 是素数"<<endl;
else
cout<<n<<" 不是素数"<<endl;

}

3.斐波那契数列
#include <math.h>
#include<iostream>
using namespace std;

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

a[0]=a[1]=1;
for(i=2;i<n;i++){
a[i]=a[i-1]+a[i-2];
}

cout<<"前n项斐波那契数列为:"<<endl;
for(j=0;j<n;j++){
cout<<a[j]<<" ";
}
cout<<endl;
}

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

}

4.打印菱形
#include <iostream>
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<<endl;
}
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<<endl;
}
}

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

}

5.退出
exit(0);
百度网友036f89e
2009-05-23 · TA获得超过137个赞
知道答主
回答量:102
采纳率:0%
帮助的人:94.9万
展开全部
参考:
#include<iostream>
#include<math.h>
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<<"大写字母"<<big<<"个"<<endl;
cout<<"小写字母"<<small<<"个"<<endl;
cout<<"数字字符"<<number<<"个"<<endl;
cout<<"空格"<<space<<"个"<<endl;
cout<<"其它字符"<<others<<"个"<<endl;
}
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<<n<<" 是素数"<<endl;
else
cout<<n<<" 不是素数"<<endl;
}
void Fibonacci(int n)
{
int f1, f2, f3;
int i ;
f1 = f2 =1;
cout<<' '<<f1<<' '<<f2;
for (i= 3;i<=n;i++ )
{
f3=f1+f2 ;
cout<<' '<<f3;
if(i%5==0) cout<<endl;
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;x<m;x++)
cout<<' ';
for(x=0;x<t;x++)
cout<<'*';
for(x=0;x<m;x++)
cout<<' ';
cout<<endl;
}

for(;i>=0;i--)
{
t = 1+2*i;
m = (10-i);
for(x=0;x<m;x++)
cout<<' ';
for(x=0;x<t;x++)
cout<<'*';
for(x=0;x<m;x++)
cout<<' ';
cout<<endl;
}
}
int main()
{
int x,y,n;
cout<<"输入10个字符:";
judge_char();
cout<<endl;
cout<<"输入要判断的数:";
cin>>x;
getchar();
judge_number(x);
cout<<endl;
cout<<"输入整数 Y:";
cin>>y;
getchar();
Fibonacci(y);
cout<<endl;
cout<<"输入整数n:";
cin>>n;
output_star(n);
system("pause");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
akyeren
2009-05-23 · TA获得超过187个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:0
展开全部
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<sp;x++)
printf(" ");
for(int x(0);x<s;x++)
printf("*");
for(int x(0);x<sp;x++)
printf(" ");
printf("\n");
}

for(;i>=0;i--)
{
int s = 1+2*i;
int sp = (10-i);
for(int x(0);x<sp;x++)
printf(" ");
for(int x(0);x<s;x++)
printf("*");
for(int x(0);x<sp;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<n;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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7c7f04f
2009-05-24 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:0
展开全部
额也正学着,哈

2345会做,1得考虑下

待会回来回答·····
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式