急!!马上要交了,可是有错误,简单的程序,帮帮忙!!

gougou606 2005-03-23 09:55:04
有一个数组,用他与3求余数,得到的余数为0,1,2;分别以余数为0,1,2将原来的数组分为3部分,并存放!!!
我的程序:
#include <stdio.h>
main(){
int Amax=0,i=0,j=0,k=0;
int La[10],Lb[4],Lc[4],Ld[4];
//实现输入
for(int Amax=0;Amax<La.length;Amax++){
scanf("%d",&La[Amax]);
}
//除3的余数
for(int Amax=0;Amax<La.length;Amax++){
//余数为0
if((La[Amax]%3)==0){
Lb[i]=La[Amax];
i++;
}
//余数为1
else if((La[Amax]%3)==1){
Lc[j]=La[Amax];
j++;
}
//余数为2
else
{Ld[k]=La[Amax];
k++;
}
//输出结果
printf("Former array La[%d]:",Amax);
for(int Amax=0;Amax<La.length;Amax++){
printf("%d ",La[Amax]);
}
printf("Former array division 3 residue 0 Lb[%d]:",i);
for(int i=0;i<Lb.length;i++){
printf("%d ",Lb[i]);
}
printf("Former array division 3 residue 1 Lc[%d]:",j);
for(int j=0;j<Lc.length;j++){
printf("%d ",Lc[j]);
}
printf("Former array division 3 residue 2 Ld[%d]:",k);
for(int k=0;k<Ld.length;k++){
printf("%d ",Ld[k]);
}
}
...全文
125 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yashiro319 2005-03-23
  • 打赏
  • 举报
回复
同上!!

Amax 重复了!!
zengwujun 2005-03-23
  • 打赏
  • 举报
回复
#include <stdio.h>

void main(){
int Amax=0,i=0,j=0,k=0,index;
int La[10],Lb[10],Lc[10],Ld[10];
//实现输入
for(Amax=0;Amax<sizeof(La)/sizeof(La[0]);Amax++){
scanf("%d",&La[Amax]);
}
//除3的余数
for(Amax=0;Amax<sizeof(La)/sizeof(La[0]);Amax++){
//余数为0
if((La[Amax]%3)==0){
Lb[i]=La[Amax];
i++;
}
//余数为1
if((La[Amax]%3)==1){
Lc[j]=La[Amax];
j++;
}
//余数为2
if((La[Amax]%3)==2){
Ld[k]=La[Amax];
k++;
}
}
//输出结果
printf("\nFormer array La[%d]:\n",Amax);
for(index=0;index<Amax;index++){
printf("%d ",La[index]);
}
printf("\nFormer array division 3 residue 0 Lb[%d]:\n",i);
for(index=0;index<i;index++){
printf("%d ",Lb[index]);
}
printf("\nFormer array division 3 residue 1 Lc[%d]:\n",j);
for(index=0;index<j;index++){
printf("%d ",Lc[index]);
}
printf("\nFormer array division 3 residue 2 Ld[%d]:\n",k);
for(index=0;index<k;index++){
printf("%d ",Ld[index]);
}
printf("\n");
}
hohoxcn 2005-03-23
  • 打赏
  • 举报
回复
很多变量重复定义,另外数组大小规定好,但被分成的三个数组未必等长,譬如如果原数组中都为1,那么分成的三个数组,只有一个和原数组等长,另外两个为0.另外,La.length不能这么用,可以用sizeof(La)/sizeof(int)
fire_z 2005-03-23
  • 打赏
  • 举报
回复
第一:
for(int Amax=0;Amax<La.length;Amax++){
中的Amax为重复定义,把int去掉.
第二:
La.length的写法是错误的
La不是一个结构
可以直接写入数组长度10
第三:
for(int Amax=0;Amax<La.length;Amax++){
//余数为0
if((La[Amax]%3)==0){
Lb[i]=La[Amax];
i++;
}
//余数为1
else if((La[Amax]%3)==1){
Lc[j]=La[Amax];
j++;
}
//余数为2
else
{Ld[k]=La[Amax];
k++;
}
这段语句最后少个}
第四:
感觉楼主这样的学习态度是不行的....
jackyqjy 2005-03-23
  • 打赏
  • 举报
回复
#include <stdio.h>
main()
{
int Amax=0,i=0,j=0,k=0;
int La[10],Lb[4],Lc[4],Ld[4];
//实现输入
for(Amax=0; Amax<10; Amax++)
{
scanf("%d",&La[Amax]);
}
//除3的余数
for(Amax=0; Amax<10; Amax++)
{
//余数为0
if((La[Amax]%3)==0)
{
Lb[i]=La[Amax];
i++;
}
//余数为1
else if((La[Amax]%3)==1)
{
Lc[j]=La[Amax];
j++;
}
//余数为2
else
{
Ld[k]=La[Amax];
k++;
}
}
//输出结果
for(Amax=0; Amax<10; Amax++)
{
printf("%d ",La[Amax]);
}
printf("\n");
printf("Former array division 3 residue 0 Lb[%d]:",i);
for(Amax=0;Amax<i;Amax++)
{
printf("%d ",Lb[Amax]);
}
printf("\n");
printf("Former array division 3 residue 1 Lc[%d]:",j);
for(Amax=0;Amax<j;Amax++)
{
printf("%d ",Lc[Amax]);
}
printf("\n");
printf("Former array division 3 residue 2 Ld[%d]:",k);
for(Amax=0;Amax<k;Amax++)
{
printf("%d ",Ld[Amax]);
}
printf("\n");
}

shine51151 2005-03-23
  • 打赏
  • 举报
回复
没错 就那个毛病
for(int Amax=0;Amax<La.length;Amax++)
for(int Amax=0;Amax<La.length;Amax++)
把两个int去掉即可
hohoxcn 2005-03-23
  • 打赏
  • 举报
回复
Amax重复定义了

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