第一次作业 佟雨轩

时间:2022-05-27 02:33:11

#include<stdio.h>
int main(void)
{
int a,b,c,t;
scanf("%d %d %d",&a,&b,&c);
if(a<b){t=b;b=a;a=t;};
if(a<c){t=c;c=a;a=t;};
if(b<c){t=c;c=b;b=t;};
printf("%d->%d->%d",c,b,a);
return 0;
}

第一步,先插入头文件,第二部引入变量a,b,c,引入中间变量t,采用t作为中间变量交换a与b的值,第三步,利用if语句交换a,b,c的值,最后利用指针传递输出a,b,c,交换后的值的大小顺序,

插入头文件->引入变量->交换大小->输出交换后值的大小比较

第一次作业 佟雨轩第一次作业 佟雨轩第一次作业 佟雨轩第一次作业 佟雨轩

其实,我想说的是我认为这个东西编译的是没有错误的,显示也确实如此,我想说一下这个交换值的先后顺序问题,最初我一直受困于一个问题,就是我觉得如果将答案中的t=b;b=a;a=t;换成t=b;a=t;b=a;顺序应该不会影响到运行出来的结果,我觉得应该和正确答案运行出来的一样,可是现实却是4->4->5,这点我最初是想不通的,最后我才明白,如果是正确答案的话,他是先将b的值赋给t,这样b此时就是一个空值,随后将a的值赋给b,这样a就变为了一个空值,最后将t的值赋给了a,这样运行出来的才符合正确答案3->4->5,而如果要是像我那样的顺序的话 ,最后的运行出来的结果就是错误的。

二,

#include <stdio.h>
#include<math.h>
int isPrime(int n);
int main(void) {
    int m, n, count = 0, sum = 0, i;

    scanf("%d %d", &m, &n);
    for (i = m; i <= n; i++) {
        if (isPrime(i)) {
            count++;
            sum += i;
        }
    }
    printf("%d %d\n", count, sum);
    return 0;}
int isPrime(int n) {
    int i, max;

    if (n < 2) {
        return 0;
    }
    max = sqrt(n);
    for (i = 2; i <= max; i++) {
        if (n%i == 0) {
            return 0;
        }
    }

    return isPrime;
}
    

(上面这个代码是错误的,一会我在下面说)

第一步,插入头文件

第二步,插入函数,公式,引入变量

第三步,判断n是否小于2,若小于,则返回,若不小于,对n开方和i取余看是否为零, 继续判断是否为素数。

第四步,判断是否为素数,对素数的个数进行计数,并求和。

插入头文件->引入变量->判断是否为素数->对素数个数进行统计第一次作业 佟雨轩第一次作业 佟雨轩第一次作业 佟雨轩

对于这道题,我最初是想像最近的一次作业一样,去在后面插入代码int isPrime(int n),可是我发现他在后面最后编译出来却显示“从指针返回的整数没有强制转换”,其实我是存在很多疑问的,并且到现在也没有解决,因为这样运行出来的结果和不在后面插入代码的结果是一样的,但是编译确实是有问题的,说句实话我还是没有搞懂那句话是什么意思,如果在后面插入代码之后,怎样强制转化啊?

 

三,

#include<stdio.h>
#include<math.h>
int main()
{
  int n;
  int num;
  int minNum;
  scanf("%d",&n);
  for(int i=0;i<n;i++){
    scanf("%d",&num);
    if(0==i) minNum=num;
    else minNum=(minNum>num? num : minNum);
  }printf("min = %d",minNum);
  return 0;
}

  第一步,插入头文件,

       第二步,引入变量,

       第三步,对每个数进行比较,找出最小值。

    插入头文件->引入变量->找最小值

第一次作业 佟雨轩第一次作业 佟雨轩

最初我认为int i是不能够在for()里面引入变量的,之前一直都以为for里面只能是(i=1;i<n;i++)类似于这种形式,但是这次知道最初没有引入变量i,所以无论怎样,一定要在后面说明你已经引入i这个变量了,所以在for()里面是可以引入int i的,得分情况而定,如果不在()里引入i,那么到后来用到i的时候,也要在开头加上int i。