大佬们我这个怎么运行不出来啊,问题出到哪里了?
向大佬们求助请问能不能发一下文字代码? 循环那里应该错了 for(i=0;i<number;i++)
for(j=0;j<number;j++)
{
if(i==j)
continue;
else if((nums+nums)=target)
{
printf("这一点你自己写的对的");
printf("我就不打了");
y=0;
break;
} 其实你的方法更好,你如果想用自己的方法,改一下if那里
if((nums+nums)=target)
你的if少了一个括号 for(i=0;i<number;i++)
for(j=0;j<number;j++)
{
if(i==j)
continue;
else if(nums+nums==target)
{
printf("这一点你自己写的对的");
printf("我就不打了");
y=0;
break;
} #include<stdio.h>
int main()
{
const int number=5;
int nums,i,j,target;
int y=1;
//输入整形数组
for(i=0;i<number;i++)
scanf("%d",&nums);
//输入目标值target
scanf("%d",&target);
for(i=0;i<number-1;i++){
for(j=i+1;j<number;j++){
if((nums+nums) == target){
printf("两个数组为%d和%d。\n",nums,nums);
printf("两个数的数组下标为%d和%d。",i,j);
y=0;
break;
}
}
}
if(y==0){
printf("Not found");
}
return 0;
} 本帖最后由 geen 于 2020-6-6 23:54 编辑
#include <stdio.h>
int main()
{
int nums={2,7,11,15};
int i,j,target;
int y=1;
//输入目标值target:
printf("请输入目标值:");
scanf("%d",&target);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if((i<j)&&nums+nums==target)
{
printf("两个数为%d和%d \n",nums,nums);
printf("两个数的数组下标为%d和%d \n",i,j);
y=0;
}
}
}
if(y==1)
{
printf("Not found");
}
return 0;
} geen 发表于 2020-6-6 23:50
这是什么原理?我以前的代码理论上也可以啊,但就是运行不出来{:5_104:} 本帖最后由 geen 于 2020-6-7 12:53 编辑
巴巴鲁 发表于 2020-6-7 11:46
这是什么原理?我以前的代码理论上也可以啊,但就是运行不出来
你挺多知识点没掌握扎实哦。1.第一行const有点画蛇添足;2.代码书写不够规范严谨(容易把自己搞混乱);3.输入整形数组,for的格式是for(){},都漏掉了{};4.y值的判断。y保持原来的值(1)才是not found;还有别的小问题,可以自己一点点用代码的反馈去验证自己的想法。一步步来吧。 geen 发表于 2020-6-7 12:51
你挺多知识点没掌握扎实哦。1.第一行const有点画蛇添足;2.代码书写不够规范严谨(容易把自己搞混乱) ...
谢谢,已经按你的方法进行改进
页:
[1]