3.27改错

学生w,按要求完成了,就一个题目还有几个点没有过,问题不大,就是粗,题目做的还不够多

题目 1110:查找特定的值

#include<bits/stdc++.h>
using namespace std;
int main(){
	int f=0,x,n,a[1001];//要求10000,一般写成10003,超出3个这样安全点
	cin>>n;
	for(int i=1;i<=n;i++)
	  cin>>a[i];
	cin>>x;
	for(int i=1;i<=n;i++)
	{
		if(a[i]==x)
		{
			f=1;
			cout<<i<<endl;
			break;
		}
	}
	if(f==0)
	  cout<<"-1"<<endl;
	return 0;
}

学生B

还没打开,明天看一下

打开吓了一跳,基础代码能力欠缺,题目做的少,漏洞太多,就比如跑步但是走路还是瘸的。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,x,a[10005],s=0;
	cin>>n;
	for(int i=0;i<n;i++)//这里搞了个a[0]
	{
		cin>>a[i];
	}
	cin>>x;
	for(int j=1;j<=n;j++)//然后这里a[0]被你吃了吗
	{
		if(a[j]==x)
		{
			s=j;
			break;
		}
		
	}
	cout<<s+1;//请问在没有找到的情况下,-1怎么输出?
    return 0;
}

修改一下

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,x,a[10005],s=-1;//如果找到了就把那个下标给s,没有找到就直接输出初值
    cin>>n;
    for(int i=1;i<=n;i++)//a[i]两次统一,根据现实情况是下标,是从1开始的
    {
        cin>>a[i];
    }
    cin>>x;
    for(int j=1;j<=n;j++)
    {
        if(a[j]==x)
        {
            s=j;
            break;
        }
        
    }
    cout<<s;//符合第一个假设
    return 0;
}

学生w的代码基础完全,逻辑上没有问题,主要是题目做到位,学生b的问题是基础题目没有扎实完成。逻辑训练欠缺,思维长度较短,稍微长一点的代码就出错了。需要重新练习走路,然后再来奔跑

再看一题,学生b的1109题目,这个思维长度稍微长一点,就不知道在写什么了。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,a[5005],s,b[5005];
	cin>>n>>m;
	for(int i=1;i<=n;i++)//这里暂时理解为1表示开着吧,初始确实都开着
	{
		a[i]=1;
	}
	for(int l=1;l<=m;l++)//这里b数组全部设置为1
	{
	    b[l]=l;	
	}
	for(int j=1;j<=m;j++)
	{
	    if(j%b[j]!=0)//这里任何一个数%1都是1,也就是啊数组全部设置为0了
		{
			a[j]=0;
		}
		if(j%b[j]==0)
		{
			a[j]=1;
		}
	}
	for(int p=1;p<=m;p++)//然后这里a数组不可能等于1了,最后也就是没有输出。
	{
		if(a[p]=1)//==比较运算符写成了=
		{
			s=p;
			cout<<s;
		}
	}
    return 0;
}

学生b的代码没有办法修改了,需要将基础代码全部扎实完成,没有捷径可走

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值