1.24ç¹è®¡ç®å¨
2.怎么用易语言制作答题器
3.求助一个c语言问题?
24ç¹è®¡ç®å¨
ä½ å¥½
ä¸é¢çå°ç¨åºæä¸äºç¬¨ï¼è¯æ³å¾ç®åï¼
å®æ æ³å辨ä¸äºéå¤çæ åµ
ä½ç»æè¿æ¯åºæ¬æ£ç¡®ç
#include<iostream>
using namespace std;
int main(){
int i1,i2,i3,i4,v,n1,n2;
int num=0;
int a,b;
double t1,t2,t3,t4,choice[4],s1[4],s2[4][4],s3[2],t;
for(;;){
cout<<"########################## äºååç¹ ###################################\nåæ æ示ï¼A=1,J=,Q=,K=\n";
cout<<"请ç»åºä½ æ½å°ç第ä¸çï¼";
cin>>choice[0];
cout<<"请ç»åºä½ æ½å°ç第äºçï¼";
cin>>choice[1];
cout<<"请ç»åºä½ æ½å°ç第ä¸çï¼";
cin>>choice[2];
cout<<"请ç»åºä½ æ½å°ç第åçï¼";
cin>>choice[3];
cout<<"########################## THINKING ###################################\n";
for(b=0;b<=2;b++)
for(a=3;a>=1+b;a--)if(choice[a]<choice[a-1]){
t=choice[a-1];
choice[a-1]=choice[a];
choice[a]=t;}
for(int j=0;j<4;j++)cout<<j+1<<". "<<choice[j]<<" ";
cout<<"\n";
for(i1=0;i1<4;i1++){
t1=choice[i1];
for(i2=0;i2<4;i2++){ if((i1-1)!=0 && t1==choice[i1-1])break;
if(i2!=i1){
t2=choice[i2];
s1[0]=t1+t2;
s1[1]=t1-t2;
s1[2]=t1*t2;
s1[3]=t1/t2;
for(i3=0;i3<4;i3++){
if(i3!=i1&&i3!=i2){
t3=choice[i3];
for(v=0;v<4;v++)
{ s2[v][0]=s1[v]+t3;
s2[v][1]=s1[v]-t3;
s2[v][2]=s1[v]*t3;
s2[v][3]=s1[v]/t3;}
for(i4=0;i4<4;i4++){
if(i4!=i1&&i4!=i2&&i4!=i3){
t4=choice[i4];
for(n1=0;n1<4;n1++)for(n2=0;n2<4;n2++)
if(s2[n1][n2]+t4==||s2[n1][n2]-t4==||s2[n1][n2]*t4==||s2[n1][n2]/t4==){
cout<<"æ¾å°ä¸ç§ç»åæ¹æ¡ï¼\n(("<<t1;
if(s1[n1]==t1+t2)cout<<" + ";
if(s1[n1]==t1-t2)cout<<" - ";
if(s1[n1]==t1*t2)cout<<" * ";
if(s1[n1]==t1/t2)cout<<" / ";
if(n2==0)cout<<t2<<") + "<<t3;
if(n2==1)cout<<t2<<") - "<<t3;
if(n2==2)cout<<t2<<") * "<<t3;
if(n2==3)cout<<t2<<") / "<<t3;
if(s2[n1][n2]+t4==)cout<<") + "<<t4<<" = \n";
if(s2[n1][n2]-t4==)cout<<") - "<<t4<<" = \n";
if(s2[n1][n2]*t4==)cout<<") * "<<t4<<" = \n";
if(s2[n1][n2]/t4==)cout<<") / "<<t4<<" = \n";
num++;
}
}}}
}}}}
for(i1=0;i1<4;i1++){
t1=choice[i1];
for(i2=0;i2<4;i2++){
if(i2!=i1){
t2=choice[i2];
s1[0]=t1*t2;
s1[1]=t1/t2;
for(i3=0;i3<4;i3++){
if(i3!=i1&&i3!=i2){
t3=choice[i3];
for(i4=0;i4<4;i4++){
if(i4!=i1&&i4!=i2&&i4!=i3){
t4=choice[i4];
s3[0]=t3*t4;
s3[1]=t3/t4;
for(n1=0;n1<2;n1++)for(n2=0;n2<2;n2++)
if(s1[n1]+s3[n2]==||s1[n1]-s3[n2]==){
cout<<"æ¾å°ä¸ç§ç»åæ¹æ¡ï¼\n("<<t1;
if(s1[n1]==t1*t2)cout<<" * ";
if(s1[n1]==t1/t2)cout<<" / ";
if(s1[n1]+s3[n2]==)cout<<t2<<") + ("<<t3;
if(s1[n1]-s3[n2]==)cout<<t2<<") - ("<<t3;
if(s3[n2]==t3*t4)cout<<" * "<<t4<<") = \n";
if(s3[n2]==t3/t4)cout<<" / "<<t4<<") = \n";
num++;
}
}}}
}}}}
cout<<"æ»å ±æ"<<num<<"ç§è§£æ³ã\n";
if(num==0)cout<<"è¿åå¼ çæ æ³ææç¹~~~\n";
num=0;
}
return 0;
}
怎么用易语言制作答题器
需要数据库。存放题目和答案以及错误答案。源码源码 其他的出题程序出题程序都好写了。 ------------------------------源码 .版本 2 .程序集 窗口程序集1 .程序集变量 单选框,源码源码酷游戏源码 单选框, , "4" .程序集变量 正确答案, 文本型, , , 记录正确答案 .子程序 _按钮答题_被单击, , , 判断问题以及清空 .局部变量 x, 整数型 .局部变量 答案, 文本型 .局部变量 记录正确数量, 整数型 .如果真 (单选框 [1].选中 ≠ 真 且 单选框 [2].选中 ≠ 真 且 单选框 [3].选中 ≠ 真 且 单选框 [4].选中 ≠ 真) 信息框 (“请先选择答案”, 0, ) 返回 () .如果真结束 .计次循环首 (4, x) .如果真 (单选框 [x].选中) 答案 = 单选框 [x].标题 跳出循环 () .如果真结束 .计次循环尾 () ' 这里也需要读数据库里的当前题目的答案,用来判断与选择框里的出题程序出题程序答案是否相符, .如果 (正确答案 = 答案) 记录正确数量 = 记录正确数量 + 1 标签2.标题 = “你一共答对” + 到文本 (记录正确数量) + “道题!源码源码” .否则 信息框 (“你答错了,出题程序出题程序要努力哦!源码源码”,出题程序出题程序 0, ) .如果结束 ' 不管对与错,都要继续出题。源码源码 .计次循环首 (4,出题程序出题程序aspmysql源码 x) 单选框 [x].选中 = 假 .计次循环尾 () 出题 () .子程序 __启动窗口_创建完毕 单选框 [1] = 单选框1 单选框 [2] = 单选框2 单选框 [3] = 单选框3 单选框 [4] = 单选框4 置随机数种子 () ' 窗口创建完毕,给予单选框赋值数组,源码源码方便后面调用。出题程序出题程序 .子程序 _按钮开始_被单击,源码源码 , , 出题 出题 () ' 现在运行是会出错的,因为数据库没有打开。出题程序出题程序 .子程序 出题 .局部变量 a,大王源码 整数型, , , 记录随机数 .局部变量 x, 整数型 .局部变量 n, 整数型 ' 这里要读写数据库里的内容了。比如我数据库里有条题目。我每次都是随机出的题目! a = 取随机数 (1, ) 跳到 (a) 标签1.标题 = 读 (“题目”) ' 这里弄一个程序集的变量,正确答案,要调用的SNGAN源码 。 正确答案 = 读 (“答案”) x = 取随机数 (1, 4) 单选框 [x].标题 = 正确答案 .如果真 (x = 1) .计次循环首 (3, n) a = 取随机数 (1, ) 跳到 (a) 单选框 [n + 1].标题 = 读 (“答案”) .计次循环尾 () .如果真结束 .如果真 (x = 2) a = 取随机数 (1, ) 跳到 (a) 单选框 [1].标题 = 读 (“答案”) .计次循环首 (2, n) a = 取随机数 (1, ) 跳到 (a) 单选框 [n + 2].标题 = 读 (“答案”) .计次循环尾 () .如果真结束 .如果真 (x = 3) .计次循环首 (2, n) a = 取随机数 (1, ) 跳到 (a) 单选框 [n].标题 = 读 (“答案”) .计次循环尾 () a = 取随机数 (1, ) 跳到 (a) 单选框 [4].标题 = 读 (“答案”) .如果真结束 .如果真 (x = 4) .计次循环首 (3, n) a = 取随机数 (1, ) 跳到 (a) 单选框 [n].标题 = 读 (“答案”) .计次循环尾 () .如果真结束 ' 这样写不完美, 会有可能出现重复的答案。其实直接也可以用一个大的循环全部循环、
求助一个c语言问题?
解题
argc是命令行参数的数目
( FILEL CHINA BEIJING SHANGHAI
运行输出
CHINABEIJINGSHANGHAI)
argv是参数字符串的数组
故*argv是一个字符串,也是tgbus源码argv[0]
++argv会使它指向下一个字符串
argv[]={ "FILEL","CHINA","BEIJING","SHANGHAI"};//题目中argv的初始值可以看成是
e.g.
所以排除单个字符的选项C D
然后看选项A B
问题焦点在"CHINA" 就是 argv[1],或者说第一次++argv后的*argv是否会被输出(显然这是会的),故选A
源代码(不使用其它编译选项的)是
#include<stdio.h>
int main(int argc, char *argv[]){
while(argc-->0){
++argv;printf("%s",*argv);}
return 0;
}
说一下心得
首先面对这种问题不要慌张,哪怕程序完整地输入进电脑也编译不出来;为什么,编译选项(以下省略一堆文字说明),出题老师极有可能编译的方式和你不一样(而使用编译选项也是开源项目里常见的状况);看一下gcc --help,它有多少行,就有多少种编译方法,其中有一个选项可以用于指定被include进编译过程的库(故可以不在源代码里include)
其次是代码的印刷质量问题,这在并非知名的出版物上十分明显,字间距的变化不一很可能会误导你对空格的判断,所以在代码的空格有歧义的地方,一定不要放弃调试,或者就当它在空格的问题上没有错误)
代码质量就不要问了,代码这个东西,应该出现在纸上,还是在电脑上,哪个更有质量,应该就不用问了(搞代码的也是要有点能调试出错误的感觉)