C语言程序纠错
答案:4 悬赏:60 手机版
解决时间 2021-08-15 21:41
- 提问者网友:那叫心脏的地方装的都是你
- 2021-08-14 20:51
#include<stdio.h>
void main()
{
int large(int x,int y);
int a[10],b[10],i=0,m=0,n=0,k=0;
printf("enter array a:");
for(;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
printf("enter array b:");
for(;i<10;i++)
scanf("%d",&b[i]);
printf("\n");
for(;i<10;i++)
{
if(large(a[i],b[i])==1) n=n+1;
else if(large(a[i],b[i])==0) m=m+1;
else k=k+1;
}
printf("a[10]>b[10]%dtimes\na[10]<b[10]%dtimes\na[10]=b[10]%dtimes\n",n,k,m);
if(n>k) printf("a[10] is larger than b[10]\n");
else if(n<k) printf("a[10] is smaller than b[10]\n");
else printf("a[10] is equal to b[10]\n");
}
int large(int x,int y)
{
int flag;
if(x>y) flag=1;
else if(x<y) flag=-1;
else flag=0;
return flag;
}
主要问题是 b 没法输入
最佳答案
- 五星知识达人网友:痴妹与他
- 2021-08-14 21:00
#include<stdio.h>
void main()
{
int large(int x,int y);
int a[10],b[10],i=0,m=0,n=0,k=0;
printf("enter array a:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
printf("enter array b:");
for(i=0;i<10;i++)
scanf("%d",&b[i]);
printf("\n");
for(;i<10;i++)
{
if(large(a[i],b[i])==1) n=n+1;
else if(large(a[i],b[i])==0) m=m+1;
else k=k+1;
}
printf("a[10]>b[10]%dtimes\na[10]<b[10]%dtimes\na[10]=b[10]%dtimes\n",n,k,m);
if(n>k) printf("a[10] is larger than b[10]\n");
else if(n<k) printf("a[10] is smaller than b[10]\n");
else printf("a[10] is equal to b[10]\n");
}
int large(int x,int y)
{
int flag;
if(x>y) flag=1;
else if(x<y) flag=-1;
else flag=0;
return flag;
}
i的问题,输入A数组的时候 执行for(;i<10;i++)
当执行完毕有 i=10了 所以就直接跳出循环了
解决方法:更改变量或者我写的以上方法
注:编程定义变量的时候,最好用一些可读性的英文表示.希望采纳,打几个字也不容易的
全部回答
- 1楼网友:怀裏藏嬌
- 2021-08-15 01:16
在for循环之前将i赋初值0,编程for(i=0;i<10;i++)scanf("%d",&b[i]);当然所有for都改成这样,因为你每次循环后i的值被改变了
- 2楼网友:神的生死簿
- 2021-08-14 23:41
for(;i<10;i++) // 这里加入i=0 前面输入a[]的时候因为申明的时候初始化了
scanf("%d",&b[i]);
- 3楼网友:独行浪子会拥风
- 2021-08-14 22:23
#include<stdio.h>
void main()
{
int large(int x,int y);
int a[10],b[10],i=0,m=0,n=0,k=0;
printf("enter array a:");
for(;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
printf("enter array b:");
for(i=0;i<10;i++)//不加i=0,i就为10 ,就不循环
scanf("%d",&b[i]);
printf("\n");
for(;i<10;i++)
{
if(large(a[i],b[i])==1) n=n+1;
else if(large(a[i],b[i])==0) m=m+1;
else k=k+1;
}
printf("a[10]>b[10]%dtimes\na[10]<b[10]%dtimes\na[10]=b[10]%dtimes\n",n,k,m);
if(n>k) printf("a[10] is larger than b[10]\n");
else if(n<k) printf("a[10] is smaller than b[10]\n");
else printf("a[10] is equal to b[10]\n");
}
int large(int x,int y)
{
int flag;
if(x>y) flag=1;
else if(x<y) flag=-1;
else flag=0;
return flag;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