大一c语言考试题库代码哪里有错啊

问题已关闭
代为完成的个人任务
提问需要满足:其他人可能遇到相似问题,或问题的解决方法对其他人有所助益。如果通过其他方式解决遇到困难,欢迎提问并说明你的求知过程。
&div class=&highlight&&&pre&&code class=&language-c&&&span class=&c1&&//要求输入四个整数,通过+-*/运算,如果能得到24,输出y,否则输出n。以下是我设计的程序:&/span&
&span class=&cp&&#include&stdio.h&&/span&
&span class=&kt&&int&/span& &span class=&nf&&main&/span&&span class=&p&&()&/span&
&span class=&p&&{&/span&
&span class=&kt&&double&/span& &span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&],&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&],&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&];&/span&
&span class=&kt&&double&/span& &span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&],&/span&&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&],&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&];&/span&
&span class=&kt&&int&/span& &span class=&n&&i&/span&&span class=&p&&,&/span&&span class=&n&&j&/span&&span class=&p&&,&/span&&span class=&n&&k&/span&&span class=&p&&,&/span&&span class=&n&&l&/span&&span class=&p&&,&/span&&span class=&n&&r1&/span&&span class=&p&&,&/span&&span class=&n&&r2&/span&&span class=&p&&;&/span&
&span class=&kt&&int&/span& &span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&
&span class=&n&&scanf&/span&&span class=&p&&(&/span&&span class=&s&&&%lf%lf%lf%lf&&/span&&span class=&p&&,&/span&&span class=&o&&&&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&],&/span&&span class=&o&&&&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&],&/span&&span class=&o&&&&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&],&/span&&span class=&o&&&&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]);&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&i&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&i&/span&&span class=&o&&&&/span&&span class=&mi&&4&/span&&span class=&p&&;&/span&&span class=&n&&i&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&j&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&j&/span&&span class=&o&&&&/span&&span class=&mi&&4&/span&&span class=&p&&;&/span&&span class=&n&&j&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&&span class=&o&&+&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&&span class=&o&&-&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&&span class=&o&&*&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&&span class=&o&&/&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&o&&-&/span&&span class=&n&&i&/span&&span class=&p&&];&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&o&&-&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&k&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&k&/span&&span class=&o&&&&/span&&span class=&mi&&4&/span&&span class=&p&&;&/span&&span class=&n&&k&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&n&&k&/span&&span class=&p&&];&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&r1&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&r1&/span&&span class=&o&&&&/span&&span class=&mi&&3&/span&&span class=&p&&;&/span&&span class=&n&&r1&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&r2&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&r2&/span&&span class=&o&&&&/span&&span class=&mi&&3&/span&&span class=&p&&;&/span&&span class=&n&&r2&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r1&/span&&span class=&p&&]&/span&&span class=&o&&+&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r2&/span&&span class=&p&&];&/span&
&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r1&/span&&span class=&p&&]&/span&&span class=&o&&-&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r2&/span&&span class=&p&&];&/span&
&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r1&/span&&span class=&p&&]&/span&&span class=&o&&*&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r2&/span&&span class=&p&&];&/span&
&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r1&/span&&span class=&p&&]&/span&&span class=&o&&/&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r2&/span&&span class=&p&&];&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&l&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&l&/span&&span class=&o&&&&/span&&span class=&mi&&4&/span&&span class=&p&&;&/span&&span class=&n&&l&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&n&&l&/span&&span class=&p&&];&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&o&&-&/span&&span class=&p&&(&/span&&span class=&n&&r1&/span&&span class=&o&&+&/span&&span class=&n&&r2&/span&&span class=&p&&)];&/span&
&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&+&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&];&/span&
&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&-&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&];&/span&
&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&*&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&];&/span&
&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&/&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&];&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&==&/span&&span class=&mi&&24&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&&span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&&span class=&k&&break&/span&&span class=&p&&;}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&==&/span&&span class=&mi&&24&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&&span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&&span class=&k&&break&/span&&span class=&p&&;}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&==&/span&&span class=&mi&&24&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&&span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&&span class=&k&&break&/span&&span class=&p&&;}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span&&span class=&o&&==&/span&&span class=&mi&&24&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&&span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&&span class=&k&&break&/span&&span class=&p&&;}&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&n&&printf&/span&&span class=&p&&(&/span&&span class=&s&&&y&/span&&span class=&se&&\n&/span&&span class=&s&&&&/span&&span class=&p&&);&/span&
&span class=&k&&else&/span& &span class=&n&&printf&/span&&span class=&p&&(&/span&&span class=&s&&&n&/span&&span class=&se&&\n&/span&&span class=&s&&&&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span&
&span class=&c1&&//思路是先从四个数中选择两个数进行任意一种运算,&/span&
&span class=&c1&&//得到三个数;再从三个数中任选两个数进行任意一种运算,&/span&
&span class=&c1&&//得到两个数;最后两个数进行任意运算,如果得到24,&/span&
&span class=&c1&&//就跳出循环。但结果不正确,&/span&
&span class=&c1&&//求教各位大神哪里出错了?本人新生,红皮书刚看到数组。&/span&
&/code&&/pre&&/div&
//要求输入四个整数,通过+-*/运算,如果能得到24,输出y,否则输出n。以下是我设计的程序:
#include&stdio.h&
int main()
double num1[4],num2[3],num3[2];
double q[4],w[4],e[4];
int i,j,k,l,r1,r2;
scanf("%lf%lf%lf%lf",&num1[0],&num1[1],&num1[2],&num1[3]);
for(i=0;i&4;i++)
for(j=0;j&4;j++)
q[0]=num1[i]+num1[j];
q[1]=num1[i]-num1[j];
q[2]=num1[i]*num1[j];
q[3]=num1[i]/num1[j];
num2[1]=num1[3-i];num2[2]=num1[3-j];
for(k=0;k&4;k++)
num2[0]=q[k];
for(r1=0;r1&3;r1++)
for(r2=0;r2&3;r2++)
w[0]=num2[r1]+num2[r2];
w[1]=num2[r1]-num2[r2];
w[2]=num2[r1]*num2[r2];
w[3]=num2[r1]/num2[r2];
for(l=0;l&4;l++)
num3[0]=w[l];num3[1]=num2[3-(r1+r2)];
e[0]=num3[0]+num3[1];
e[1]=num3[0]-num3[1];
e[2]=num3[0]*num3[1];
e[3]=num3[0]/num3[1];
if(e[0]==24) {yn=1;}
if(e[1]==24) {yn=1;}
if(e[2]==24) {yn=1;}
if(e[3]==24) {yn=1;}
if(yn==1) printf("y\n");
else printf("n\n");
//思路是先从四个数中选择两个数进行任意一种运算,
//得到三个数;再从三个数中任选两个数进行任意一种运算,
//得到两个数;最后两个数进行任意运算,如果得到24,
//就跳出循环。但结果不正确,
//求教各位大神哪里出错了?本人新生,红皮书刚看到数组。…
两句和题目无关的话:我不是程序员,不过我知道做人教养很重要。先要学会就事论事,心平气和地讨论问题,不要张嘴三鹿,闭嘴傻逼,这是很不礼貌的。他人意见如果有问题完全可以指出,有不同意见也可以讨论,没有必要骂人。尤其在理工科分类的问题下,如果觉得题主水平太低,则能帮就帮,如果问题实在不值得回答,也可以选择不加理会,但是没有必要上来就开嘲讽,这是很没有素养的做法。人非生而知之者,闻道有先后,术业有专攻,如是而已。也许我并不是最适合说这个话的人,我的脾气也并不好,在知乎和人撕逼也是常有的事(当然我基本可以保证我不是挑衅者)。但正是因为我长期和人撕逼的经历,使我真诚地希望能够维持知乎和平理性的气氛,这是一个能够健康发展的community应有的气氛,也是做学术起码的要求。Be nice, be respectful.BTW,政治宗教问题撕起来我可以理解,毕竟主观性太强,纯属信仰问题。但是像写程序或者自然科学这样的领域也能撕出个人恩怨,戾气就着实重了一些。相关链接:----------------------------------------------既然这个答案被顶到了高票位置上,那就还是讲点对题主有帮助的东西吧。我扫了一眼,觉得这段代码至少有如下问题,供题主参考:1,double变量的计算是不精确的,不好和整形的24直接进行比较,所以类似==24这样的判断应修改成 abs( e[0] - 24 ) & 1e-6 更为合适。个人觉得这是一个普遍原则,不管实际精度有没有问题,应该尽量遵守。2,第17行,num2[1]=num1[3-i];num2[2]=num1[3-j]; // 这段有问题,题主可以考虑一下在i==1, j==2时的情形下,是否符合你的意图?3,第32至35行,对于减法和除法这两种没有交换率的运算,缺少num3[1]-num3[0]和num3[1]/num3[0]两种情形。4,对于+和*这两种有交换率的运算,外层的几重循环(i/j循环和k/l循环)有重复搜索之嫌。补充说明:double的使用是一个问题,但不是最关键的问题,2和3这样算法flow上的问题要重要的多。其实写这种程序应该使用double,而不是integer,比如27/2 + 63/6这样的情形,用整形变量是搞不定的,所以用double并无问题,答主的问题出在“==”的写法上。从这个角度来讲,我个人认为那位答主的答案是错误的。最后给一点忠告给题主:学写程序,debug是个重要的过程,题主这样的问题最好还是自己独立解决,而不是上论坛来问。这样对你更有好处。-----------------------------------------暂未收到管理员私信,已做少量修改,请管理员明示本回答中哪些为不友善内容。
因为你的流程不对……&br&第一,你第一步应该是从四个数中选出两个&b&不同的&/b&数,但是你没有在程序里排除掉(i==j)的情况。&br&第二,你选出两个数之后,试图用num1[3-i]和num1[3-j]来得到剩下的两个数显然是不现实的。举个例子,如果你的i=1,j=2的话,你的3-i和3-j分别等于2和1……应该能看出来问题在哪吧。&br&至于后面几步差不多也是同理……一般来说,稍微把逻辑理一理再写代码比较好。&br&==============================================================&br&顺带一提,别信啥看到double就知道全错之类的话,如果你的二十四点里面输入数的范围只有1到13、运算只有加减乘除的话,双精度不会出现精度问题。
因为你的流程不对……第一,你第一步应该是从四个数中选出两个不同的数,但是你没有在程序里排除掉(i==j)的情况。第二,你选出两个数之后,试图用num1[3-i]和num1[3-j]来得到剩下的两个数显然是不现实的。举个例子,如果你的i=1,j=2的话,你的3-i和3-j分别…
看完上述答案,我想说一句,学c语言,哪本书开始真的很重要?最后还不是要靠自己多多练习,还有不要来知乎问这些问题,争论问题比解决问题的要多!
看完上述答案,我想说一句,学c语言,哪本书开始真的很重要?最后还不是要靠自己多多练习,还有不要来知乎问这些问题,争论问题比解决问题的要多!
已有帐号?
无法登录?
社交帐号登录
优秀回答者
大璞未完总是玉问题已关闭
代为完成的个人任务
提问需要满足:其他人可能遇到相似问题,或问题的解决方法对其他人有所助益。如果通过其他方式解决遇到困难,欢迎提问并说明你的求知过程。
大一新生初学C语言,设计24点游戏,请各位大神帮我看看哪里出错了?
&div class=&highlight&&&pre&&code class=&language-c&&&span class=&c1&&//要求输入四个整数,通过+-*/运算,如果能得到24,输出y,否则输出n。以下是我设计的程序:&/span&
&span class=&cp&&#include&stdio.h&&/span&
&span class=&kt&&int&/span& &span class=&nf&&main&/span&&span class=&p&&()&/span&
&span class=&p&&{&/span&
&span class=&kt&&double&/span& &span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&],&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&],&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&];&/span&
&span class=&kt&&double&/span& &span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&],&/span&&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&],&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&4&/span&&span class=&p&&];&/span&
&span class=&kt&&int&/span& &span class=&n&&i&/span&&span class=&p&&,&/span&&span class=&n&&j&/span&&span class=&p&&,&/span&&span class=&n&&k&/span&&span class=&p&&,&/span&&span class=&n&&l&/span&&span class=&p&&,&/span&&span class=&n&&r1&/span&&span class=&p&&,&/span&&span class=&n&&r2&/span&&span class=&p&&;&/span&
&span class=&kt&&int&/span& &span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&
&span class=&n&&scanf&/span&&span class=&p&&(&/span&&span class=&s&&&%lf%lf%lf%lf&&/span&&span class=&p&&,&/span&&span class=&o&&&&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&],&/span&&span class=&o&&&&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&],&/span&&span class=&o&&&&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&],&/span&&span class=&o&&&&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]);&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&i&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&i&/span&&span class=&o&&&&/span&&span class=&mi&&4&/span&&span class=&p&&;&/span&&span class=&n&&i&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&j&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&j&/span&&span class=&o&&&&/span&&span class=&mi&&4&/span&&span class=&p&&;&/span&&span class=&n&&j&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&&span class=&o&&+&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&&span class=&o&&-&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&&span class=&o&&*&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&&span class=&o&&/&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&o&&-&/span&&span class=&n&&i&/span&&span class=&p&&];&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num1&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&o&&-&/span&&span class=&n&&j&/span&&span class=&p&&];&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&k&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&k&/span&&span class=&o&&&&/span&&span class=&mi&&4&/span&&span class=&p&&;&/span&&span class=&n&&k&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&q&/span&&span class=&p&&[&/span&&span class=&n&&k&/span&&span class=&p&&];&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&r1&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&r1&/span&&span class=&o&&&&/span&&span class=&mi&&3&/span&&span class=&p&&;&/span&&span class=&n&&r1&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&r2&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&r2&/span&&span class=&o&&&&/span&&span class=&mi&&3&/span&&span class=&p&&;&/span&&span class=&n&&r2&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r1&/span&&span class=&p&&]&/span&&span class=&o&&+&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r2&/span&&span class=&p&&];&/span&
&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r1&/span&&span class=&p&&]&/span&&span class=&o&&-&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r2&/span&&span class=&p&&];&/span&
&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r1&/span&&span class=&p&&]&/span&&span class=&o&&*&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r2&/span&&span class=&p&&];&/span&
&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r1&/span&&span class=&p&&]&/span&&span class=&o&&/&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&n&&r2&/span&&span class=&p&&];&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&n&&l&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&;&/span&&span class=&n&&l&/span&&span class=&o&&&&/span&&span class=&mi&&4&/span&&span class=&p&&;&/span&&span class=&n&&l&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&w&/span&&span class=&p&&[&/span&&span class=&n&&l&/span&&span class=&p&&];&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num2&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&o&&-&/span&&span class=&p&&(&/span&&span class=&n&&r1&/span&&span class=&o&&+&/span&&span class=&n&&r2&/span&&span class=&p&&)];&/span&
&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&+&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&];&/span&
&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&-&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&];&/span&
&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&*&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&];&/span&
&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span&&span class=&o&&=&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&/&/span&&span class=&n&&num3&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&];&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&&span class=&o&&==&/span&&span class=&mi&&24&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&&span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&&span class=&k&&break&/span&&span class=&p&&;}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&&span class=&o&&==&/span&&span class=&mi&&24&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&&span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&&span class=&k&&break&/span&&span class=&p&&;}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span&&span class=&o&&==&/span&&span class=&mi&&24&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&&span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&&span class=&k&&break&/span&&span class=&p&&;}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&e&/span&&span class=&p&&[&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span&&span class=&o&&==&/span&&span class=&mi&&24&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&&span class=&n&&yn&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&&span class=&k&&break&/span&&span class=&p&&;}&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&k&&break&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&n&&yn&/span&&span class=&o&&==&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span& &span class=&n&&printf&/span&&span class=&p&&(&/span&&span class=&s&&&y&/span&&span class=&se&&\n&/span&&span class=&s&&&&/span&&span class=&p&&);&/span&
&span class=&k&&else&/span& &span class=&n&&printf&/span&&span class=&p&&(&/span&&span class=&s&&&n&/span&&span class=&se&&\n&/span&&span class=&s&&&&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span&
&span class=&c1&&//思路是先从四个数中选择两个数进行任意一种运算,&/span&
&span class=&c1&&//得到三个数;再从三个数中任选两个数进行任意一种运算,&/span&
&span class=&c1&&//得到两个数;最后两个数进行任意运算,如果得到24,&/span&
&span class=&c1&&//就跳出循环。但结果不正确,&/span&
&span class=&c1&&//求教各位大神哪里出错了?本人新生,红皮书刚看到数组。&/span&
&/code&&/pre&&/div&
//要求输入四个整数,通过+-*/运算,如果能得到24,输出y,否则输出n。以下是我设计的程序:
#include&stdio.h&
int main()
double num1[4],num2[3],num3[2];
double q[4],w[4],e[4];
int i,j,k,l,r1,r2;
scanf("%lf%lf%lf%lf",&num1[0],&num1[1],&num1[2],&num1[3]);
for(i=0;i&4;i++)
for(j=0;j&4;j++)
q[0]=num1[i]+num1[j];
q[1]=num1[i]-num1[j];
q[2]=num1[i]*num1[j];
q[3]=num1[i]/num1[j];
num2[1]=num1[3-i];num2[2]=num1[3-j];
for(k=0;k&4;k++)
num2[0]=q[k];
for(r1=0;r1&3;r1++)
for(r2=0;r2&3;r2++)
w[0]=num2[r1]+num2[r2];
w[1]=num2[r1]-num2[r2];
w[2]=num2[r1]*num2[r2];
w[3]=num2[r1]/num2[r2];
for(l=0;l&4;l++)
num3[0]=w[l];num3[1]=num2[3-(r1+r2)];
e[0]=num3[0]+num3[1];
e[1]=num3[0]-num3[1];
e[2]=num3[0]*num3[1];
e[3]=num3[0]/num3[1];
if(e[0]==24) {yn=1;}
if(e[1]==24) {yn=1;}
if(e[2]==24) {yn=1;}
if(e[3]==24) {yn=1;}
if(yn==1) printf("y\n");
else printf("n\n");
//思路是先从四个数中选择两个数进行任意一种运算,
//得到三个数;再从三个数中任选两个数进行任意一种运算,
//得到两个数;最后两个数进行任意运算,如果得到24,
//就跳出循环。但结果不正确,
//求教各位大神哪里出错了?本人新生,红皮书刚看到数组。…
按时间排序
两句和题目无关的话:我不是程序员,不过我知道做人教养很重要。先要学会就事论事,心平气和地讨论问题,不要张嘴三鹿,闭嘴傻逼,这是很不礼貌的。他人意见如果有问题完全可以指出,有不同意见也可以讨论,没有必要骂人。尤其在理工科分类的问题下,如果觉得题主水平太低,则能帮就帮,如果问题实在不值得回答,也可以选择不加理会,但是没有必要上来就开嘲讽,这是很没有素养的做法。人非生而知之者,闻道有先后,术业有专攻,如是而已。也许我并不是最适合说这个话的人,我的脾气也并不好,在知乎和人撕逼也是常有的事(当然我基本可以保证我不是挑衅者)。但正是因为我长期和人撕逼的经历,使我真诚地希望能够维持知乎和平理性的气氛,这是一个能够健康发展的community应有的气氛,也是做学术起码的要求。Be nice, be respectful.BTW,政治宗教问题撕起来我可以理解,毕竟主观性太强,纯属信仰问题。但是像写程序或者自然科学这样的领域也能撕出个人恩怨,戾气就着实重了一些。相关链接:----------------------------------------------既然这个答案被顶到了高票位置上,那就还是讲点对题主有帮助的东西吧。我扫了一眼,觉得这段代码至少有如下问题,供题主参考:1,double变量的计算是不精确的,不好和整形的24直接进行比较,所以类似==24这样的判断应修改成 abs( e[0] - 24 ) & 1e-6 更为合适。个人觉得这是一个普遍原则,不管实际精度有没有问题,应该尽量遵守。2,第17行,num2[1]=num1[3-i];num2[2]=num1[3-j]; // 这段有问题,题主可以考虑一下在i==1, j==2时的情形下,是否符合你的意图?3,第32至35行,对于减法和除法这两种没有交换率的运算,缺少num3[1]-num3[0]和num3[1]/num3[0]两种情形。4,对于+和*这两种有交换率的运算,外层的几重循环(i/j循环和k/l循环)有重复搜索之嫌。补充说明:double的使用是一个问题,但不是最关键的问题,2和3这样算法flow上的问题要重要的多。其实写这种程序应该使用double,而不是integer,比如27/2 + 63/6这样的情形,用整形变量是搞不定的,所以用double并无问题,答主的问题出在“==”的写法上。从这个角度来讲,我个人认为那位答主的答案是错误的。最后给一点忠告给题主:学写程序,debug是个重要的过程,题主这样的问题最好还是自己独立解决,而不是上论坛来问。这样对你更有好处。-----------------------------------------暂未收到管理员私信,已做少量修改,请管理员明示本回答中哪些为不友善内容。
看完上述答案,我想说一句,学c语言,哪本书开始真的很重要?最后还不是要靠自己多多练习,还有不要来知乎问这些问题,争论问题比解决问题的要多!
因为你的流程不对……第一,你第一步应该是从四个数中选出两个不同的数,但是你没有在程序里排除掉(i==j)的情况。第二,你选出两个数之后,试图用num1[3-i]和num1[3-j]来得到剩下的两个数显然是不现实的。举个例子,如果你的i=1,j=2的话,你的3-i和3-j分别等于2和1……应该能看出来问题在哪吧。至于后面几步差不多也是同理……一般来说,稍微把逻辑理一理再写代码比较好。==============================================================顺带一提,别信啥看到double就知道全错之类的话,如果你的二十四点里面输入数的范围只有1到13、运算只有加减乘除的话,双精度不会出现精度问题。
一眼看到double,立刻就可以得出结论,全错。==========================================一不小心又看到了这句本人新生,红皮书刚看到数组。原来是看“红皮书”的,拉倒吧!知乎C版成天需要给老谭拉的狗屎洗屁股!
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多关于 大一c语言复习资料 的文章

更多推荐

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

点击添加站长微信