初学编程,大家帮忙看下这道c语言题怎么做?万分感谢

作者&投稿:藏狠 (若有异议请与网页底部的电邮联系)
求这道c语言的代码万分感谢?~

#include
#define N 10
void main() { int i,j,k,a[N],n;
scanf("%d",&n); for ( i=0;i<n;i++ ) scanf("%d",&a[i]);
for ( i=0;i<n-1;i++ ) for ( j=i+1;j<n;j++ ) if ( a[i]<a[j] ) {k=a[i];a[i]=a[j];a[j]=k;}
for ( i=0;i<n;i++ ) if ( i==0 ) printf("%d",a[i]); else printf(" %d",a[i]);
printf("
");
}

同志,我和你有同感,在也提过这样的问题,有一个人给我这样一篇文章,你可以看一下

最近 CompBook 版的一个题目:「初学者要如何学习 C++」,又引发一长串讨论。每天我啜着咖啡,看着一篇篇的长短文,在精譬与幼稚、深远与浅薄、骂声与辩白之间,固然得稍遣一日下来的疲惫身心,聊以为茶馀饭后之资。但是看着日渐众多的贴信,想到某些问题,心情也不很轻松得起来。
我有一些感触。

●不要骂人

学问高、技术好,固然可以说话比较宏声,比较强势,比较得到大家的尊敬与体谅,别人也比较不敢招惹,但不表示可以出口骂人。「废物、白痴、人渣、丑角」,这些骂人的话实在不宜。

不可以骂人,是网路的基本礼仪。「不可以」可以从两个层面来说。法律上来讲,网路上之不可以骂人也许是个灰色地带,被骂者多半也不会诉诸大动作。所以除非是名人被骂,或名人骂人,而且咽不下一口气,多半只是清风徐来,水波不兴。


我要谈的是修养层面上的「不可以骂人」。我要谈的是上网基本守则,就像谈做人的基本道理一样。


有些人的行事采「直率」原则,必要赤裸裸地表现自己的情绪而后快,至於礼仪诸等,则或斥之「伪善」。网路是个不露脸的世界,也大量容忍了这等「直率」。但是如我常说的『文如其人』,文字表现了作者的为人处世、心境修养、学问技术。为文能不慎乎?


古云「君子不欺暗室」,意思是虽处於无人得见之暗室,亦不做欺心败德之事(唐骆宾王.萤火赋:类君子之有道,入暗室而不欺)。网路这个虚拟世界,就像一个大暗室,虽然别人不得见你的真面目,你在暗室中的一切行为,仍忠实映照你自己。


昨天,我顺道载来元智旁听课程的交大学生回竹。途中刚好他提起 CompBook 版的这阵热闹。我淡然地说:不该骂人。学生说:可是有人本来就该被骂。


哦,是吗?


如果说这个世界是「观念可能有点偏差、技术可能有点不足、态度又没让你顺眼的人,便该骂」,那麽我说,骂人有骂人的技巧与艺术,你骂人的表现这麽粗糙这麽差劲,「观念可能有点偏差、技术可能有点不足、态度又没让我顺眼」,也该骂罗?


不,你不该被骂。所以他也不该被骂。


要表现尖锐与犀利,另有办法;请不要用骂,尤其是像「废物、白痴、人渣、丑角」这种话。


或有人说,我的个性就是这样,直率是我的座右铭。那也依得。我刚才说了,网路是个不露脸的世界,大量容忍了这等「直率」。我写这篇文章,原也意不在影响骂人文章的作者(我想我没有这样的能力), 我想影响的是骂人文章的读者 — 你。


指责别人是多麽地容易,检讨自己是多麽地不容易。我回想自己的文章,也出现过情绪性字眼。虽是一个比拟,非特定指哪个人,还是觉得有点惭愧。


●文如其人


衍生而来的,我还想说的是,竞速的时代,以及台湾教育的偏颇,造成了网路上的文字错别字连连、逻辑不通、语意不畅┅。大家都急就章地,有什麽想法就脱口而出,线上回覆;不但不检阅,甚至不重读第二遍就按键送出。


文如其人。如果你连自己出手的文字 — 代表自己思想的东西,都这麽不在乎不谨慎,你会对什麽在乎?你在乎的大概只剩功利铜臭之阿睹物。如果现实生活中你是谨言慎行的,到了暗室却如脱疆野马,这让我想起现实社会中许多彬彬有礼之士,上了自家车驾驶座,便换了张头脸,骂声连连,闪超挤推,下得车来又彬彬有礼。


可是你,就是你,只有一个你。哪个是真实的你呢?半夜问问自己。


●初学者要如何学习 C++


发问者,有能力从回信内容判断回信者的经验,进而估量其正确性或适用性,进而决定自己的采用度吗?


如果能,大概不会问这个问题。如果不能,应该不必问这个问题。


网路上这些年的悠游经验,使我轻易可以判断哪一种题目又有好戏看了,哪一种题目又要引爆口水战乃至口角战 —而且最后只是一场混战,筛子上留没几家伙。


我们感谢热心的回信者,他们热切提供自身经验,不论自己是一年经验、三年经验、五年经验、十年经验┅。不论自己是 1/4 瓶水或半瓶水,或 3/4 瓶水或满瓶水。


我想知道,以发问者的水平,如何判断和取舍这些回覆?


通常我们寻求这类学习之道(这是对自己非常重要且关键的问题),不应向陌生人求助,那於事无补。因为陌生人的经历你一无所知,为什麽他的学习之道值得你遵循?你既无法判知,就没有必要发问。


为什麽不问你的老师?你的学长?你的同学?那是你看得见摸得到的人,如果你佩服他们的能力,你就可以询问他们的学习经验。因为你知道他们的表现,所以你可以决定你的采信度。


对发问者而言,这样是不是有意义多了?


●三不政策


现代学生有三不政策:不讲话,不回答,不要问我。不论是在大学殿堂,或是公司职训,我往往面对沉默的台下,所以我也学会从来不做田野调查 — 要人举手点数那种。


是的,连举手都有人不愿意。任何会曝露自己任何状态的动作,统统拒绝。


这大概是为什麽大家喜欢上网发问的原因了。呵,没人知道我是谁。


学生心头有惑,不喜欢上课问,喜欢下课问。我完全知道症结所在。因为你心里头挣扎『这个问题有水准吗?藏拙算了,不要自曝其短』。於是上焉者下课来问,下焉者完全不问。


有的老师回答某些层次不高的问题时,会带着揶揄的表情或口吻。这种老师应该为现代学生的三不政策负点责任。


不愿自曝其短,是正常的人性。那麽,你应该做的是,课前预习。唯有课前预习,或课后复习,才有信心你所问的问题有没有水准,不是吗?我真不知道现在还有多少学生有课前预习的习惯。我的班上有一位,我很欣赏他的积极。


下学期我让大家都带面具上课,保证问题多得不得了 :)


