关于c语言编程软件的一个问题

关于c语言编程中的一个问题_百度知道
关于c语言编程中的一个问题
如何将他们存成整型数组的形式,a[4]=5,a[2]=3,b[1]=3,b[100]a[0]=1:输入546将输入存入整型数组a[100],b[2]=4?举例如下,b[4]=4,a[5]=6b[0]=1,a[1]=2,b[3]=5,a[3]=4输入两个全是数字的字符串
提问者采纳
#include &
pInt = &a[0];
pStr = s2, char* argv[]) {
int a[100];%s %s&
char s1[100], *pStr, b[100].h&, s2);
pStr++;;;int main(0'
while(*pStr) {
*pInt = *pStr - '0&#39, s1;
pInt = b, s2[100], *pI
while(*pStr) {
*pInt = *pStr - &#39.h&
pStr = &s1[0]#include &lt
提问者评价
其他类似问题
您可能关注的推广回答者:回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于C语言编程的一个小问题。_百度知道
关于C语言编程的一个小问题。
j=0,&&前为0就不会执行了啊,两个0的||为0啊,k=-1,因为++1使用0值,++j也是,应该执行到&&就不会执行了吧,请问i=1是怎么来的,经过++i||++j&&++k||i++后i=1有int i=j=k=-1?
这时,若遇到运算符左边的操作量为0(即为逻辑假):,i=0,应该先算++j&&++k,因为已经可以断定该逻辑表达式的结果为假,则停止运算,前提条件,所以还要继续,那么逻辑运算还要继续!、||,但此题是逻辑假,若这种运算符左边的操作量非0(即为逻辑真)、&&,则停止运算,也就为0。它们有优先级的,那么++j&&++k就为0,i就等于1了,也就是有先后运算顺序的,0||0,多个&&的运算,但是!在这一题中,从左到右:int i=j=k=-1,其中的运算符,因为它不是多个&&的运算,也就是说为假,然后再后来从头算或(||)运算,这时.也就是假,则j和k就等于0了,而后面还有个i++,那就接着就继续算这是逻辑运算,此题现在是多个或(||)运算
采纳率100%
其他类似问题
c语言编程的相关知识
其他1条回答
你最好去看看运算符的执行循序,应该就能明白了~~~
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于c语言编程的一个问题_百度知道
关于c语言编程的一个问题
显然卡车撞一次油是通不过沙漠的。因此司机必须在沿途设立几个储油点,使的卡车能顺利通过沙漠?才能使卡车以最小的耗油代价通过沙漠。试问司机如何建这些储油点?每个储油点应该储多少升油题目,卡车的耗油量为1公升/公里卡车的总载油量为500公升:一辆重型卡车欲通过1000公里的沙漠
您可能关注的推广回答者:回答者:
c语言编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁还是一个关于C语言编程的问题。。_百度知道
还是一个关于C语言编程的问题。。
stdio; printf(&quot.h&20);void main(){ int x=20;n&%d\,0&x&}为什么不管x值是多少都输出1呢#include&lt
提问者采纳
所以这次在判断就是true了;x&20这类但连等于,0&lt,都是比20小的,false就是0,true就是1。他会分成两部做,但是无论哪种,这个时候根据x的不同可能为true或x先判断因为c语言不实别0&lt
提问者评价
知道为啥了
刚想采纳为答案寝室就断电没网了。。。连手机热点也要及时采纳答案哈!~
其他类似问题
按默认排序
其他3条回答
x结果只能是0或1,&x&lt0&20为真;20---------------先计算0&lt
&的结合顺序是从左到右,所以0&x&20相当于(0&x)&20,由于x=20,所以这表达式的值为1
0&x&20这里首先是判断0&x的 为真 值为1然后就是1&20 也为真 所以打印的就是1如果是20&x&0
那么打印的就会是0了
您可能关注的推广回答者:
c语言编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁一个简单C语言编程问题?
老师给我们布置了一个作业,设计一个程序如下:通过键盘输入两个数据,一个字符,如果该字符是+,则执行两个数据的加法运算;如果该字符是-,则执行两个数据的减法运算;如果该字符是*,则执行两个数据的乘法运算;如果该字符是/,则执行两个数据的除法运算;然后输出运算结果;(若不是+,-,*,/字符,则原样输出该字符。)以下是我写的代码,运行倒是可以,但是结果总是两个数相加所得的结果!#include&stdio.h&
int main()
double a,b,c;
scanf("%lg%lg",&a,&b);
ch=getchar();
if (ch='+') c=a+b printf("%lg",c);
else if (ch='-') c=a-b printf("%lg",c);
else if (ch='*') c=a*b printf("%lg",c);
else if (ch='/') c=a/b printf("%lg",c);
else printf("%c",ch);
希望大神可以帮我改正改正,谢谢了!
按投票排序
请复习'='和'=='的区别
同学,我只能说你的代码风格相当糟糕,(估计谭浩强的书看多了!),其次我觉得你还是先看看书然后再作业吧!赋值符和逻辑判断符都没有分清楚。(不知道是你们老师没教,还是上课梦游去了)。最后,请独立完成作业。==============================================================分割线卧槽,真没有想到题主真是我同学啊。orz..看到同学的份上,将就你的代码帮你改改。。。#include&stdio.h&
int main()
double numberA, numberB, result;
//变量命名要清晰易懂,去查查各种命名法吧,比如匈牙利命名法什么的
scanf("%lf%lf", &numberA, &numberB);
//函数参数之间最好有空格,这样看清更加清晰
getchar();
scanf("%c", &ch);
// 像if,while后面连的括号之间最好有空格,以便区分函数和关键字
if (ch == '+')
//每条语句后面都要加分号。Orz
result = numberA + numberB;
//运算符前后最好也有空格分开,这样让别人更好看清楚
printf("%lg", result);
//再有就是每个语句最好单独一行,方便调试,也方便给人看,(少用逗号来分割语句)
else if (ch == '-')
result = numberA - numberB;
printf("%lg", result);
else if (ch == '*')
result = numberA * numberB;
printf("%lg", result);
else if (ch == '/')
result = numberA / numberB;
printf("%lg", result);
printf("error!");
还有就是,善用空行,但是return语句之后不要有空行 if/else语句和{}之间不能有空行
空行的意义之一是用于区分不同功能的代码段,并且还要同一段紧凑的代码的赋值运算符尽可能保
还有就是,这段代码还有很多可以优化的地方,比如可以用switch语句而不是if else(因为你这么用if的话增加了判断次数,降低了效率),还有就是没有加入相应的异常处理机制(万一除数是0怎么办?)。。等等。。引用我以前在《黑客与画家》上看到的一句话:程序写出来是给人看的,附带能在机器上运行。我觉得代码更多时候是给别人看的,不是只是能够运行就好了,所以尽可能的写的让别人看得懂,看的舒服。建议以后多看点好的开源项目,就算看不懂,看看里面的风格也是很好的ps:不太会用知乎的代码编辑器,有些地方没有改好。呜呜::&_&::
#include&stdio.h&
int main()
double a,b,c;
scanf("%lg%lg",&a,&b);
ch=getchar();
ch=getchar();
if (ch=='+') c=a+b , printf("%lg",c);
else if (ch=='-') c=a-b , printf("%lg",c);
else if (ch=='*') c=a*b , printf("%lg",c);
else if (ch=='/') c=a/b , printf("%lg",c);
else printf("%c",ch);
为什么要有2个getchar()呢?请温故书上的内容,第一个getchar()是接收'\n'也就是回车键的。如果觉得好请点赞~~
不急。有心学就是好的。书读百遍,其义自现。多debug。首先。你要了解需求是什么。如何实现功能。需求:获取两个数,然后根据之后给出的命令做相应运算。功能实现:
//获取数据
double a,b,c;
scanf("%lg%lg",&a,&b);
ch=getchar();
//根据命令执行运算并输出结果,原答案是=搞错,c语言里面=是赋值,==是判断是否相等,
if (ch=='+') c=a+b , printf("%lg",c);
else if (ch=='-') c=a-b , printf("%lg",c);
else if (ch=='*') c=a*b , printf("%lg",c);
else if (ch=='/') c=a/b , printf("%lg",c);
else printf("%c",ch);
看了注释是不是就很清楚了。1.注意写注释,写的啰嗦不怕。重要的是写的过程中你可以把流程理清楚2.注意编码规范这些可以慢慢学,平时写的时候注意点,大家都是这样来的(哪个敢说上学时变量用的不是abc的?)3.多看书~~·4.加油!未来的码农!多debug!
你把这个代码写的我这个外行都实在是有点看不下去,多看书,多看书上例题…1、上面的回答提到的=和==的区别使用,这区别很大的,看书搞明白2、上面有回答给了个基本完整的答案,不过我觉得后面的判断为什么不用switch case语句,你不觉得if else这么多很烦吗?你这代码一看就是上课听了个半懂,然后书一点没看就自己在那编写作业……有在这儿发帖的时间,多看看书,如果你们的教材不行可以去图书馆找别的书,我相信如果你认真看过书、练习运行过书上的例题,你肯定写不出这样的代码……
把 ‘==’ 误写成 ‘=’ 是很多程序员都会犯的错误,尤其刚刚入门。这种错误有一个很烦人的地方就是printf调试也不太容易发现。有一种编程风格可以避免这种错误。就是把常量等写在等号前面。像这样:if (NULL == ptr) { do something; }
if ('+' == ch) { do something; }
这么做的好处是编译器会帮你指出错误。虽然这种写法也有一些缺点,(比如降低了程序的易读性),但是对新手而言仍不失为一个有用的小trick。coding入门会有些无聊,枯燥,甚至痛苦。但千万不要失去信心,入门之后会发现编程特别好玩。祝顺利 :)
为什么要帮别人解决问题呢 尤其这种低级错误的问题 同学 你不读书么?不思考么?不去理解基础的C语言知识么? 不要妄想别人给你快捷的解决方案 或者答案 这个东西debug一会就知道 计算花个把小时也是值得 为嘛要来问呢?还在知乎上 #难道这是钓鱼贴#
c缺陷与陷阱和c专家编程。你的问题书上有说,这两本书你值得拥有。
写这种神经病代码干什么?
好吧,今天的笔试就到这里,请您回去等待通知}

我要回帖

更多关于 c语言编程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信