2019年春季学期第四周作业Compile Summarize
| 这个作业属于哪个课程 | C语言程序设计一 |
|---|---|
| 这个作业要求在哪里 | 2019春季学期第四周作业 |
| 我的课程目标 | 重新学习有关数组的问题 |
| 这个作业在哪个具体方面帮助我实现目标 | 对于置换有了新的见解 |
| 参考文献 | 中国大学MOOC网]0369;C语言程序于设计 |
题目1
7-2 选择法排序 (20 分)
本题要求将给定的n个整数从大到小排序后输出。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
输入样例:
4
5 1 7 6
输出样例:
7 6 5 1
一·我的代码
#include<stdio.h>
int main (void)
{
int a[10], n,i,j,k,temp;
scanf("%d",&n);
for (i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for (i=0;i<n-1;i++)
{
k=i;
for (j=i+1;j<n;j++)
{
if (a[j]>a[k])
{
k=j;
}
}
if (k!=i)
{
temp = a[k];
a[k] = a[i];
a[i] = temp;
}
}
printf("%d",a[0]);
for (i = 1; i < n; i++)
{
printf(" %d",a[i]);
}
return 0;
}
二·编程思路流程图

三·遇到的错误与解决方法
错误运行结果截图

我是怎么发现这个错误的?
浙江大学的翁恺老师在他的视频里面有一个关于用数组排序问题的例子,巧的是,他用的也是 k j,他的题目要求是从小到大输出元素,在关键部位我对比了一下我的代码,发现我的交换顺序与他的是一样的,但题目要求是却相反的,于是我改正了我的代码。 帮助我我发现错误的视频网址
四·运行结果截图

题目2
7-1 找鞍点 (20 分)
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。
输入格式:
输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。
输出格式:
输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。
输入样例1:
4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9
输出样例1:
2 1
输入样例2:
2
1 7
4 1
输出样例2:
NONE
一·我的代码
#include <stdio.h>
int main()
{
int a[6][6];
int n;
scanf("%d",&n);
int i,j;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{
scanf("%d",&a[i][j]);
}
int k=0,y=0,flag=1,p=0;
if(n==1)
printf("0 0");
else
{
for(i=0; i<n; i++)
{
y=i;
for(p=0; p<n; p++)
{
if(a[i][k]<=a[i][p])
{
k=p;
}
}
for(j=0; j<n; j++)
{
if(a[y][k]>a[j][k])
{
y=j;
break;
}
}
if(i==y)
{
flag=0;
break;
}
}
if(flag==0)
printf("%d %d",i,k);
else printf("NONE");
}
return 0;
}
二·解题流程图

三·遇见的问题与解决办法
问题编程截图:

我是怎么发现这个问题的?
在询问同学后,他提醒我除了最主要的比较元素大小之外,还要注意矩阵的阶数时,我立刻发现问题的存在,于是增加了判断0阶矩阵的条件,最终解得题目。
四·运行结果截图

题目3
7-1 统计一行文本的单词个数 (15 分)
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
我的代码
#include<stdio.h>
int main (void)
{
char string[1000];
int i;
int num=0;
int word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c==' ') word=0;
else if(word==0){
word=1;
num++;
}
printf("%d\n",num);
return 0;
}
二·编程思路流程图

三·遇见的问题与解决办法
错误代码截图

错误原因:没有设置从键盘输入这个环节,所以报错
我是怎么发现的?
看别人代码改的
四·运行结果截图

挑战题目:冒泡排序
1·我的代码
#include<stdio.h>
int main()
{
int i,k,a[10],n,temp,max;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(k=0;k<n-1;k++){
max=k;
for(i=k+1;i<n;i++)
if(a[max]<a[i])
max=i;
temp=a[max];
a[max]=a[k];
a[k]=temp;
}
for(i=0;i<n;i++){
if(i+1==n)
printf("%d",a[i]);
else
printf("%d ",a[i]);
}
return 0;
}
2·编程流程流程图

3·遇到的问题与解决办法
题目是基础题目,所以除去格式问题,没有可以写的大问题
4·运行结果截图