●十倍速学习


只要保持一个原则,你就可以十倍速学习。


课前预习,课后复习。


那麽,上课时你的吸收力,便是别人的十倍。速度虽是一种绝对值(其实宇宙间没有绝对) ,也是一种相对感觉。你的吸收力是别人的十倍,那你不是十倍速学习,是什麽?你每堂课课前花一小时,课后花一小时,便比别人考试前花二十小时还有价值。


但是因为短视,看不见未来,贪玩,所以做不到。哎!


课前预习,课后复习。老调!

古调虽自爱,今人多不弹。


●眼界 .1


从一连串 C++ 学习之道的讨论信中,衍生出 C 和 C++ 的关系、C 和 C++ 的能力比较。


老掉牙的问题!


有人不认为 C++ 比 C 优秀,认为别人大力捧 C++ 是因为没看过那种「C 功力出神入化」之神人,那种「C 语言程度高到让人难以想像」之怪物。


是的,我确信,所有 C++ 能做的事,C 都做得到。"Inside the C++ Object Model" (中译《深度探索 C++ 物件模型》,侯俊杰译, 峰 1998)或是 "The Annotated C++ Reference Manual"(无中译本)书中,把许多 C++ 的奥秘(例如 object model, vptr,vtbl, template, inline...)都曝露出来,读者甚至可以因此写个C++ 编译器(当然,方向有了,你可能需要知道更多实作细节)。


