输入一个正整数n (1<n≤10),再输入n个整数,将它们存入数组a中。

如题所述

#include
<stdio.h>
#include
<stdio.h>
#define
MAX
10
int
main()
{
int
num[MAX],
n,
min_index;
int
i;
//输入并判断n
while(1)
{
printf("请输入n的值(1
<
n
<=
10):");
scanf("%d",
&n);
if(n
>
1
&&
n
<=
10)
{
break;
}
else
{
printf("n的值不符合条件,请重输\n");
}
}
//给数组赋值
for(i
=
0;
i
<
n;
i
++)
{
printf("请输入第
%d
个整数:");
scanf("%d",
&num[i]);
}
//找出最小数并记录下标
min_index
=
0;
for(i
=
1;
i
<
n;
i
++)
{
if(mun[i]
<
num[min_index])
{
min_index
=
i;
}
}
//输出最小值和对应下标
printf("最小值是:%d,它对应的下标是:%d",
mun[min_index],
min_index);
//最小值与第一个数交换
i
=
num[0];
num[0]
=
num[index];
num[index]
=
i;
//输出交换后的结果
printf("交换后的数:");
for(i
=
0;
i
<
n;
i
++)
{
printf("%d\t",
num[i]);
}
return
0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-06-27
#include
<stdio.h>
#include
<stdlib.h>
int
main(void)
{
int
n
=
0,
i;
int
min
=
0,minpos
=
0;
int*
a
=
NULL;
printf("请输入你要输入多少整数\n");
scanf("%d",&n);
a
=
(int*)malloc(n*sizeof(int));
if(a
==
NULL)
return
-1;
printf("请输入这%d个整数\n",n);
for(i=0;
i<n;)
{
scanf("%d",a+i);
if(*(a+i)<2
||
*(a+i)>10)
{
printf("重新输入\n");
}else{
i++;
}
}
min
=
*a;
for(i=0;
i<n;
i++)
{
if(*(a+i)
<
min)
{
min
=
*(a+i);
minpos
=
i;
}
}
printf("最小数%d,位置%d\n",min,
minpos+1);
*(a+minpos)
=
*a;
*a
=
min;
for(i=0;
i<n;
i++)
{
printf("%d\t",*(a+i));
}
return
0;
}
//当输入的数可以重复的时候,暂时没考虑这个,需要的话,直接修改存储变量的代码即可本回答被提问者采纳

输入一个正整数n (1<n≤10),再输入n个整数,将它们存入数组a中。
printf("请输入你要输入多少整数\\n"); scanf("%d",&n); a = (int*)malloc(n*sizeof(int)); if(a == NULL) return -1; printf("请输入这%d个整数\\n",n); for(i=0; i<n;) { scanf("%d",a+i); if(*(a+i)<2 || *(a+i)>10) { printf("重新输入\\n"); }else{ i++; } ...

输入一个正整数n(1<n<=10),再输入n个整数存入数组a中,先将数组a中的n...
temp=a[i];a[i]=a[9-i];a[9-i]=temp;} for(int i=0;i<n;i++)printf("%d ",a[i]);return 0;}

在数组中查找指定元素。输入一个正整数n(1 < n <= 10),然后输入n个整数...
{ int i;for(i=0;i<n;i++)if(list[i]==x)return i;return -1;} main(){ int list[10],n,x,i;printf("input n(1<=n<=10):");scanf("%d",&n);printf("input %d numbes:\\n",n);for(i=0;i<n;i++)scanf("%d",&list[i]);printf("input x:");scanf("%d",&x)...

输入一个正整数n,1<n≤10,再输入n个整数,将数组的数逆序存放,并输出这...
int main(){int n,i,j,t,a[10];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0,j=n-1;i<j;i++,j--){t=a[i];a[i]=a[j];a[j]=t;} for(i=0;i<n;i++)printf("%d ",a[i]);printf("\\n");return 0;} ...

C语言:输入一个正整数n(1 <n≤10),再输入n 个整数
printf("请输入一个1到10的正整数:");scanf("%d",&n);index1=0;index2=n-1;for(i=0; i<n; i++){ printf("赋值a[%d]:",i);scanf("%d",&a[i]);} \/\/这两个语句应该写在赋值之后 b=a[0];c=a[n-1];\/\/---打印交换之前数组 for(i=0; i<n; i++)printf("%d ",a...

输入一个正整数n(1<n<=10),再输入n个整数存入一维数组,按逆序重新存 ...
dim i as integer dim j as integer dim temp as integer '输入一个正整数n(1<n<=10)n = Val(InputBox("输入一个正整数[2,10]:"))Do While n < 2 Or n > 10 n = Val(InputBox("输入一个正整数[2,10]:", "输入错误,请重新输入!"))Loop ReDim d(n)'输入n个正整数保存...

输入一个正整数n(1<n≤10),再输入n个整数,将最小值与第一个数交换,最...
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...

输入一个正整数n(1≤n≤10)和n阶方阵a中的元素如果a是上三角矩阵输出...
而j的变化范围是<i的吗?也就是,在for循环中,当“下”三角当中,任意一个元素不为0时(即,下三角中存在非0的元素,此矩阵不是“上”三角矩阵),那flag就由初始值的1变为了0。如果flag是1,则输出yes,是0,输出no。简而言之,flag是用来判断,下三角中,是否存在非零元素的一个标记。

C++编程 输入一个正整数n(1<n<=10),再输入n个整数,输出其最大值及其...
include<stdio.h> main(){ int n,i,j;scanf("%d",&n);int a[11];for(i=0;i<n;i++)scanf("%d",&a<i>);for(j=0;j<n;j++){ if(a[0]<a[j]){ a[0]=a[j];i=j;} else if(a[0]==a[j]){ a[0]=a[j];if(i>j){ i=j;} } } printf("%d%d",a[0],i...

...输入一个正整数n(1<n《10),再输入n个整数,将最小值与第一个数交换...
1、首先建立一个工程和.c文件。2、然后输入头文件和主函数。3、定义变量类型并初始化。4、输入一个正整数n(1<n《10),再输入n个整数。5、将最小值与第一个数交换,最大值与最后一个数交换。6、剔除整数的个位数。7、最后得到输出的结果。8、编译,运行,得到最后的结果。

相似回答