2016年上学期程序设计实训报告1

原创 2017年01月03日 12:37:00
问题:写一个程序,能够随机出若干道其结果在100以内的四则运算题。


代码:

#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int suan(int ,int ,int );
int pan(int ,int );
int main()
{
    int n,i;//分别代表想循环的次数以及控制循环
    int a,b,c,d;//分别代表两个运算数,正确的答案和学生给出的答案
    int y;//运算符,1-加,2-减,3-乘,4-除
    int t;//用来交换的中间量
    int z=1;//控制是否继续做题
    int x;//学生做对的题目数
    int s;
    while(z==1)
    {
        x=0;
        printf("你想做多少道题?\n");
        scanf("%d",&n);
        srand(time(0));//随机数
        for(i=0; i<n; i++)
        {
            printf("第%d题:\n",i+1);
            y=rand()%4+1;
            do
            {
                a=rand()%100+1;
                b=rand()%100+1;//将运算数控制在100以内
                if((b>a)&&(y==2||y==4))
                {
                    t=a;
                    a=b;
                    b=t;
                }
                if(y==4)
                    a=(a/b)*b;
            }
            while((a+b>=100)||(a*b>=100)); //保证结果不会超过100
            c=suan(a,b,y);
            scanf("%d",&d);
            s=pan(c,d);
            if(s==1)
                x++;
        }
        printf("您本次共答对%d道题,正确率是%c%.2f\n",x,'%',1.0*x/n*100);
        printf("您还想继续答题吗?\n");
        printf("1.在来几道试试\t2.不想学了要玩会\n");
        scanf("%d",&z);
    }
    printf("再见!");
    return 0;
}
/*************************************************************
功能描述:计算出正确的答案
输入参数:无
返 回 值:c-正确的答案
其他说明:无
/************************************************************/
int suan(int a,int b,int y)
{
    int c;//代表正确的答案
    if(y==1)
            {
                c=a+b;x=0;
                printf("%d+%d=\n",a,b);
            }
            else if(y==2)
            {
                c=a-b;
                printf("%d-%d=\n",a,b);
            }
            else if(y==3)
            {
                c=a*b;
                printf("%d*%d=\n",a,b);
            }
            else
            {
                c=a/b;
                printf("%d/%d=\n",a,b);
            }
            printf("请输入你的答案!\n");
            return c;
}
/*******************x=0;******************************************
功能描述:判断是否答对题目
输入参数:无
返 回 值:c-正确的答案
其他说明:无
/************************************************************/
int pan(int c,int d)
{
    int x=0;//控制最对的数目
    if(c==d)
            {
                printf("正确,请保持!\n");
                x=1;
            }
            else
            {
                printf("错误,别灰心!\n");
            }
            return x;
}


运行截图:


2016中国大学生程序设计竞赛(ccpc 长春)题解报告

2016中国大学生程序设计竞赛(ccpc 长春)题解报告
  • queuelovestack
  • queuelovestack
  • 2016年10月04日 17:42
  • 3573

2016 CCPC 中国大学生程序设计竞赛 合肥赛区 总结

今天是2016年10月19日… 比赛完了已经过了3天. 今天想起我的总结还没写..这次真的很有幸来到合肥赛区比赛 也感谢教练还是对我们的相信 我对合肥赛区并没有报太大的希望我感觉这次可能有3个...
  • zzz805
  • zzz805
  • 2016年10月19日 16:24
  • 2492

2016中国大学生程序设计竞赛(ccpc 杭州)题解报告

2016中国大学生程序设计竞赛(ccpc 杭州)题解报告
  • queuelovestack
  • queuelovestack
  • 2016年10月31日 22:04
  • 2549

2016年上学期程序设计实训报告3

问题:做一个简单的电子词典。在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇 量近8000个,英文与释义间用’\t’隔开。编程序,将文件中的内容读到两个数组e[]和c[]中,分别...
  • YanChunxiang
  • YanChunxiang
  • 2017年01月04日 17:35
  • 273

【中北大学2013年第一学期新生程序设计大赛 解题报告】

Problem A 小学问题(难) Problem B 一元三次方程求根(简单) Problem C Vigenère密码(简单) Problem D 昂贵的奖励(难) Problem...
  • buctears
  • buctears
  • 2013年12月02日 21:51
  • 1285

2016年乐山师范学院程序设计大赛解题报告

A:切割回文先计算出所有子串是否是回文串,这个步骤的时间复杂度应该是O(N*N),然后再进行动态规划,当前的最少切割是有前面的最少切割所推导出来的,总的最坏时间复杂度是O(N *N)。#include...
  • Yick_Liao
  • Yick_Liao
  • 2016年12月03日 00:37
  • 460

安徽科技学院2014-2015-1学期计算机14级12班《C语言程序设计I》期末考试

1274 Problem A 十字架 Time Limit:1000MS  Memory Limit:65536K Total Submit:5 Accepted:4 Descriptio...
  • jtahstu
  • jtahstu
  • 2015年01月15日 01:51
  • 32857

2016年湖南省第十二届大学生计算机程序设计竞赛 解题报告

2016年湖南省第十二届大学生计算机程序设计竞赛 解题报告 csu Problem A: 2016 Problem B:有向无环图 Problem C:Three Capitals Problem D...
  • no_name233
  • no_name233
  • 2016年09月07日 19:44
  • 1422

湘潭大学2017年下学期程序设计实践-模拟测试1 题解

XTU 1284 多项式http://202.197.224.59/exam/index.php/problem/exam_read/id/1284/exam_id/227思路:直接循环求解便可,注...
  • mMingfunnyTree
  • mMingfunnyTree
  • 2017年12月06日 21:01
  • 288

东大11秋学期《汇编语言程序设计》在线作业1

  • 2011年12月21日 18:02
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2016年上学期程序设计实训报告1
举报原因:
原因补充:

(最多只允许输入30个字)