二级c语言有几个不懂的问题,希望大家帮忙解疑

#include <stdio>
void fun (int *a,int n)
{int t,i,j;
for (i=0 ;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0},i
fun(c+4, 6)
for(i=0;i<10;i++)
printf(''%d,'',c[i]);
printf("\n")

程序的运行结果是。。。。何解?????

#include <stdio.h>
main()
{int s[12]={1,2,3,4,4,3,2,1,1,1,2,3} ,c[5]={0},i;
for(i=0;i<12;i++) c[s[i]]++
for(i=1;i<5;i++) printf(''%d'',c[i]);
printf(''\n'');
}
程序的运行结果是。。。。
我不要答案,,,要分析过程额。。。把重点写出来。。。。特别是那两个for函数、、、、步骤写出来呀。。。。。

#include ''stdio.h''
main()
{ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};
printf(''%x,%x\n''),c[2][2],*(*(c+1)+1));}
运行后的结果四个选项
A,3e,6 B, 62,5 C, 56.5 D, 3E,6
选什么。这样的写法是什么意思啊

第一个:
fun函数其实就是排序,从大到小。
一个概念:逆序。一列数,小的在大的前叫一个逆序,则N个数,逆序数最大为N*N/2
for (i=0 ;i<n-1;i++)//循环N次
for(j=i+1;j<n;j++)//消除n-1-i个逆序
{
if(a[i]<a[j]) //小的在前则换位,消除一个逆序
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
则总共消除了(n-1+n-2+...+1+0)个逆序,即N*N/2个,所以可消除所有逆序,即从小到大排好。这其实就是“冒泡法排序”,LZ还有疑问可以找相关资料看看,或者问度娘搜冒泡法排序。
fun(c+4, 6)就是从第5个数:5开始排,即9、8、7、6、5、0
所以程序结果是1、2、3、4、9、8、7、6、5、0

第二个: 1,2,3,4,4,3,2,1,1,1,2,3;1加了4次,2加3次,3加3次,4加2次,所以是
4、3、3、2

第三个: 楼上很详细,就不多说了
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-17
fun函数,完成从大到小排序
第2个回答  2011-02-17
第一问,我认为程序有问题,因为调用fun函数时把c4传过去,其他的没有传,所以它不能改变什么。第二问,第一个for是统计s数组里各个数字出现的次数,存在c数组中,1的就存在c1中,以此类推。第二个for就是把c1到c4输出。第三问,选a,函数的功能是把c[2][2]和c[1][1]用十六进制输出,当然,你要先知道c是一个4*4的二维数组,并且其对应的值要知道。注意,数组的序号是从0开始的
第3个回答  2011-02-17
1.结果 1,2,3,4,9,8,7,6,5,0
函数func的功能时将数组a的前n个元素进行从大到小排序。
fun(c+4, 6) c+4等同于&c[4]就是将c数组从第5个元素开始的6个元素进行从大到小排序。

2.第一个for里的c[s[i]]++,是将s数组里的每个值作为c数组的下标,进行计算的。
第一次循环时 c[s[0]]++; s[0]值为1,所以是c[1]++; 依次类推计算即可。
第二个for没什么好说的,循环输出。
其实本题还有个聪明点的解法,查s数组中1、2、3、4的个数,按顺序排下来就是结果,4个1,3个2,3个3,2个4,结果为4332

3.%x是将结果用16进制显示
先将c数组排列好
1,2,3,4
5,6,7,34
213,56,62,3
23,12,34,56
c[2][2]值为62,16进制为3e
*(*(c+1)+1) 一层一层来看,先看里面*(c+1),将指针定位在二维数组的第二行,*(*(c+1)+1)即为第二行的第2个元素的值,是6,十六进制依然为6
至于3e的e大小写问题,看%x中的x用的大写还是小写,与其一致就可以了。
选A
第4个回答  2011-02-17
#include <stdio.h>
void fun (int *a,int n)
{int t,i,j;
for (i=0 ;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4, 6); /*将数组c的第四个元素开始的元素从大到小排序*/
for(i=0;i<10;i++)
printf(''%d,'',c[i]); /*打印c数组中元素*/
printf("\n");

程序的运行结果是:1,2,3,4,9,8,7,6,5,0

#include <stdio.h>
main()
{int s[12]={1,2,3,4,4,3,2,1,1,1,2,3} ,c[5]={0},i;
for(i=0;i<12;i++) c[s[i]]++; /* 按照数组s的元素对c数组中的相应元素进行自加运算 */
for(i=1;i<5;i++) printf(''%d'',c[i]);
printf(''\n'');
}
程序的运行结果是:4332

#include ''stdio.h''
main()
{ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};
printf(''%x,%x\n'',c[2][2],*(*(c+1)+1));} /* 以十六进制打印c[2][2],c[1][1],即62,6 */
运行后的结果四个选项 A
A,3e,6 B, 62,5 C, 56.5 D, 3E,6

有个最简单的办法就是直接编译运行的试试看。

二级c语言有几个不懂的问题,希望大家帮忙解疑
第二个: 1,2,3,4,4,3,2,1,1,1,2,3;1加了4次,2加3次,3加3次,4加2次,所以是 4、3、3、2 第三个: 楼上很详细,就不多说了

计算机c语言,有几个问题,望解答,准备计算机二级的菜鸟在此谢过...
【1】我也觉得是长双精度,不过长双精度对于初学者来说很少用到,可能是因为这个原因,所以答案是双精度吧。【2】C语言的注释可以放在程序的任何地方,只要写在注释符\/**\/中就可以。【3】应该跟你理解的也要,C的类型int也是标识符,命名的时候不要和那些系统默认的符号重复就可以了。【4】char c1...

计算机二级C语言考试内容有哪些
计算机二级C语言考试内容有哪些 全国计算机二级C语言程序设计包括40个单选题和三道操作题,单选题中1~10题为二级公共基础知识,单选题的11~40题是C语言的内容。操作题包括程序填空、程序改错和编程题各一题。程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。程序改错也是一个完整的程序...

计算机二级c+怎么学习 感觉过不了
教材:1推荐你看一下清华大学出版社,谭浩强的《C语言程序设计》。就是那本绿色封面的书。2公共基础部分你可以从市面上买一本相关教程即可,所有的计算机2级考的公共基础都一样的。但是不要买那种很厚的看上去和板砖差不多的书,因为那上面讲的太详细,考试没那么恐怖,而且那里的例题是帮助你深层次...

请教C语言高手为小弟解答的疑惑
pN是一个指针,这个指针指向N,指针的值是存放数据N的内存的首地址;2,int* pN=N;pN也是一个指针,指针的值是就是N;这种用法是不合适的,因为你一般不知道这个指针指向的内存内容是什么。如果真要用的话,可以写成这样:int* pN=(int*)N。3,int* pIndex=nArray;这种写法很正常,表示pIndex...

全国计算机等级考试二级C语言难吗??考过的给点经验
2.书,永远是最重要的,在做题过程中有什么疑问,就回到书本上找答案,不要一味的背题所带的答案详解,答案是用来提示的,而想要更全面的了解搞懂一些东西,还是要看书。3.不要每天抱着本书从头到尾的看一遍,这样下来后你会发现你以前会的还是会,以前不会的还是不会,而且容易走神,效率是个问题...

请问全国计算机2级考试C语言有哪几个题型
从2013年3月开始,二级的6个科目都改成了无纸化考试形式,其中就包括二级c语言。无纸化考试中,传统考试的笔试部分被转移到计算机上,考核内容和要求不变,考生在计算机上完成全部答题。无纸化考试时间为130分钟,满分100分,其中选择题40分,上机操作题60分。总分达到60分且上机操作题达到36分,方能...

计算机二级考试到底怎么考法?
对,是六选一,就是说你如果报考C语言的话,那么机试和笔试都是C语言,不过C语言鄙视有40道选择题,前面10道题目公共基础知识,后面是C语言知识,最后还有15道填空题,建议你买一本有关考试的辅导书籍,南开的比较好,

想学些c语言编程的知识,自己已经有c语言二级基础。 ,感觉知道的太少...
针对你的迷惑,首先,你要知道,C语言的用处非常大。你要知道,世界上大部分的操作系统都是用C开发的,像linux,基于linux的android系统、intel的Megoo系统(好像名字有误)、unix,还有基于这些系统的好多应用程序,都是用C开发的。函数看不懂不要紧,关键是你要知道程序开发的流程控制,在C语言基础学习...

计算机二级C语言题型的变化及应试技巧
3.学会并习惯使用编程软件的帮助系统。C语言编程软件有非常全面的帮助系统,熟练掌握、使用帮助系统,可以使我们减少记忆量,解决解题中的陌生、疑难问题。4.熟悉考试场地及环境,尤其是要熟悉考场的硬件情况和所使用的相关软件的情况。一般在正式考试前,考点会提供一次模拟上机的机会,应尽可能去参加。模拟...

相似回答