还剩6页未读,继续阅读
文本内容:
LA、B、C、D、E五名学生有可能参加计算机竞赛,根据以下条件判断哪些人参加了竞赛[1A参加时,B也参加;〔2〕B和C只有一个人参加;3C和D或者都参加,或者都不参加;[4D和E中至少有一个人参加;5如果E参加,那么A和D也都参加00110c、d#includestdio.hint main{一一int a,b,c,d,e;/*0表示不参加,1表示参加.*/for a=0;a2;a++for b=0;b2;b++for c=0;c2;c++for d=0;d2;d++for e=0;e2;e++{ifa!b continue;ifbc||!b!c continue;ifc!d||!cd continue;if!d!e continue;if e!a||!d continue;printf〃%d%d%d%d%d〃,a,b,c,d,e;}return0;
2.某侦察队接到一项紧急任务,要求在A.B.C.D.E、F六个队员中尽可能多地挑假设干人,但有以下限制条件1A和B两人中至少去一人;2A和D不能一起去;3A.E和F三人中要派两人去;4B和C都去或都不去;5C和D两人中去一个;6假设D不去,那么E也不去试编写一个程序,输出问应当让哪几个人去?#includestdio.hint main{int a,b,c,d,e,f;for a=l;a=0;a--for b=l;b=0;b-/*l:去0:不去*/forc=l;c=0;c--ford=l;d=0;d--for e=l;e=0;e--forf=l;f=0;f—{ifa+b=la+d!=2a+e+f==2b==cc+d==ld+e==0|d==lprintf/za=%d,b=%d,c=%d,d=%d,e=%d,f=%d〃,a,b,c,d,e,f;return0;
3.警察局抓住了四名盗窃嫌疑犯,其中只有一人是小偷在审问时,A说“我不是小偷〃;B说“C是小偷〃;C说“小偷肯定是D〃;D说“C在冤枉好人〃现在已经知道这四人中有三人说的是真话,一人说的是假话请问到底谁是小偷?提示设4个变量a,b,c,d,为时表示不是小偷,为1时表示是小偷,用四重循环穷举a,b,c,d可能的取值的组合,对每一种组合判断其是否符合题目中给出的约束最后结论C是小偷#includestdio.h int main inta,b,c,d;fora=l;a=0;a--for b=l;b=0;b—/*1:是小偷0:不是小偷*/for c=l;c=0;c--for d=l;d=O;d--if a==0+c==l+d==l+d=0=3a+b+c+d=l/*4人的说法中有3个真的,且只有一个小偷*/printf〃%d%d%d%d〃,a,d,c,d;return0;
4、有限五位数个位数为6且能被3整除的五位数有多少个#includestdio.h intmain longint i;int sum=0;fori=1000;i=9999;i++sum++;printf(〃%d〃,sum);return0;
5、标题错误票据某涉密单位下发了某种票据,并要在年终全部收回每张票据有唯一的ID号全年所有票据的ID号是连续的,但ID的开场数码是随机选定的因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号你的任务是通过编程,找出断号的ID和重号的ID假设断号不可能发生在最大和最小号要求程序首先输入一个整数NN100表示后面数据行数接着读入N行数据每行数据长度不等,是用空格分开的假设干个〔不大于100个正整数〔不大于100000每个整数代表一个ID号要求程序输出1行,含两个整数mn,用空格分隔其中,m表示断号ID,表示重号ID56811910129那么程序输出79再例如用户输入:6155164178108109180141159104182179118137184115124125129107168196172189127112192103131133169158157128102110148139140195197173191145116151143175120161134185152135106123122136174146162190149138156153193144166170121171132142199126165101187188113130176154177120117150114183186181100163160167194198111119147例如用户输入2那么程序输出105120资源约定峰值内存消耗64MCPU消耗1000ms请严格按要求输出,不要画蛇添足地打印类似“请您输入.〃的多余内容・・所有代码放在同一个源文件中,调试通过后,拷贝提交该源码注意main函数需要返回0注意只使用ANSI C/ANSI C++标准,不要调用依赖于编译环境或操作系统的特殊函数注意所有依赖的函数必须明确地在源文件中#include xxx,不能通过工程设置而省略常用头文件提交时,注意选择所期望的编译器类型ftinclude stdio.hint a
[100001];intmain{int n,t;scanf〃%d〃,n;int min=100001;int max=0;int i;fori=0;i=n;{t=getchar;ift=Ot9{/*注意是字符!*/ungetct,stdin;/*ungetc是一个函数功能,把一个字符退回到输入流中用法int ungetcchar c,FILE/stream;输入参数c要写入的字符,stream文件流指针输出参数字符c操作成功,EOF操作失败*/scanft;a[t]++;/*在读入时保存下id号的最大值与最小值,这样可以为后面判断那个id遗漏即a[i那=0哪个id重复即a[i那=2提供一个范围控制*/if tminmin=t;}if tmax{max=t;else ift二二\n{i++;}fori=min;imax+1;i++if a[i]==0{printf,z%d〃,i;printf(级d\n〃,i);return0;}
6、标题马虎的算式小明是个急性子,上小学的时候经常把教师写在黑板上的题目抄错了有一次,教师出的题目是36x495=他却给抄成了396x45=但结果却很戏剧性,他的答案竟然是对的!!因为36*495=396*45=1782类似这样的巧合情况可能还有很多,比方27*594=297*54假设a bc de代表19不同的5个数字〔注意是各不一样的数字,且不含0〜能满足形如ab*cde=adb*ce这样的算式一共有多少种呢?请你利用计算机的优势寻找所有的可能,并答复不同算式的种类数满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数答案直接通过浏览器提交注意只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容#includestdio.hint mainintn,m,i=0;for inta=l;a10;a++forint b=l;b10;b++{for intc=l;c10;c++for intd=l;d10;d++for inte=l;e10;e++n=a*10+b*c*100+d*10+e;m=a*100+d*10+b*c*10+e;if n==ma!=ba!=ca!=da!=eb!=cb!=db!=ec!=dc!=ed!=e)i++;printf(〃%d〃,i);return0;}
7、标题切面条一根高筋拉面,中间切一刀,可以得到2根面条如果先对折1次,中间切一刀,可以得到3根面条如果连续对折2次,中间切一刀,可以得到5根面条那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案不要填写任何多余的内容/*切面条*/#includestdio.hmain{int i,num=2;printf〃n次条数\n〃;fori=l;i=10;i++num=num*2-l;printf/z%2d%8d\n/z,i,num;getch;return0;
8、标题奇怪的分式上小学的时候,小明经常自己创造新算法一次,教师出的题目是1/4乘以8/5小明居然把分子拼接在一起,分母拼接在一起,答案是18/45参见图
1.png教师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是「9中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数〔包括题中举例的显然,交换分子分母后,例如4/1乘以5/8是满足要求的,这算做不同的算式但对于分子分母一样的情况,2/2乘以3/3这样的类型太多了,不在计数之列!注意答案是个整数〔考虑对称性,肯定是偶数请通过浏览器提交不要书写多余的内容ftinclude stdio.hint main{int sum=0;for inta=1;a=9;a++{for intb=1;b=9;b++for intc=1;c=9;c++for intd=1;d=9;d++{if a==bc==dcontinue;int na=a*10+c,nb=b*10+d;if a*1・0/b*c*L0/d=na*
1.0/nb-
0.000001a*
1.0/b*c*
1.0/d=na*
1.0/nb+
0.000001printf/z%d/%d*%d/%d=%d/%d\n〃,a,b,c,d,na,nb;sum++;printfsum二%d〃,sum;return0;。
个人认证
优秀文档
获得点赞 0