全部问题 > 当前问题

好懵逼TAT怎么样才能学好啊。。

像以前改错题还能做对,填空题也能填个把,结果一开始上数组就懵逼了,感觉可也能听懂,但是课后作业看不懂,更别说做了,编程题完全没有头绪。。。大神能不能给点建议啊TAT

Cinderalla 2017-8-12 21:56:50

共 3 个回答

qqq 2017-8-15 16:53:04

建议把课程再看三遍。题目看不懂的,点开解析,逼自己看,哪里实在不懂的就问,可以加我qq454665252,这样问问题方便一点。

Cinderalla 2017-8-15 16:54:39

不会编写程序需要硬背吗?

最佳答案

qqq 2017-8-16 11:10:35

回复 Cinderalla:不会编写程序的分两种,一是分不清逻辑,这一种问题比较难解决,因为你都不知道自己要用什么思路实现题目的功能,所以需要多读代码多理解,不是硬背,第二种是语法问题的,这种比较好解决,课程多看几遍,把课程里的示例代码都自己打出来运行运行,语法问题多练一般都能解决。课程已经讲的很详细了,不能对编程产生抵触心理,否则是学不好的。

问题来自: 数组和函数
有以下程序
#include <stdio.h>
void fun(int a[],int n)
{ int i,t;
  for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;}
}
main()
{ int k[10]={1,2,3,4,5,6,7,8,9,10},i;
  fun(k,5);
  for(i=2;i<8;i++) printf("%d",k[i]);
  printf("\n");
}
程序的运行结果是 ______ 。
A. 345678
B. 876543
C. 1098765
D. 321678
答案:D
解析:从调用函数fun(k,5)可以看出是地址传递,形参可以改变实参。n=5,所以i从0循环到1。i=0时,交换a[0]和a[4]。i=1时,交换a[1]和a[3]。交换后的数组为:5,4,3,2,1,6,7,8,9,10。因此选D。