給定一句英語,要求你編寫程序,將句中全部單詞的順序顛倒輸出。算法
char a; 每一個單詞長度word=0 gets(a); 句子長度len=strlen(a) for(i=len-1;i>=0;i--) { if(a[i]!=空格)word++ else if(word!=0) { for(i+1<=j<=i+word) printf(a[j]) word初始爲0 } end for } end for for循環結束後,以輸入空格爲參照,開始時未輸入空格,再單獨輸出第一個單詞 for(j=0;j<word;j++) printf(a[j]); end for
構造字符數組存放算術表達式:數組
無論哪一個級別的算式,請都生成一個字符數組存放函數
CreateExp(char *exp,int level) 傳入算式與選擇的難度 定義運算符:char op1,op2,op3(op2與op3做爲難度二三的運算符,op1爲難度一的) int i=rand()%4;控制隨機生成運算符 int a,b;做爲隨機數 switch(i) { case 0:op= case 1:op= case 2:op= case 3:op= }end switch switch(level) { case 1:生成一位數一步加減乘除運算,存入exp; case 2:生成兩位數兩步加減乘除運算,存入exp; case 3:生成三位數兩步加減乘除運算,存入exp; } end switch;學習
ComputeExp(char *exp)傳入運算式 定義m存放每一個數,sum求和. char c,oldc;c每次爲運算式每一個元素,oldc做爲運算符 int j=0; do { c=exp[j]; if( c<='9'&&c>='0' ) m = 10*m + c - '0'; else { oldc=+, sum+=m oldc=-, sum-=m oldc=*, sum*=m oldc=/, sum/=m } }while(c=='=') end do; return sum;
輸出正確、錯誤信息,並統計正確的題數,錯誤的題數: void correct() { 正確次數+1; switch(rand()%3) { case 0:printf("回答正確!good\n");break; case 1:printf("答案正確!!\n");break; case 2:printf("對了,good\n");break; } } end; void wrong(void) { 錯誤次數+1 printf("回答錯了啊!\n"); }