C语言:输入一个正整数n(1 <n≤10),再输入n 个整数
1、
b=a[0];
c=a[n-1];放在for(i=0;
i<n;
i++){scanf("%d",&a[i]);}之后才对,而且,c=a[n-1]应该是c=a[9]!
2、因为是交换,所以
if(a[i]<b)
{
int
t=a[0];
a[0]=a[i];
a[i]=t;
}
和
if(a[i]>c)
{
int
t=a[9];
a[9]=a[i];
a[i]=t;
}
a[index1]=a[0];a[0]=b;和a[index2]=a[n-1];a[n-1]=c;这两个也可以删除,因为前面两个for语句比较已经将最大、最小交换过了,
个人认为正确的程序(根据你的程序代码):
#include
int
main(void)
{
int
,b,c,i,n,a[10];
scanf("%d",&n);
for(i=0;
i<n;
i++)
scanf("%d",&a[i]);
b=a[0];
c=a[9];
for(i=1;
i<n;
i++)
if(a[i]<b)
{
int
t=a[0];
a[0]=a[i];
a[i]=t;
}
for(i=0;
i<n-1;
i++)
if(a[i]>c)
{
int
t=a[9];
a[9]=a[i];
a[i]=t;
}
for(i=0;
i<n;
i++)
printf("%d
",a[i]);
printf("
");
return
0;
}
#include "stdio.h"
int main()
{
int i,j,n;
int a[12];
int min,mx;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
min=a[i];
mx=i;
for(j=i+1;j<n;j++)
{
if(a[j]>min)
{
min=a[j];
mx=j;
}
}
j=a[i];
a[i]=a[mx];
a[mx]=j;
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
min记录该次比较的最大值,mx为相应坐标
遍历找到mx后,与a[i]换位~
b=a[0];
c=a[n-1];
应该写在赋值之后,就是写在我之前帮你修改的之后 &
帮你在原来的基础上改好了
*/
#include<stdio.h>
int main(void)
{
int index1,index2,b,c,i,n,a[10];
//添加了
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[i]);
printf("\n");
//---------------------
for(i=1; i<n; i++)
if(a[i]<b)
{
b=a[i];
index1=i;
}
a[index1]=a[0];
a[0]=b;
for(i=0; i<n-1; i++)
if(a[i]>c)
{
c=a[i];
index2=i;
}
a[index2]=a[n-1];
a[n-1]=c;
for(i=0; i<n; i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
(C++程序)输入一个正整数N,计算N个数里面有多少奇偶数
include<stdio.h>int main(){int n;int l;int ou=0,ji=0;scanf("%d",&n);while(n--){scanf("%d",&l);if(l%2==0)ou++;elseji++;}printf("%d,%d",ji,ou); \/\/这里根据具体格式调整一下,}你也可以将输出贴出来,我来调整 ...
使用C语言输入一个正整数n,输出1+2!+3!+...n!
int i,sum=0,t,s,n;printf("请输入一个整数:");\/\/提示语句 scanf("%d",&n);\/\/输入n的值 for(i=1;i<=n;i++) \/\/第一次循环,就是数字1到n 的递增 { s=1;\/\/每次阶乘都要初始化s=1 for(t=1;t<=i;t++)\/\/循环里的循环 ,求每个i的阶乘 s*=t;\/\/ 目的是把i的阶乘放...
(C语言)输入一个正整数n, 再输入n 个整数,输出这n个整数的最大值.
intmain(){ intn,a,i,t;scanf("%d",&n);if(n<=0){ printf("输入n的值错误");return0;} scanf("%d",&t);\/\/先读的第一个数要默认成最大的,不然,t的初值是不定的 for(i=1;i{ scanf("%d",&a);if(t} printf("%d",t);return0;\/\/ } ...
编程c++输入一个整数n,输出1—n之间所有奇数的和。
intmain(){ intn,i,j,t,l;intsum=0;printf("请输入一个大于2的整数:");scanf("%d",&n);l=n;for(;n>=2;n--){ for(i=2;i<n;i++){ if(n%i!=0)\/\/判断其为素数 t=1;else { t=2;break;} } if(t==1){ sum+=n;\/\/printf("%d",n);\/\/输出1-n之间的所有素数 }...
输入1个正整数n(1<=n<=6)和n阶矩阵a中的元素,如果找到a的鞍点(鞍点...
{ int i,j,k,m,l,n;int a[6][6];l=1;m=0;printf("Enter n:");scanf("%d",&n);for(i=0;i<n;i++){ for(j=0;j<n;j++)scanf("%d",&a[i][j]);} for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(a[i][m]<a[i][j])m=j;} for(k=0;k<n;k++){ i...
c语言:从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和...
int sum=0;printf("请输入一个大于2的整数:");scanf("%d",&n);l=n;for(;n>=2;n--){ for(i=2;i<n;i++){ if(n%i!=0)\/\/判断其为素数 t=1;1 else { t=2;break;} } if(t==1){ sum+=n;\/\/printf("%d ",n);\/\/输出1-n之间的所有素数 } } printf("1-%d之间的...
10、输入一个正整数N,把它分解成质因子相乘的形式。
int f(n){ __int l=2,str='';__while(n-1&&l<=n){ ___if(n%l){ ___if(str==''){ ___str="l";___} ___else{ ___str=str+"*"+l;___} ___} ___else{ ___l++;___} __} __return str;} void main(){ __int n=1000;__printf("%s",f(n));} ...
c语言编程:求1!到n!的和
int fun(int n)\/\/求n!{int i=1,c=1;while(i<=n){c*=i;i++;}return c;}int main(){int i,n;int sum=0;printf("输入n:");scanf("%d",&n);for(i=1 ; i<=n ; i++)sum+=fun(i);printf("输出:%d\\n",sum);return 0;}希望能帮助你哈 本回答由提问者推荐 举报| 答案纠错 |...
c语言输入一个整数n,将其首尾倒置后输出。
; int main(){ gets(num); int l=strlen(num)-1;\/\/长度 if (num[0]=='-'){\/\/判断前缀“-” printf("-");for (int i=l;i>=1;i--) printf("%c",num[i]); }else{ for (int i=l;i>=0;i--) printf("%c",num[i]); } return 0; }用字符数组读入倒序输出即可 ...
我这有C语言的题,哪位大侠能解决一下,必有重谢!
13、以下程序功能为输入1个正整数n, 计算并输出s的前n项的和:s=1\/2-2\/3+3\/4-4\/5+ ……(-1) n\/(n+1),下划线处应填入的正确语句为( )。#include "stdio.h"void main( ){ int k, flag=1, n; float s=0; scanf("%d", &n); for (k=1; k<=n; k++){ s=s+___; flag=-flag...