CarrotChair 2016-12-26 12:07 采纳率: 100%
浏览 1115
已采纳

大一几个小问题,100币

谢谢解答
请给这段筛选100以内素数的代码加上注释
#include
#include
int main()
{int i,j,n,a[101];
for (i=1;i<=100;i++)
a[i]=i;
a[1]=0;
for (i=2;i<sqrt(100);i++)
for (j=i+1;j<=100;j++)
{if(a[i]!=0 && a[j]!=0)
if (a[j]%a[i]==0)
a[j]=0;
}
printf("\n");
for (i=2,n=0;i<=100;i++)
{ if(a[i]!=0)
{printf("%5d",a[i]);
n++;
}
if(n==10)
{printf("\n");
n=0;
}
}
printf("\n");
return 0;
}

为什么输出的最后一个数很奇怪
#include
int main()
{
int a[11],i,j,min=0;
for(i=0;i {printf("a[%d]",i);
scanf("%d",&a[i]);
}
for(j=0;j {
for(i=j+1;i {
if(a[i]>a[j])
{a[min]=a[j];
a[j]=a[i];
a[i]=a[min];}//实现取最小
}
}
printf("\nThe sorted numbers:\n");
for (i=1;i<=10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

请给这段代码加上注释
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
#include
int main()
{ int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf("array a:\n");
for (i=0;i printf("%5d",a[i]);
printf("\n");
printf("insert data:");
scanf("%d",&number);
end=a[9];
if (number>end)
a[10]=number;
else
{for (i=0;i {if (a[i]>number)
{temp1=a[i];
a[i]=number;
for (j=i+1;j<11;j++)
{temp2=a[j];
a[j]=temp1;//把a[i]放到了后面
temp1=temp2;
}
break;
}
}
}
printf("Now array a:\n");
for (i=0;i<11;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}

这段代码有两个错误,请更正
代码目的是输入两个整数,输出其中值较大者
#include
int main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max is %d",c);
return 0;
}
int max(int x,int y)
{
int z;
z=x>y?x:y;
return(z);
}

  • 写回答

6条回答 默认 最新

  • shy_blue 2016-12-26 13:00
    关注

    #include
    #include
    int main()
    {int i,j,n,a[101];
    for (i=1;i<=100;i++)
    a[i]=i;
    //这个for是将啊a[1]-a[100]取值为1-100
    a[1]=0;//第一个是0 数组中的值为零表示不是素数

    // i从2到sqrt(100) 如果这个数能被sqrt(100)之前的数除尽那么就不是素数 如果从2开始,到它的开方数已经足够了,自己体会;
    for (i=2;i<sqrt(100);i++)
    for (j=i+1;j<=100;j++)//这个循环只是遍历数据
    {if(a[i]!=0 && a[j]!=0)//排除零
    if (a[j]%a[i]==0)//能被其他数除尽的数一定不是素数置为零
    a[j]=0;
    }
    printf("\n");//循环结束的时候,不是零的数一定是素数
    for (i=2,n=0;i<=100;i++)
    { if(a[i]!=0)
    {printf("%5d",a[i]);
    n++;
    }
    if(n==10)//一行输出十个然后换行
    {printf("\n");
    n=0;//n是一个计数器用来记录是否已经达到十个 到十个后清零 从新计算
    }
    }
    printf("\n");
    return 0;
    }

    
    

    #include
    int main()
    {
    int a[11],i,j,min=0;
    for(i=0;i <=10;i++){
    printf("a[%d]",i);//这里是从零开始赋值
    scanf("%d",&a[i]);
    }
    for(j=0;j<=10;j++) {
    for(i=j+1;i<=10;i++) {
    if(a[i]>a[j])
    {a[min]=a[j];
    a[j]=a[i];
    a[i]=a[min];}//实现取最小
    }
    }
    printf("\nThe sorted numbers:\n");
    for (i=1;i<=10;i++)//这里是从一开始
    printf("%d ",a[i]);
    printf("\n");
    return 0;
    }

    //看看写的注释,一个赋值是从零开始,输出是从一开始,当然会少一个值

    
    

    #include
    int main()
    { int a[11]={1,4,6,9,13,16,19,28,40,100};
    int temp1,temp2,number,end,i,j;
    printf("array a:\n");
    for (i=0;i <=10;i++)printf("%5d",a[i]);
    printf("\n");
    printf("insert data:");
    scanf("%d",&number);
    end=a[9];
    if (number>end)//这里是判断是否大于最大的数,如果是这对数组最大值后一位赋值就行了
    a[10]=number;
    else
    {for (i=0;i <=10;i++) {
    if (a[i]>number)
    {temp1=a[i];//如果啊a[i]大于输入的数,将a[i]的值赋予temp1保存,将输入的值赋予a[i]
    a[i]=number;
    for (j=i+1;j<11;j++)
    {temp2=a[j];//遍历啊a[i]之后的数 并不断后移 其实 就是找到a[i]大于输入值的时候 将之后的所有值包括a[i]后移一位
    a[j]=temp1;//把a[i]放到了后面
    temp1=temp2;//将a[i+1]的值赋予temp1再循环
    }
    break;//只要找到刚好大于啊a[i]的时候就进行后移 就实现了 break 退出循环
    }
    }
    }
    printf("Now array a:\n");
    for (i=0;i<11;i++)
    printf("%5d",a[i]);//循环遍历输出排序好的数组
    printf("\n");
    return 0;
    }

    
    

    #include
    int max(int x,int y);
    int main()
    {
    int a,b,c;
    scanf("%d,%d",&a,&b);
    c=max(a,b);
    printf("max is %d",c);
    return 0;
    }
    int max(int x,int y)
    {
    int z;
    z=x>y?x:y;
    return(z);
    }

    //c语言的函数要在main()之前声明

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?