| 时间|代码行数|这周所花的时间|学到的知识点简介|目前比较疑惑的问题|
| ------------: | ------------: | ------------: | ------------: |
| 3/2-3/19 |35|两天|通过代码读取文件里的数据,并且在屏幕上打印|为什么文件的使用还要进行关闭
|3/9-3/19 |65|三十分钟|没有学到任何知识点|想知道指针与数组之间的内在联系|
|3/19-3/22|186|五个小时|二维数组的用法加上二分法找元素|需要多打代码多多练习|
2019年春季学期第四周作业Compile Summarize的更多相关文章
- 2019年春季学期第二周作业 基础作业 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。 输入: 请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。 输出 在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件
~~~ include<stdio.h> include<stdlib.h> int main() { FILE*fp; int i=0,max=0,j=0,maxb=0; i ...
- 2019春第十二周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能按自己的想法解出题目 这个作业在那个具体方面帮助我实现目标 能朝着软件工程师方向发展 参考文献与网址 C语言 ...
- 2019年春季学期《C语言程序设计II》课程总结
2019年春季学期<C语言程序设计II>课程总结 1.课程情况 教学内容 课堂小结 作业安排 优秀作业 备注 1.开学谈心 2.测验数据类型.运算符与表达式的自学情况,并讲解测验题目3.第 ...
- 2019年春季学期《C语言程序设计II》助教注意事项
本学期<C语言程序设计II>课程安排 理论课时24(1-12周),实验课时8(13周),课程设计课时16(14-15周) 理论课教学内容 附:教学进度表 本学期实验课和课程设计参考教材 & ...
- 2019年春季学期第三周作业 ----PTA作业
题目 判断上三角矩阵 上三角矩阵指主对角线以下的元素都为0的矩阵:主对角线为从矩阵的左上角至右下角的连线. 本题要求编写程序,判断一个给定的方阵是否上三角矩阵. 输入格式: 输入第一行给出一个正整数T ...
- 2019春第五周作业Compile Summarize
这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够精通关于数组内部运作原理 这个作业在哪个具体方面帮助我实现目标 如何输出一行的连续字符 参考文献与网址 ...
- 2019春第十周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够对C语言的编写更加得心应手 这个作业在那个具体方面帮助我实现目标 结构体更进一步 参考文献与网址 C语言 ...
- 2019春第九周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 能解更多的题 参考文献与网址 C语言 ...
- 2019春第八周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 指针对于高阶题目的做法 参考文献与 ...
随机推荐
- 关于Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/springmvc-demo-01-start]]出错的解决方法
出错的详情: 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache ...
- springboot集成mybatis源码分析-启动加载mybatis过程(二)
1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplication中的@EnableAutoConfiguration 2.EnableAuto ...
- c/c++/java如何访问数据库(优秀博文)
(下面是c++) https://www.cnblogs.com/47088845/p/5706496.html https://www.cnblogs.com/shiyingzhi/p/7896 ...
- Zookeeper集群搭建步骤及相关知识点深入了解
1.zookeeper概念 zookeeper是一个分布式协调服务:a:zookeeper是为别的分布式程序服务的 b:zookeeper本身就是一个分布式程序(只要半数以上节点存活,zookeepe ...
- CodeForces 630G Challenge Pennants (组合数学)
<题目链接> 题目大意: 有两种旗子,分别有5个和3个,将这些旗子分配给n个人,有多少中方法. 解题分析: 5面A旗子的发放方案为:$[1,1,1,1,1],[1,1,1,2],[1,2, ...
- WIN10远程计算机不支持所需的FIPS安全级别解决
win10系统的电脑在远程xp系统或者其他系统的电脑时,提示错误,远程计算机可能不支持所需的FIPS安全级别,如果出现一以下2种错误,可以解决! 1 第一步:打开win10下的,控制面板 2 第二 ...
- [Luogu P2563]质数和分解
题目链接 话不多说,这是一道质数题+完全背包.先预处理筛出质数,直接背包就行. #include<iostream> #include<cstdio> #include< ...
- 使用SwitchToThisWindow时不切换问题
在网上很难找到SwitchToThisWindow这种问题的处理,自己研究了下终于找到了问题,记录下来便于后人参考. 解决方法: 1.键盘HOOK时不要调用CallNextHookEx,因为按键消息与 ...
- 小甲鱼零基础python课后题 P24 023递归:这帮小兔崽子
0.使用递归写一个十进制转换为二进制的函数(要求“取2取余”的方式,结果与调用bin()一样返回字符串式). 答: def Dec2Bin(dec): temp = [] result = '' wh ...
- linux_grub resue模式恢复
//20190417 今天中午装linux的电脑崩了…… 一开始还以为是什么硬件问题,搞了半天,是更新的时候吧grub启动项弄坏了 行吧,没人教咱就上网搜,搞一下午搞出来了 ============= ...