- 输入一个字符串,内有数字及非数字,如“a123b 232”。将其连续的数字作为一个整数存入一个数组num中,例如123放在num[0]中。统计共有多少个整数,并输出这些整数。
- 输入10个学生5门课的成绩,分别用函数求:
- 每个学生平均分;
- 每门课的平均分;
求两个C++问题的流程图
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-孙老师 2021-05-14 17:47关注
流程大概是这样的。
问题1:
定义一个数组,用于存放字符串中的整数,数组中的所有元素初值均为0。
输入一个字符串,利用for循环遍历字符串中的所有字符。
每次循环:
1)如果,该字符介于0-9之间(实际比较的是ASCII码):则将这个字符转换为数字(int(str1[i] - '0')),加上前一位数字乘以10,将得到这个整数存入一个数组中,标识符设为1,继续下一轮循环。
2)否则,即该字符不是数字,意味着上一个整数判断完成,开始寻找下一个整数,将标识符设为0,开始下一轮循环。
最后,利用循环将数组中的整数输出。
问题2:
利用循环输入10个同学,每个同学5门课程的成绩。
定义一个函数用于求同学的平均成绩:对所有同学进行循环,每次循环,将一个同学的5门课程的成绩求和,然后除以5,就是这个同学的平均分,并将其输出。
定义一个函数用于求课程的平均成绩:对所有课程进行循环,每次循环,将一个课程的10位同学的成绩求和,然后除以10,就是这个课程的平均分,并将其输出。
最后,在主程序中调用这两个函数。
问题1,代码大致是这样的。
int main(){ string str1; int count=0,flag=0; int array1[100]={0}; cout<<"输入一个字符串:\n"; getline(cin,str1); //利用循环判断字符串中的每一个字符 for (int i = 0; i <str1.length(); i++) { if(str1[i] >= '0' && str1[i] <= '9') { array1[count] = array1[count] * 10+ int(str1[i] - '0'); flag = 1; } else if (flag==1) { ++count; flag = 0; } } cout << "整数个数为:" << count+1 << endl; cout << "整数分别为:"; for (int i = 0; i <= count; i++) cout << array1[i] << "\t"; }
问题2,代码大致是这样的。
int main(){ int a[10][5]; int i,j; for(i=0;i<10;i++){ cout<<"第"<<i+1<<"个同学的成绩:"; for(j=0;j<5;j++){ cin>>a[i][j]; } } stu_avg(a); course_avg(a); } int stu_avg(int a[10][5]){ int i,j; for(i=0;i<10;i++){ double c; int b=0; for(j=0;j<5;j++){ b+=a[i][j]; c=b/5.00; } cout<<"第"<<i+1<<"个同学的成绩平均分:"<<c<<endl; } } int course_avg(int a[10][5]){ int i,j; for(j=0;j<5;j++){ double c; int b=0; for(i=0;i<10;i++){ b+=a[i][j]; c=b/10.00; } cout<<"第"<<j+1<<"门课的平均分分别为:"<<c<<endl; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
- ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
- ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
- ¥30 3天&7天&&15天&销量如何统计同一行
- ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
- ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
- ¥15 vs2019中数据导出问题
- ¥20 云服务Linux系统TCP-MSS值修改?
- ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
- ¥20 怎么在stm32门禁成品上增加查询记录功能