#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
void main()
{
int A[10],B[10],i,m,n,T,a[10],b[10],c[10];
char C;
srand((unsigned)time(NULL));
n=0;T=0;
for(i = 0;i<10;i++)
{
//産生随機符号
m = rand()%4;
if(m == 0)
C = '+';
else if(m == 1)
C = '-';
else if(m == 2)
C = '*';
else if(m == 3)
C = '/';
A[i] = rand()%100;
B[i] = rand()%100;
//輸出題目
if(C == '+')
{cout<<A[i]<<"+"<<B[i]<<"=?"<<endl;a[i] = A[i]+B[i];}
else if(C == '-')
{cout<<A[i]<<"-"<<B[i]<<"=?"<<endl;a[i] = A[i]-B[i];}
else if(C == '*')
{cout<<A[i]<<"*"<<B[i]<<"=?"<<endl;a[i] = A[i]*B[i];}
else if(C == '/')
{cout<<A[i]<<"/"<<B[i]<<"=?"<<endl;a[i] = A[i]/B[i];}
}
//輸出結果
cout<<"結果為:";
for(i=0;i<10;i++)
{
cin>>b[i];
if(a[i] == b[i])
n++;
else
{
c[T] = i;
T++;
}
}
if(n==9)
cout<<"恭喜你都答對了!"<<endl;
else
{
cout<<"第";
for(i=0;i<T;i++)
cout<<c[i]+1<<"題錯了!"<<endl;
}
}

看題以後無從下手啊,然後就上網去查找,然後由網上改編而來了這上面的代碼,感覺題是可以出來,但是題出來了輸入結果以後就沒有然後了,不知道哪裡出現錯誤了,改不對。這C++代碼看的頭疼,以前看老師打代碼容易的,可是自己動起手來卻感覺那麼難,一切都要練啊。而且C語言學過去挺久了都有些記不住了。是以啊,C語言一定要多用多練才能學的好,沒有别的捷徑,學、記、練。後來又在部落格園找到一位博友的一篇C語言,感覺她寫的非常好,對我幫助挺大的。其實經常逛逛部落格園也是挺好的。我把她的代碼粘貼下來吧:
#include<stdio.h>
#include<stdlib.h>
void main()
{
int b=0,c,d=0,e,f;
int x,right=0,wrong=0;
while(1)
{
x=rand()%4;
c=rand()%100;
e=rand()%100;
switch(x)
{
case 0:
printf("%d + %d =",c,e);
break;
case 1:
printf("%d - %d =",c,e);
break;
case 2:
printf("%d * %d =",c,e);
break;
case 3:
printf("%d ÷ %d =",c,e);
break;
}
scanf("%d",&f);
switch(x)
{
case 0:
if(f==c+e)
{
printf("計算正确!\n");right++;
}
else
{
printf("計算錯誤!\n");wrong++;
}
break;
case 1:
if(f==c-e)
{
printf("計算正确!\n");right++;
}
else
{
printf("計算錯誤!\n");wrong++;
}
break;
case 2:
if(f==c*e)
{
printf("計算正确!\n");right++;
}
else
{
printf("計算錯誤!\n");wrong++;
}
break;
case 3:
if(f==c/e)
{
printf("計算正确!\n");right++;
}
else
{
printf("計算錯誤!\n");wrong++;
}
break;
}
printf("按任意鍵繼續,q則退出!\n");
// scanf("%d",&quit);
// if(quit==0)
fflush(stdin);
if(getchar()=='q')
break;
}
printf("共答對%d道題,共答錯%d道題\n",right,wrong);
}
此程式出自:http://www.cnblogs.com/ZeJuan/p/4366763.html 大家覺得好的也可以看看