C语言第三周作业---单层循环

一、PTA实验作业

题目1

1.实验代码

int N = 0,i;
    char sex;
    float a[9], height;
    scanf("%d\n", &N);
    for (i = 0; i<N; i++) {
        scanf("%c", &sex);
        scanf("%f", &height);
        getchar();
        if (sex == 'M') {
            a[i] = height / 1.09;
        }
        else 
            a[i] = height*1.09;
    }
    
    for (i = 0; i < N; i++)
        printf("%.2f\n", a[i]);

2.设计思路

  • 第一步:定义两个整形变量N,i,一个字符型变量char,一个浮点型数组a[9],和一个浮点型变量height
  • 第二步:输入N的值
  • 第三步:进入循环,输入sex的值和height的值
  • 第四步:判断性别,若sex=M则height/1.09,并赋值给a[i]
  • 第五步:不然height*1.09,并赋值给a[i]
  • 第六步:重复步骤3,直到i=N为止
  • 第六部:用循环语句输出a[i]的值

3.本题调试过程碰到问题及解决办法

这道题一直不知道怎么样才能循环输入并且循环输出,最后还是用数组解决了

4.PTA提交列表

1120968-20171028103538711-945822749.png

题目2

1.实验代码

    int a, n,t=0,i,s=0;
    scanf("%d %d", &a, &n);
    if (a > 0 && a < 10 && n>0 && n < 10)
        for (i = 0; i < n; i++) {
            t = t + a*pow(10, i);
            s = s + t;
        }
    printf("s = %d", s);

2.设计思路

  • 第一步:定义5个整形变量a,n,t,i,s
  • 第二步:输入a和n
  • 第三步:当a > 0 && a < 10 && n>0 && n < 10时,执行语句,进入循环
  • 第四步:t = t + a*pow(10, i)
  • 第五步:s = s + t
  • 第六步:重复步骤4到5,知道i=n
  • 第七步: 输出s

3.本题调试过程碰到问题及解决办法

刚开始是以为要输出a+a^2+a^3+....+a^n,后面才知道是输出位数上全是a的数,没有问题,一次搞定

4.PTA提交列表

1120968-20171031190423888-1395750812.png

题目3

1.实验代码

    int n=0, num = 0, min = 0, i = 0;
    scanf("%d", &n);
    scanf("%d", &min);
    for (i = 1; i < n; i++) {
        scanf("%d", &num);

        if (min > num)
            min = num;
    }printf("min = %d", min);

2.设计思路

  • 第一步:定义4个整形变量 n,num,min和i
  • 第二步:输入n
  • 第三步:输入min
  • 第四步:输入num
  • 第五步:如果min>num则min=num
  • 第六步:重复第四步到第五步,直到i=n为止
  • 第七步:输出min

3.本题调试过程碰到问题及解决办法

NO

4.PTA提交列表

1120968-20171031193800576-574829360.png

题目4

1.实验代码

int count = 0, flag, mynumber, yournumber,N;
    flag = 0;
    scanf("%d %d",&mynumber, &N);
    while (count < N) {
        scanf("%d", &yournumber);
        if (yournumber < 0) {
            break;
        }
        count++;
        if (yournumber == mynumber) {
            flag = 1;
            switch (count)
            {case 1:
                printf("Bingo!");
                break;
            case 2:case 3:printf("Lucky You!");
                break;
            default:printf("Good Guess!");
                break;
            }break;
        }
        else if (yournumber > mynumber)
            printf("Too big\n");
        else printf("Too small\n");
    }
    if (flag == 0)
        printf("Game Over");

2.设计思路

  • 第一步:定义5个整形变量count,flag,mynumber,yournumber,N
  • 第二步:对flag做初始化,并输入mynumber和N
  • 第三步:输入yournumber
  • 第四步:当yournumber<0时,循环结束
  • 第五步:count++
  • 第六步:当yournumer==mynumber时,flag=1,用switch语句对count的值进行判断,case 1时输出Bingo!,case 2,case 3时输出Lucky You!,其他则输出Good Guess!
  • 第七步:当yournumber > mynumber时,输出 Too big,不然则输出Too small
  • 第八步:重复第三步到第七步,知道count=N
  • 第九步:判断flag是否为0,为0则输出Game Over

3.本题调试过程碰到问题及解决办法

书本上有类似题目,按照题目的要求做相应更改就能完成

4.PTA提交列表

1120968-20171031195148732-902168357.png

二、截图本周题目集的PTA最后排名

1120968-20171031195307810-784406094.png

三、本周学习总结

1.你学会了什么?

经过本周的学习,我学会使用循环结构的语法,例如for ,while,do while

2.你还不会什么?

有些题目要思考很久,逻辑思维还不够强大,需要多多练习

转载于:https://www.cnblogs.com/zc-565095526/p/7746401.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值