week2:个人博客作业
1.这周写程序感想:
昨天差不多,也是这个时候看些的程序,写了4个小时程序,感触颇多。昨日,原打算,就完成程序就吧这个随笔写完结果,由于各种原因,没写一直拖到现在。就做昨天写的程序,本身题目很简单,主要要求:
(1) 是否有乘除法
(2) 是否有括号
(3) 数值范围
(4) 加减有无负数
(5) 除法有无余数
(6) 是否支持分数(真分数、假分数…)
(7) 是否支持小数(精确到多少位?)
(1).每一个要求单独拿出来都很简单,可是,混合起来思考的角度就不同,写程序的时候由于很着急,想早点完事,结果越写越多根本停不下来,一点都不困了(我终于,有点明白为什么IT行业的人可以熬夜,熬得很晚了,一般我看其他科目的内容到这个时间,基本上是看不里去),由于,开始写程序的时候太着急,以前学程序学到的东西都忘记了,应该看到题目后看看,要求有哪些,自己可以完成的是哪些要求,要完成这些程序需要的大框架是什么,先在纸上写成来,然后在把这个大框架下的每一个小的模块是什么,需要写的是什么(哪些是需要写成子函数的),然后再在电脑上写程序。而不是,我看到题目要求后先看哪个要求好实现,完成一个要求后再完成下一个要求,没有连贯性,最后的结果就是这个程序只使用了一个函数,好多地方都显得很臃肿的感觉,在写程序的中途想起来,使用子函数来写程序,可是,这自己的程序框架基本上已经完成了,在该就需要破坏自己的框架,再构建一个新的。
(2).由于第二个程序是第一个程序的扩展,所以一个最初的变量名是一样,在写第二个程序的时候,由于第一个程序中的变量名定义的不合理,导致自己第二个程序中的变量名重新设计了一遍。虽然还是设计的不方便,但是自己使用起来还是好用的。自己需要完善的是:自己设计变量名设计的方法需要再学习,自己使用变量名不能就使用a,b,c之类(这些使用起来方便)。
(3)这是我写程序遗留下来的一些问题(虽然对这门课程来说不是重点)
我设计为3项多项式
四则运算,
还有括号 ,
加减有无负数
除法有无余数
我想解决的问题是
a.产生一个n项多项式
一个子函数内通过for循环来说实现,而不是现在我通过枚举法,把所有的可能都举出来
b.就程序(下面的是一种思路没有做)(0表示没有符号 5,6表示左右括号,1,2,3,4,分别表示四则运算)
我把运算符放在一个数组a[n+1]里(规定括号的个数只有一个)
通过随机数产生左括号在数组的位置
b1=rand()%(n-1)
再通过随机数产生右括号
b2=rand()%(n-b1)+b1+1
if(rand()%(n-b1)==0)
b2=b1+2;
剩下的数组
for(i=0;i<n+1;i++)
{
if(a[i]==0)
随数产生每一位的四则运算
}
再通过类似的方法产生一个b[n+1]存入数字的数组,然后通过运算符的优先级算出最后结果最后:
减法无负数
除法有无余数不知道该怎么优化填写。
#include "stdafx.h"
#include"stdlib.h"
#include"stdio.h"
#include"time.h"
#define N 4 //控制产生随机数的个数
int main(int argc, char* argv[]) //还有3个项的多项式,控制的参数有1,乘除;2,括号;3,加减后的结果是否是负数;4,除法是否有余数
{
int a[]; //表示随机产生的3数
int f[]; //设计参数 f[0]是否有乘除;f[1]是否有括号,f[2]加减结有无负数,f[3]除法有无余数
int d[]={,}; //d[]分别表示左括号,右括号的位置
int e[]; //e[0]表示第一个位置的运算符号;e[1]表示第二个位置的数运算符号
int z[N]; //存入每一个式子结果
int f1[N]; //记录每一个式子的对错
int n;
int x; //输入结果
srand((unsigned)time(NULL));
n=;
printf("是否有乘除?\n0,不是\t1,是\n请输入选项\n");
scanf("%d",&f[]);
printf("是否有括号?\n0,不是\t1,是\n请输入选项\n");
scanf("%d",&f[]);
printf("加减结有无负数?\n0,不是\t1,是\n请输入选项\n");
scanf("%d",&f[]);
printf("除法有无余数?\n0,不是\t1,是\n请输入选项\n");
scanf("%d",&f[]);
while(n<N)
{
if(f[]==)
{
e[]=rand()%; // 0表示加 1表示减 2表示乘 3表示除
e[]=rand()%; // 0表示加 1表示减 2表示乘 3表示除
}
else
{
e[]=rand()%; // 0表示加 1表示减
e[]=rand()%; // 0表示加 1表示减
}
if(f[]==)
{
d[]=rand()%;
if(d[]!=)
{
d[]=d[]+;
}
}
a[]=rand()%;
a[]=rand()%;
a[]=rand()%;
if(d[]==)
{
switch(e[])
{
case :z[n]=a[]+a[];break;
case :
{
if(f[]==)
a[]=rand()%a[];
z[n]=a[]-a[];break;
}
case :z[n]=a[]*a[];break;
case :
{/**/
if(f[]==)
{
while(a[]%a[]!=)
{
a[]=rand()%;
a[]=a[]*a[];
if(a[]<)
break;
else
a[]=rand()%;
}
} z[n]=a[]/a[];break;
}
}
switch(e[])
{
case :z[n]=z[n]+a[];break;
case :
{
if(f[]==)
a[]=rand()%z[n];
z[n]=z[n]-a[];break;
}
case :z[n]=z[n]*a[];break;
case :
{/**/
if(f[]==)
{
while(z[n]%a[]!=)
a[]=rand()%z[n];
} z[n]=z[n]/a[];break;
}
}
}
else if(d[]==)
{
switch(e[])
{
case :z[n]=a[]+a[];break;
case :
{
if(f[]==)
a[]=rand()%a[];
z[n]=a[]-a[];break;
}
case :z[n]=a[]*a[];break;
case :
{/**/
if(f[]==)
{
while(a[]%a[]!=)
{
a[]=rand()%;
a[]=a[]*a[];
if(a[]<)
break;
else
a[]=rand()%;
} }
z[n]=a[]/a[];break;
}
}
switch(e[])
{
case :z[n]=a[]+z[n];break;
case :
{
if(f[]==)
{
while(a[]-z[n]<)
{
a[]=rand()%;
a[]=z[n]+a[];
if(a[]<=)
break;
else
a[]=rand()%;
}
}
z[n]=a[]-z[n];break;
}
case :z[n]=a[]*z[n];break;
case :
{
/**/if(f[]==)
{
while(a[]%z[n]!=)
{
a[]=rand()%;
a[]=z[n]*a[];
if(a[]<=)
break;
else
a[]=rand()%;
}
}
z[n]=a[]/z[n];break;
}
}
}
else
{
if(e[]>=)
{
switch(e[])
{
case :z[n]=a[]*a[];break;
case :
{
/* */if(f[]==)
{
while(a[]%a[]!=)
{
a[]=rand()%;
a[]=a[]*a[];
if(a[]<=)
break;
else
a[]=rand()%;
}
}
z[n]=a[]/a[];break;
}
}
switch(e[])
{
case :z[n]=z[n]+a[];break;
case :
{
if(f[]==)
{
if(z[n]-a[]<)
a[]=rand()%z[n];
}
z[n]=z[n]-a[];break;
}
case :z[n]=z[n]*a[];break;
case :
{/**/
if(f[]==)
{
while(z[n]%a[]!=)
a[]=rand()%z[n];
} z[n]=z[n]/a[];break;
}
}
}
else if(e[]<=)
{
switch(e[])
{
case :z[n]=a[]+a[];break;
case :
{
if(f[]==)
{
if(a[]-a[]<=)
a[]=rand()%a[];
}
z[n]=a[]-a[];break;
}
}
switch(e[])
{
case :z[n]=z[n]+a[];break;
case :
{
if(f[]==)
{
if(z[n]-a[]<=)
a[]=rand()%z[n];
}
z[n]=z[n]-a[];break;
}
}
}
else
{
switch(e[])
{
case :z[n]=a[]*a[];break;
case :
{/**/
if(f[]==)
{
while(a[]%a[]!=)
{
a[]=rand()%;
a[]=a[]*a[];
if(a[]<=)
break;
a[]=rand()%;
}
}
z[n]=a[]/a[];break;
}
}
switch(e[])
{
case :z[n]=a[]+z[n];break;
case :
{
if(f[]==)
{
while(a[]-z[n]<)
{
a[]=rand()%;
a[]=z[n]+a[];
if(a[]<=)
break;
else
a[]=rand()%;
}
}
z[n]=a[]-z[n];break;
}
}
} }
printf("%d,",n+); //显示式子
if(d[]==)
printf("(");
printf("%d",a[]);
switch(e[])
{
case :printf("+");break;
case :printf("-");break;
case :printf("*");break;
case :printf("/");break;
}
if(d[]==)
printf("(");
printf("%d",a[]);
if(d[]==)
printf(")");
switch(e[])
{
case :printf("+");break;
case :printf("-");break;
case :printf("*");break;
case :printf("/");break;
}
printf("%d",a[]);
if(d[]==)
printf(")");
printf("=\n");
n++;
}
printf("请依次写下答案\n");
for(n=;n<N;n++)
{
printf("%d.",n+);
scanf("%d",&x);
if(z[n]==x)
f1[n]=;
else
f1[n]=; }
printf("对错如下\n");
for(n=;n<N ;n++)
{
printf("%d,",n);
if(f1[n]==)
printf("T");
else
printf("F");
printf("正确答案:%d\n",z[n]);
}
}
结果为了方便,只输入了4组
week2:个人博客作业的更多相关文章
- 【SE】Week2 : 个人博客作业
1. 是否需要有代码规范 对于是否需要有代码规范,请考虑下列论点并反驳/支持: Statement1 : 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 这样的 ...
- 个人博客作业Week1
个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户 ...
- Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)
#课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...
- Java课程设计——博客作业教学数据分析系统(201521123091 李嘉廉)
#课程设计--博客作业教学数据分析系统(201521123084 李嘉廉) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 數據分析 Kmeans聚類算法實現 多元綫性 ...
- java课程设计——博客作业教学数据分析系统(201521123083 戴志斌)
目录 一.团队课程设计博客链接 二.个人负责模块或任务说明 三.自己的代码提交记录截图 四.自己负责模块或任务详细说明 五.课程设计感想 (题外话,终于可以用markdown建目录) 一.团队课程设计 ...
- Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)
Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...
- Java语言课程设计——博客作业教学数据分析系统(201521123107 张翔)
#Java语言课程设计--博客作业教学数据分析系统(个人博客) 1.团队课程设计博客链接 [博客作业教学数据分析系统(From:网络五条狗)](http://www.cnblogs.com/fanta ...
- 团队作业1——团队展示&博客作业查重系统
团队展示: 1.队名:六个核桃 2.队员学号: 王婧(201421123065).柯怡芳(201421123067组长).陈艺菡(201421123068). 钱惠(201421123071).尼玛( ...
- C语言第七次博客作业--一二维数组
一.PTA实验作业 题目1:找鞍点 1. 本题PTA提交列表 2. 设计思路 定义n,i,j,ii,jj,a[7][7],flag,max 输入n for i=0 to i=n for j=0 to ...
- 2018上C语言程序设计(高级)博客作业样例
要求一(20分) 完成PTA中题目集名为<usth-C语言高级-第1次作业>中的所有题目. 要求二 PTA作业的总结(20分+30分) 将PTA第1次作业作业中以下2道题的解题思路按照规定 ...
随机推荐
- Hbase的安装和基本使用
Hbase介绍 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行于H ...
- MS522低功耗寻卡
方案:单片机处于低功耗模式,MS522处于软掉电模式.单片机用RTC定时(比如每隔1s)唤醒,单片机唤醒后唤醒MS522寻卡.寻到卡则做进一步处理,否则MS522继续进入软掉电模式,单片机进入低功耗模 ...
- 生死系列--SongXingZhi
SongXingZhi,我上中专时的同学,任劳动委员,湖北随州人.其实在上学以及毕业后,我们俩没什么交往,也没说过几句话. 印象比较深的一次是在上什么课时,老师拖堂了 ,他直接从课桌上翻过来,从后门出 ...
- MYSQL注入天书之盲注讲解
Background-2 盲注的讲解 何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面.此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注.从ba ...
- Deep Learning 资料总结
http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/ : 理解神经网络 ELU:
- 静态成员变量和静态成员函数(static)
数据成员可以分静态变量.非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配 ...
- <link rel="stylesheet" type="text/css" href="css/index.css">详解
整条语句的含义是: 调用一个外部的CSS样式文件.他是通过<link/>这个标签来调用的. 然后, href="css/index.css" 表示外部样式文件的路径, ...
- 树莓派 Zero WH 初使用体验
12号买了一个树莓派 Zero WH,这个是什么型号呢?其实和树莓派Zero是同一系列的,加上W则表示多了无线Wifi和蓝牙模块,加上H则表示在板子上已经焊接好了2x20的排针. 这个Zero真的很迷 ...
- Web开发框架趋势
Node.js增长很快,已经冒尖了 ASP.NET MVC 发展平稳(平稳很重要) Spring MVC沾着Spring的光,渐渐超越了Struts 2 Struts作为一个整体(Struts 1 和 ...
- 动态权限<二>之淘宝、京东、网易新闻 权限申请交互设计对比分析
移动智能设备的快速普及,给生活带来巨大的精彩,但是智能设备上用户的信息数据很多,隐私数据也非常多,各种各样的app可能通过各种方式在悄悄的收集用户数据,而用户的隐私就变得耐人寻味了.比如之前的可以无限 ...