请问,这个错在哪里orz
为什么编译什么的时候都没有错,最后运行的时候会出“Cpp1.exe 遇到问题需要关闭。我们对此引起的不便表示抱歉。”发送错误报告呢orz
#include <stdio.h>
int main(void)
{
int n,i,a[10],max,min,temp,r,p;
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
min=a[1];
for (i=1;i<=n;i++)
{
if (a[i]<a[1])
{
min=a[i];
r=i;
}
}
temp=a[1],a[1]=min,a[r]=temp;
max=a[n];
for (i=1;i<=n;i++)
{
if (a[i]>a[n])
{
max=a[i];
p=i;
}
}
temp=a[n],a[n]=max,a[p]=temp;
for (i=1;i<=n;i++)
printf("%d",&a[i]);
return 0;
}
可以参考下面的代码:
#include <stdio.h>
void main()
{
int i,j=0,k=0,t,n,min,max,a[10];
printf("输入整百数度的个数: ");
scanf("%d",&n);
printf("输入%d个整数: ",n);
scanf("%d",&a[0]);
max=a[0];min=a[0];
for(i=1;i<n;i++)
{
scanf("%d",&a[i]);
if(max<a[i]) {max=a[i];j=i;}
if(min>a[i]) {min=a[i];k=i;}
}
t=a[k];a[k]=a[0];a[0]=t;
t=a[j];a[j]=a[n-1];a[n-1]=t;
printf("交换顺序后内输出: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
扩展资料:
1、printf()函数
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出
信息。在编写程序时经常会用到此函数。函数的原型为:
int printf(const char *format, ...);
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。
printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
2、for循环
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。
参考资料来源:百度百科-for循环
参考资料来源:百度百科-printf()