也许,C++ 编译器便是以 C 语言完成的(我不确知)。


那麽,有什麽是 C++ 做得到而 C 做不到的呢?


没有。


大不了写个具有 C++ 编译器功能的 C library 附在 C 程式身上,还有什麽办不到的。


问题是,「可用」不见得「最好」。想想付出的代价。


我接触 C++ 的前数年中,和同事有时候会去听些课程。我的慧根差,连 OOP 都转不过来;我的同事慧根好一些,略可掌握 OOP。至於 OOA/OOD,我们两人都嗤之以鼻,私下窃想,那些腾云驾雾高来高去的老师,自己到底懂不懂呀。


但是我们只敢互相调侃开玩笑,不敢真的公开表达。即使表达,也语多保留,容有回旋。


因为我们知道,OO 这一软体界的大势,这麽多人的研究,这麽多人的赞美,不可能没有原因。我们也知道自己之不悟,怕只因自己的浅薄。

后来我因此对 OO 失去兴趣,改攻 Windows(programming & OS),我的同事则继续深究。他虽不喜欢看书,但 C++/OOP 的书倒是狠K了不少,并以个人卓越的 programming 功夫,在这个领域成为专家。

我自己终於在研究 MFC 的时候,不得不痛下决心好好搞 C++/OOP。所以我是为了运用一套 C++ class library,才开始学 C++。要搞当然就要搞点成绩(并且也因为搞出兴趣),所以才往object model, framework infrastructure, generic paradigm继续搞下去。

我再说一次,「可用」不见得「最好」。


我再说一次,一种技术,一种 paradigm,得到多人(可说是整个业界)的推崇与赞美,不可能没有原因。


眼界未开的时候,要知道自己眼界未开,保持谦逊。


●眼界 .2

十年前,我有了第一部车。於是我开始知道坐在驾驶座上的各种状况。

有一天我和朋友夜至景美访友,坐朋友的机车去。机车大灯坏了,我很担心,要他闪方向灯一路骑去。他斥为无稽,并且说台北路灯那麽亮,我们看得见别人,别人也看得见我们。

但我知道汽车座里的驾驶从反光镜看不见我们。

是看得见,但是要仔细看。如果仔细看反光镜,就无法分神看前方,所以驾驶人看反光镜都是目光一瞥而已。在夜间,只有灯光才能让他瞥到。他不是在看后方有没有物体,他是在看后方有没有灯光。

我很庆幸在冒险夜骑那辆没大灯的机车后,现在还活着。

我的朋友没开过车,所以他不知道这种情况。我开过车,所以我知道。这是我和他在那个时候,就交通工具的驾驶而言,层次上的差异。

我开小客车,所以对於七人座厢型车、九人座厢型车也都能够轻易掌握,立刻上手。但是要我开 10 轮大货卡、两吨半、甚至怪手,我就知道有级次(order)上的障碍需要克服。要我开飞机,那级次的障碍就更高了。

机车的驾驶难度,以及可游距离,和汽车有1个级次的差距。汽车的驾驶难度,以及可游距离,和飞机有n个级次的差距。

所以我们没有办法和井里的青蛙谈广阔的天,和河里的鱼蚌谈汪洋的海,和燕雀谈鸿鹄之志。

但是我们必须有谦逊的心:在级次更高的人面前,我们便是他们眼中的井蛙、河鱼和燕雀。

先给你第一题的,百度知道的这个编辑器真的不适合粘贴代码

#include<stdio.h>

#include<string.h>

#define MAX_ARRAY_SIZE 1024

#define MAX_MAP_SIZE 10


/* 输入数组,连续输入,如:aedabcdaeas  */

