跪求C++作业解答下!!谢谢!

使用函数分别实现:字符分类统计、判断素数、求斐波那契数列和输出菱形图形4个算法。

1、字符分类统计:从键盘输入一个长度为10的字符串,分别统计出其中大写字母、小写字母、数字、空格和其它字符的个数并分别输出。

2、判断素数:从键盘输入一个整数,判断是否为素数并输出结果。

3、求斐波那契数列:从键盘输入一个正整数n,输出前n项斐波那契数列。

4、使用‘*’符号输出菱形图形。

5、退出。

求解答!!OTZ

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <conio.h>
#include <math.h>
enum{n = 5};//菱形每条边星号个数
int command(void)
{
system("cls");
int cmd;
while(true)
{
printf("请根据提示选择项目:\n");
printf("1.字符分类统计\n");
printf("2.判断素数\n");
printf("3.斐波那契数列\n");
printf("4.输出菱形\n");
printf("5.退出\n");
printf("输入编号:\n");
scanf("%d", &cmd);
if(cmd > 0 && cmd < 6)
return cmd;
system("cls");
printf("输入错误,");
}
}
void stat(void)
{
getchar();
char c;
int count[5][1];
memset(count, 0, sizeof(count));
printf("输入字符串:\n");
while((c = getchar()) != '\n' && c != '\r')
{
if(isupper(c))
count[0][0]++;
else if(islower(c))
count[1][0]++;
else if(isdigit(c))
count[2][0]++;
else if(c == ' ')
count[3][0]++;
else
count[4][0]++;
}
printf("大写字母%d个\n", count[0][0]);
printf("小写字母%d个\n", count[1][0]);
printf("数字%d个\n", count[2][0]);
printf("空格%d个\n", count[3][0]);
printf("其他字符%d个\n", count[4][0]);
getch();
}
void prim(void)
{
int n;
printf("输入需要判断的数:");
scanf("%d", &n);
if(n < 2)
{
printf("既不是素数也不是合数\n");
getch();
return;
}
if(n == 2 || n ==3)
{
printf("是素数\n");
getch();
return;
}
for(int i = 2; i < sqrt(n + 0.5); i++)
if(n % i == 0)
{
printf("不是素数\n");
getch();
return;
}
printf("是素数\n");
getch();
return;
}
void fibo(void)
{
printf("输入数字:\n");
int n;
scanf("%d", &n);
if(n == 1 || n == 2)
{
printf("值是1\n");
getch();
return;
}
int *arr;
arr = (int *)malloc((n + 1) * sizeof(int));
arr[1] = arr[2] =1;
for(int i = 3; i <= n; i++)
arr[i] = arr[i - 1] + arr[i - 2];
printf("值是%d\n", arr[n]);
getch();
}
void rhom(void)
{
printf("输入每条边的星号个数(大于0):\n");
int n;
scanf("%d", &n);
for(int i = 0; i < n; i++)
{
for(int j = 0; j < 2 * n - 1; j++)
{
if(i + j == n - 1 || j - i == n - 1)
putchar('*');
else
putchar(' ');
}
putchar('\n');
}
for(int i = n; i < 2 * n - 1; i++)
{
for(int j = 0; j < 2 * n - 1; j++)
{
if(i + j == 2 * n + 2 || i - j == n - 1)
putchar('*');
else
putchar(' ');
}
putchar('\n');
}
getch();
}
int main(void)
{
int cmd;
while(true)
{
cmd = command();
system("cls");
if(cmd == 1)
stat();
else if(cmd == 2)
prim();
else if(cmd == 3)
fibo();
else if(cmd == 4)
rhom();
else
return 0;
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

c++作业!!!
第一题答案:include<iostream> include<string> using namespace std;int main(){ string str;cin>>str;cout<<str[2]<<str[1]<<str[0];return 0;} 第二题答案为:include <iostream.h> void main(){ int x,y;cout<<"请输入x轴坐标";cin>>x;cout<<"请输入y轴坐标";cin>>y;if(...

谁可以帮我做一下这个C++C语言的作业
①输入语句:scanf("%a%b%c",&a,&b,&c); 这个是按你前面的写法写的,不懂对错!

c++ 作业求助 拜托能快点回答我
1,没错,"a" "adb" "0" 都是字符串,也就是说,都可以用做 string 的类型。string 是C++ 语言中的一种类型,成为字符串类型,也是一个类类型。不说那么多,看起来,你才刚刚学习。判断是否为字符串,在C++ 里面,就看字符是否被(英文)双引号括起来。单引号的成为字符。比如:"a" 是一个...

大一C++课后作业,知道第一个是0,后面的没看明白,希望能解释得详细一点...
执行第一个输出语句之后 x的值为5 k的值为2 5%2=1 2%5=2 1加2 的答案当然是3 后面的以此类推 只是每次执行完一条输出语句后 x 和k的值都会进行改变

C++ 年终大作业。。。 继续解决谢谢!!!
1.该系统采用面向对象的设计方法 2.声明一个学生信息类studentmessage 3.学生信息应包含学号,姓名,性别,年龄,民族,家庭住址,联系方法,专业,成绩 4.对学生信息的操作包含录入学生的entermessage.输出学生信息showmsage输出不及格课程门数unpassedcount等 5.该系统要求能够输入学生信息enter.显示所有学生...

C++作业求解!!!
4. 假定一个参数说明为 const int a ,则在函数体中不能够改变 a 的值。6. 假定一个参数说明为 int& x ,则进行函数调用时,它是对应 x 的别名。7. 一个函数带有函数声明时,则参数的默认值应该在 函数声明中给出。8. 在进行函数调用时,将把 _值__ 传送给非引用参数,把实参的...

一个C++大作业的问题。
1.如果是操作数则直接跳过向后取.2.如果是操作符,则操作符和前面的操作数进行运算,得到的结果放在首部.3.持续1,2步直到表达式处理完成。比如: age > 25 && exp > 5 --> age 25 > exp 5 > && 处理过程如下:age 25 为操作数直接跳过 > 为操作符号,所以执行 age > 25的运算,假设结果为...

一个c++的作业题,没看懂,求解
WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java,他们都可以进行WEB后端的开发,我们既然选择了比较火爆的Java,那么我们学习的后端一定是基于Java语言实现的。 包括:Servlet、Filter、Jsp、EL、JSTL、MVC架构模式、数据库连接池(阿里巴巴的Druid连接池)、代理模式(动态代理)。另外后端学习了之后,还要学习...

C++高级语言程序设计离线作业,麻烦大佬帮忙做下?
A作业 1. 分号 2. main 3. 110 4. 2 5. n+1 6. p= ++f+1;7. 9 8. p=a;9. *(p+1);10. 全局量 B作业 1. 各个元素的值分别是3,6,9,12 最小下标是0, 最大下标是3 2. 各个元素的值分别是9,6,3,0,0,0 最小下标是0,最大下标是5 3. 50 ,最小下标是0,最大...

C++作业,高手指点一下~~
{ private:int buyPrice;int quotient;int netValue;int increaseRate;int benifits;int avrPrice;public:void buyPriceCheck(Fund);void quotientCal(Fund);void netValueCal(Fund);void increaseRateCal(Fund);void benifitsCal(Fund);void acrPriceCal(Fund);};void Fund::buyPriceCheck(Fund myFund...

相似回答