scanf' : cannot convert parameter 1 from 'int *' to 'const char *'是什么原因的错误? 20
#include<stdio.h>intmain(){inti,j,min,temp,a[11];printf("enterdate:\n");for(i=1;i<=10...
#include <stdio.h>
int main()
{
int i,j,min,temp,a[11];
printf("enter date:\n");
for (i=1;i<=10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\n");
printf("The orginal numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
for (i=1;i<=9;i++)
{
min=i;
for (j=i+1;j<=10;j++)
if (a[min]>a[j] min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
printf("\nThe sorted numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
提示第七行错误 error C2664: 'scanf' : cannot convert parameter 1 from 'int *' to 'const char *',是什么原因,怎样改正? 展开
int main()
{
int i,j,min,temp,a[11];
printf("enter date:\n");
for (i=1;i<=10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\n");
printf("The orginal numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
for (i=1;i<=9;i++)
{
min=i;
for (j=i+1;j<=10;j++)
if (a[min]>a[j] min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
printf("\nThe sorted numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
提示第七行错误 error C2664: 'scanf' : cannot convert parameter 1 from 'int *' to 'const char *',是什么原因,怎样改正? 展开
4个回答
展开全部
你的程序我帮你改完了,改的地方见注释。
#include <stdio.h>
int main()
{
int i,j,min,temp,a[11];
printf("enter date:\n");
for (i=1;i<=10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\n");
printf("The orginal numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
for (i=1;i<=9;i++)
{
//min=i; //这里注释掉一句
for (j=i+1;j<=10;j++)
if (a[i]>a[j]){ //if语句和if语句块都改了,请注意
//min=j; //这里注释掉一句
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
printf("\nThe sorted numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
int i,j,min,temp,a[11];
printf("enter date:\n");
for (i=1;i<=10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\n");
printf("The orginal numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
for (i=1;i<=9;i++)
{
//min=i; //这里注释掉一句
for (j=i+1;j<=10;j++)
if (a[i]>a[j]){ //if语句和if语句块都改了,请注意
//min=j; //这里注释掉一句
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
printf("\nThe sorted numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去掉取地址符号即可!a[i]本身就是数组a第i个元素的地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道楼主用什么编译器。我这里测试只是提示if后面少个括号,没有提示scanf有问题啊。程序也能正常运行。。就是一个递增排序么。。。???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定是那里的问题吗 我没看出有问题
就if (a[min]>a[j] min=j;这里少了个)
就if (a[min]>a[j] min=j;这里少了个)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询