int inputArray(char *buff) {

        int len = 0;

        /* 使用fgets来防止缓冲区溢出  */

        if (NULL == fgets(buff, MAX_ARRAY_SIZE, stdin)) {

                return 0;

        }

        len = strlen(buff);

        /* fgets 返回的数据可能是换行符结尾的,也可能不是,对换行符结尾的进行处理 */

        if (buff[len - 1] == '
') {

                buff[len - 1] = '\0';

                len -= 1;

        }

        return len;

}

int processArray(int len, char *chars, char *map) {

        /* 保存反向映射便于查找  */

        int tmap[128];

        int maplen = 0;

        int i = 0;

        char *p = chars;

        memset(tmap, -1, sizeof(int) * 128);

        for (i = 0; i < len; i++) {


                if (*p > 'z' || *p < 'a') {

                        return -*p;

                }

                if (tmap[*p] == -1) {

                        if (maplen >= MAX_MAP_SIZE) {

                                return -1;

                        }

                        tmap[*p] = maplen;

                        map[maplen] = *p;

                        maplen += 1;

                }

                *p = '0' + tmap[*p];

                p++;

        }

        return maplen;

}

int main() {

        /* 用于输入的字符数组  */

        char buff[MAX_ARRAY_SIZE];

        /* 用于保存转换规则的数组  */

        char map[MAX_MAP_SIZE];

        /* 保存字符数组长度  */

        int len = 0;

        int maplen = 0;

        int i = 0;


        len = inputArray(buff);


        if (len <= 0) {

                puts("Cancelled");

        } else if (len < 10) {

                puts("Not enough 10 chars");

        } else {


                maplen = processArray(len, buff, map);

                if (maplen >= 0) {

                        puts("转换结果:");

                        for (i = 0; i < len; i++) {

                                printf("%c ", buff[i]);

                        }

                        puts("");

                        puts("映射规则:");

                        for (i = 0; i < maplen; i++) {

                                printf("%c -> %d
", map[i], i);

                        }

                        puts("");

                } else if (maplen == -1) {

                        puts("Different Chars count is OverLimit of 10");

                } else if (maplen <= -2) {

                        printf("Unexpected char %c
", -maplen);

                }

        }

        return 0;

}

执行结果:



第一题审题关键:题目中的转换规则就是字母在数组中第一次出现的顺序(顺序是从0开始自增)。

(注意数字是自增数(重复字母不自增,不同字母才自增),不是第一次出现的下标,因为题目有条件:使用数字的最大值等于转换规则的数目-1)

因此代码需要实现以下功能:

一、数组输入,需要有验证(验证输入的是否是小写,可嵌套循环判断)。

二、遍历数组,生成规则列表,可用数组char B[10]和int C[10]来记录规则,B数组是字母, C是该字母对应的顺序(顺序用变量自增)。比如数组char A[10]={a,b,a,d,e,f,d,g,j,k};循环每个元素,和数组B中对比,存在就跳过,不存在就将该字母记录到B中,并将顺序变量自增后记录到C数组对应的下标元素。

三、循环AB两个数组,通过对比,把数组A中元素替换成对应C中数字(或用新数组a来保存替换结果,原因见下)。

(注意:A是字符数组,c是整型数组,把数字直接存放到A,打印输出的时候按整型打印,实际就是把数字当成ASCII码保存了,打印数字就打印ASCII码。或者一开始就把A定义成字符串数组,最后把数字用ltoa()转换成字符串再存放到A中,打印用%s格式打印)。

如要接第二题整型a数组,这里可直接把对比结果保存在int a[10]数组中(和原数组A分开)。这样a可直接用于第二题。

第二题审题:根据上题的a内容定义n个数组(n=a中最大值-a中最小值+1),之后按照题目要求填充这几个数组,最后打印即可




硬件设计师最常见的工作内容是通过写代码来测试硬件。这10个C语言技巧(C语言仍然是常见的选择)可以帮助设计师避免因基础性错误而导致某些缺陷的产生并造成维护方面的困扰。
技巧 1:不要使用“GOTO”语句
二十几年前,当计算机编程尚处于起步阶段时,程序流程是由“GOTO”语句来控制。该类语句允许程序员对当前代码行断行,而直接进入另一个不同的代码段。列表1为简单的示例。

列表1 使用GOTO语句
编程语言终究开始引入了函数的概念,即允许程序对代码进行断行。如果已经完成,不再使用goto语句来表示代码的断行。函数调用后,函数将回到下一条指令。列表2为示例。这一做法改善了程序结构,提高了可读性。自此,这被视为编写程序的正确方法。只要看到或想到goto语句,就会让软件工程师退缩,产生本能的厌恶。其中一个主要的原因是,一个遍布goto语句的程序会让让人很难抓住重心,不便于对程序的理解和维护。

列表2 用函数控制流程
技巧 2:使用FOR(;;)或While(1)
如果goto语句已经过时,那么对程序创建无限循环应该如何去做呢,这是一些硬件工程师可能会疑惑的问题。毕竟,之前都是通过创建一个goto语句然后再返回到main语句。解决这一问题就要利用C语言中已经存在的循环语句for和while(列表3和4)。

列表3 使用一个无限的For循环

列表4 使用一个无限的While循环
列表中的循环条件相对比较简单。for循环无非是以无条件情况使用条件语句。而另一方面,while循环是语句为真即予执行,这等同对任何条件的非零值。
技巧 3:使用合适的条件语句
除代码的可读性之外,程序的执行时间还主要依赖于做决定时所选择的条件结构类型。许多硬件工程师都熟悉简单的if语句的使用。然而,有时工程师可能没有意识到,如果第一个条件不正确,还可以使用else或else if语句。这可以节省处理器时间,而不必评估另一个条件语句。在列表5所示的前半部分代码中,如果Var值为1,则代码仍会查看Var是否为0。而在用了else语句的后半部分代码中,只评估第一个语句,之后就继续走下面的代码,这样就节省了时钟周期,使代码更加清晰。

列表5 用If/Else替代只用If
If/else if/else语句可能并不永远适用。如果需要检查若干个可能的条件,switch语句可能更合适。这样,处理器可以评估语句,然后从一个答案列表中选择下一步动作,而不用连续地评估一堆条件。列表6显示的例子与列表5示例的类型相同。

列表6 使用Switch语句
以上示例的寓意是,让条件语句的选择更开放,以选择出最适合的语句。这种做法使程序结构更简单,便于理解程序流程,缩短处理器的额外时钟周期。
技巧 4:避免使用汇编语言
微处理器的自然语言为汇编语言指令。为低级别机器语言编程可能会为处理器提供更高效的代码。然而,人类并不是天生就会这种语言,并且经验表明,编写汇编语言会造成误解。误解会导致维护不当,更甚者,可能会使系统到处是bug。一般建议避免使用汇编语言。实际上,现在大多数编译器都能编译出非常高效的代码。采用C语言或C++语言等高级语言的开发,能获得更有序的结构,便于理解和维护,使代码的整体效果更好。列表7给出了一个示例,比较了使一个32位变量递增所使用的汇编代码和C语言代码。

列表7 用汇编和C语言完成一个变量的递增
汇编C代码
当然,现在仍有一些场合适于使用汇编语言,但这种场合仍比较少。首个推荐的场合是开发引导装载程序。这种情况下,可能需要优化对启动过程中某个决策(启动应用或引导加载器)的速度。此时,分支判定用汇编代码就可能有意义了。另一种场合是开发一种在DSP上运行有严格时序要求的控制循环。为了从设备中的得到每个时钟周期,用汇编语言做控制循环的编码是有意义的。如果目前任务适合用汇编,应确保将其妥善存档便于有据可查,这样,未来的开发者(或未来的版本)会明白该代码的用途。
技巧 5:充分利用模块化
笔者最常见的经历是着手由硬件工程师开启的一个新项目往往是杂乱无章的代码组织。通常我们会发现,代码由一个单一的主模块组成,其中有2.5万多行代码。在这些应用中,一切都是全局性的,函数寥寥无几,goto语句贯穿整个代码结构。15年前这算正常,但如今已不再适用了!C语言编程使工程师能够将代码分成独立的功能模块,这简化了代码导航,同时还能够使工程师使用封装等面向对象技术。代码可以被组织成逻辑模块,这很有意义。虽然可能要先花点时间(几分钟),但从长远来看,这将能省掉很多漫长之夜,和很多调试之苦!
技巧 6:写千层饼式代码而非面条式代码
Beningo是一个意大利名字,和许多意大利人一样,我对意大利面食也是毫无保留地热爱。当拿意大利面食与软件相比时,我就会想到两种面食,即意大利面条和千层饼。意大利面条比较混乱,面条相互交织,纵横交错,结果完全没有任何类型的结构。编写非结构化代码就非常像意大利面条:咬一口,完全不知道吃的是哪部分。
另一种就是意大利千层饼!这种面食是分层的,是有结构的。分层开发的代码不仅更容易理解,还可以移走一层并添加一个新层,基本上能够实现重复使用和维护的简易性。图1为用千层饼式代码模型的一个简单软件模块示例。

图1 千层饼软件模型
驱动程序配置
应用程序配置
应用程序
驱动程序库
硬件
技巧 7:使用描述式变量名称
编写易于理解和维护的较大软件有许多障碍,其中之一就是变量的命名习惯。为了尽力缩短变量名,开发者通常会自创一些较短的、令人费解的助记符,往往只有他们自己才能明白的符号。现代语言使一个变量名可以包含数百个字符。为了让事情清晰明确,“直截了当”地方法要好于其它方式。因此,变量名一目了然不仅有利于开发人员,也有利于未来的维护团队。列表8给出一个示例。

列表8 变量的命名
技巧 8:少用#pragma语句
C语言中有一种特殊的#pragma语句。这些语句通常处理非标准的句法和特性,应尽可能避免使用这种语句,因为它们是非标准的,不能从一个处理器移植到另一个处理器。有些编译器可能要求用这类语句完成某项任务,例如定义一个中断服务程序。在这种情况下,可能除了使用#pragma语句以外别无它法。如果可能,将所有的#pragma语句放在一个模块或几个模块里。这有助于确保在代码移植时,只需要更新几处代码,而非整个代码库;此外,这也将有助于防止移植代码的首次编译所带来的困扰。
技巧 9:错误往往并不是看上去那样简单
在调试一个C程序时,有一个让人当心的陷阱就是编译器错误。由于编译器的复杂性,当检测到一个错误时,通常错误位于程序中的其它地方,而非编译器所指示的位置。这主要与编译器生成程序的步骤有关。错误类型通常是一致的,工程师可以发现的一些错误中,90%都是根源:
·当心漏掉#include文件。这可能会使程序开发人员看到完美的代码行,但由于未包含必要的头文件,编译器便会将其标志为一个错误,表示有些东西未定义。
·当心漏掉分号。编写C代码时最常见的错误是忘记在句末加分号。
·当心漏掉括号。漏写括号是代码编写过程中又一常犯的错误,或是粗心漏掉,或是由于键入错误而产生一个错误字符。
·当心漏掉逗号。在复杂的定义中很容易忘记逗号!
一般情况下,当弹出一个奇怪的编译错误对话框时,要查看该行前已被编译的内容。很有可能就是错误所在!它可能是出现在一行上面,或中间部分,或在完全不同的文件里。
不要放弃!只要具备一定的经验,解决这些疑难问题就会成为一种第二天性。
技巧 10:优秀的程序员编写的代码行数不一定少
人们常有这种误解,即认为较一般的程序员而言,一个优秀的程序员往往写较少的代码行就能解决问题。不要卷入这一错误的想法!一个优秀的程序员通常具备思维缜密、结构清晰的编码基础。变量命名和封装都恰如其分,系统中几乎不用全局变量。函数应保持简短有效。如果代码看起来很混乱,需要多写几行才能使其看上去更清晰,那就不妨多写几行!可以上网查看获得C代码编写最混乱殊荣奖项的代码用作前车之鉴。优秀程序员写的代码简洁、易于理解和维护,代码行数并非最少!

能帮我看一下这道题用c语言怎么写吗?
答:wang”姓的同学,则输出提示信息 printf("There are no students with the last name 'wang' in the class.\n");} // 释放分配的内存 free(wang_students);return 0;} 上面的代码中,我们定义了一个字符串数组来存储班上所有同学的姓名,然后使用 get_wang_students 函数来遍历这 ...

哪位大神帮忙看看这个C语言编程题,明天就考试了,讲解详细点,一定会有赏...
答:在C1字符串中找出C2字符串的开始位置,如果没有找到,打印C1字符串长度 在这道题中,找到了,打印3

求大神帮忙看一下这段C语言代码哪有问题,自己做的一道编程题
答:原因:char *d[100];scanf("%d",&n);for(i=0;i<n;i++)scanf("%s",d[i]);没有给d这个数组中的各元素分配存储空间(也即d[0]到d[99]这100个指针变量指向不明确),又强行给这个元素指向的地址写入值 所以,程序崩溃 char *d[100];改成 char d[100][100];即可 运行结果:...

...编程出来显示的是段错误。我没有找出来,请帮我看一下,感激不尽...
答:在opp函数中,那个if条件写错了,不是=号,而是==号,把 if(a[i]='\0')改成 if(a[i]=='\0') (2)里面for循环转换的时候,不是到t,而是到t/2,把 for( i=0;i<t;i++)改成 for( i=0;i<t/2;i++)

...编程,我是C语言初学者,请高手们帮我为下面这道题编个程序,分别用if...
答:include <stdio.h> int main(){ char c;int x = 0, y = 0;printf("***请按提示选择***\n");printf("a---本校全日制学生\n");printf("b---本校夜大学生\n");printf("c---外校学生\n");scanf("%c", &c);if(c == 'a'){ printf("你是本校全日制学生,不收付费 ^_...

初学C语言一道简单的C语言编程题~我的做的哪有毛病?
答:帮你改了一半,改不下去了,给你说一下你的问题吧:一、函数结构 int main(){ //函数基本格式 int main() { } , 括号要紧跟main()之后 你这里少一个{ int i,j,a,b,t,q;二、10的i次方 j=10^i; 这不能表示10的i次方 , 它表示10与i进行异或 想实现10的i次方可以这样:...

初学C语言编程,不知道问题出在哪?谁能帮忙看看,谢谢了
答:s=s+z; /*这个式子放在这里可以确保所加的z是最新且是正确的,如果放在你原来的位置,他还是会加上z的值,且z<0.000001,因为上面的 if(z<0.000001) break;语句只是跳出了当前的循环,而没有跳出s=s+z所在的循环。*/ } } s=s+1;printf("%f\n",s);} 这是我根据你的程序稍微做了...

C语言编程题,急,请大家帮忙啊,不会的也试试啊,急
答:1.include"stdio.h"defineL100 defineU200 defineFACTOR5 voidmain(){inti;printf("%5d之间%5d不能被%5d蒸出的数如下:\n",L,U,FACTOR);for(i=L;i<=U;i++)if(i%FACTOR)printf("%-4d",i);} 2.include"stdio.h"voidmain(){ intx[12]={2,45,67,12,3,9,76,45,23,42,6,5}...

C语言程序设计 我是C语言初学者,有一道看程序的题我有些弄不懂,还请...
答:答案:C A:是如果a>b,则一程序一直执行到“b=c;”,效果是换a与b的值;B:是如果a>b,则执行{ }里的语句,效果是交换a与b的值;C:是如果a>b,则执行c=a; 无论a是否大于b,c的值都要给a,a-b;没什么作用;D:是如果a>b,则效果是交换a与b的值,c相当于中转站,a-b;没什么...

求大佬帮我看一下这道C语言编程题哪里出错了
答:在键入了m之后,你又输入了回车,这个回车会被后面的循环语句里的回车判断语句接受,然后直接结束循环,一个字符也没有读入,可以选择在输入m后,直接输入字符串,或者把循环改为 scanf("%s",str);直接读入一个字符串str 然后用i = strlen(str); 可以获得字符串的长度 ...