码迷,mamicode.com
首页 > 其他好文 > 详细

实验二

时间:2015-04-08 14:41:32      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#include<time.h>
#include<stdlib.h>
int count=0;
void Ti(int n,int a[]);
int main()
{
    int n;
    int a[100];
    printf("请输入题目的个数:");
    scanf("%d",&n);
    Ti(n,a);
    printf("\n回答正确的个数为:%d\n错误的个数为:%d\n",count,n-count);
    return 0;
}
void Ti(int n,int a[])
{
    int l;
    int p;
    int i,j,h,hh,k,g;
    int f;
    int b[100];
    float x,y,c[100],d[100];
    for(p=0;p<n;p++)
    {
        srand(time(NULL));
        i=(int)rand()%10;
        j=(int)rand()%10;
        h=(int)rand()%10;
        hh=(int)rand()%10;
        g=(int)rand()%3;
        f=((int)rand()%100)-100;
        k=(int)rand()%6;
        switch(k)
        {
        case 0:
            printf("%d+%d=\n",i,j);
            printf("请作答:");
            scanf("%d",&b[p]);
            a[p]=i+j;
            if(a[p]==b[p])
            {
                printf("回答正确!\n");
                count++;
            }
            else
            {
                printf("回答错误!\n");
                printf("正确答案为:%d\n",a[p]);
            }
            break;
        case 1:
            printf("%d-%d=\n",i,j);
            printf("请作答:");
            scanf("%d",&b[p]);
            a[p]=i-j;
            if(a[p]==b[p])
            {
                printf("回答正确!\n");
                count++;
            }
            else
            {
                printf("回答错误!\n");
                printf("正确答案为:%d\n",a[p]);
            }
            break;
        case 2:
            printf("%d*%d=\n",i,j);
            printf("请作答:");
            scanf("%d",&b[p]);
            a[p]=i*j;    
            if(a[p]==b[p])
            {
                printf("回答正确!\n");
                count++;
            }
            else
            {
                printf("回答错误!\n");
                printf("正确答案为:%d\n",a[p]);
            }
            break;
        case 3:
            if(j==0)
            {
                p--;
                break;
            }
            else{
                x=(float)i;
                y=(float)j;
                printf("%d/%d=\n",i,j);
                printf("请作答:");
                scanf("%f",&d[p]);
                c[p]=x/y;
                if(c[p]==d[p])
                {
                    printf("回答正确!\n");
                    count++;
                }
                else
                {
                    printf("回答错误!\n");
                    printf("正确答案为:%.2f\n",c[p]);
                }
                break;
            }
        case 4:
            printf("%d!=\n",i);
            printf("请作答:");
            scanf("%d",&b[p]);
            if(i==0)
                a[p]=1;
            else
            {
                a[p]=1;
                for(l=1;l<=i;l++)
                    a[p]=a[p]*l;
            }
            if(a[p]==b[p])
            {
                printf("回答正确!\n");
                count++;
            }
            else
            {
                printf("回答错误!\n");
                printf("正确答案为:%d\n",a[p]);
            }
            break;
        case 5:
            if(j==0)
            {
                p--;
                break;
            }
            else
            {
                x=(float)i;
                y=(float)j;
                   switch(g){
                case 0:
                    printf("(%d/%d+%d)*%d=\n",i,j,h,hh);
                    printf("请作答:");
                    scanf("%f",&d[p]);
                    c[p]=(x/y+h)*hh;
                    break;
                case 1:
                    printf("(%d+%d*%d)=\n",h,i,j);
                    printf("请作答:");
                    scanf("%f",&d[p]);
                    c[p]=h+x*y;
                    break;
                case 2:
                    printf("%d*(%d)=\n",i,f);
                    printf("请作答:");
                    scanf("%f",&d[p]);
                    c[p]=x*(f);
                    break;
                }
                if(c[p]==d[p])
                {
                    printf("回答正确!\n");
                    count++;
                }
                else
                {
                    printf("回答错误!\n");
                    printf("正确答案为:%.2f\n",c[p]);
                }
                break;
            }
        }        
    }
}
技术分享
技术分享
技术分享

本程序在VC++6.0开发环境下调试的。
  1. 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数,如:(1/3+1)*2 = 2.67,特别注意:这里是2.67而非2.66,或保持分数形式:8/3。
  2. 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8。
  3. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数。
  4. 程序可以出单个整数阶乘的题目:如:4!=24。
结对同伴的学号姓名:叶鹏   博客地址:http://www.cnblogs.com/yeyepengpeng/ 
我做了:完成程序基本功能与1和4功能,负责敲打代码,测试和修改。
同伴做了:上述2和3的功能,搜集查阅资料,负责指正修改程序,提出修改和改进方案。
总结:通过这次实验使我复习了以前我学到的知识,并且使我更加掌握以前的知识。实验中我感觉到两个人一起结对做程序是一种快乐,同时也弥补了我一个人独自写程序的那种粗心大意,同伴的提醒使我更加的细心与谨慎,通过实验我更加的明白团队的重要性,不仅能提高我的个人能力,同时也能使他人也得到能力的提升。

 

实验二

标签:

原文地址:http://www.cnblogs.com/chenqiuliang/p/4402117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!