以下程序中函数f的功能是: 当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。void f(int b[], int n, int flag){int i, j, t; for (i=0; i<n-1; i++) for (j=i+1; j<n; j++) if(flag ? b[!]>[j]: b[i]<b[j]) { t=b[i]; b[i]=b[j]; b[j]=t; }}main (){ int a[10]={5,4,3,2,1,6,7,8,9,10}, i; f(&a[2], 5, 0); f(a, 5, 1), for (i=0; i<10; i++) printf("%d,", a[i]);}程序运行后输出结果是( )。
A.1,2,3,4,5,6,7,8,9,10,
B.3,4,5,6,7,2,1,8,9,10,
C.5,4,3,2,1,6,7,8,9,10,
D.10,9,8,7,6,5,4,3,2,1,
第1题:
以下程序中函数f的功能是:当flag为1时,进行有由小到大排序;当flag为0时,进行由大到小排序。
void f(int b[],int n,int flag)
{int i,j,t;
for(i=0;i
for (j=i+1;j
if(flag?b[i]>b[j]:b[i]
}
main()
{int a[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&a[2],5,0); f(a,5,1);
for(i=0;i<10;i++) printf(“%d,”a[i]);
}
程序运行后的输出结果是( )。
A.1,2,3,4,5,6,7,8,9,10,
B.3,4,5,6,7,2,1,8,9,10,
C.5,4,3,2,1,6,7,8,9,10,
D.10,9,8,7,6,5,4,3,2,1,
第2题:
下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。
#include<stdio.h>
void sort(inta[],int n)
{int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;<n;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;
}
}
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&a[1],7);
for(i=0;i<10;i++)printf("
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,8,7,6,5,4,3,2,9,10,
D.1,2,10,9,8,7,6,5,4,3,
第3题:
以下程序中函数 f 的功能是 : 当 flag 为 1 时 , 进行有由小到大排序 ; 当 flag 为 0 时 , 进行由大到小排序。
void f(int b[],int n,int flag)
{ int i,j,t;
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if(flag?b[i]>b[j]:b[i]<b[j]) { t=b[i];b[i]=b[j];b[j]=t; }
}
main( )
{ int a[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&a[2],5,0); f(a,5,1);
for(i=0;i<10;i++) printf("%d",a[i]);
}
程序运行后的输出结果是
A)1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ,
B)3 , 4 , 5 , 6 , 7 , 2 , 1 , 8 , 9 , 10 ,
C)5 , 4 , 3 , 2 , 1 , 6 , 7 , 8 , 9 , 10 ,
D)10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ,
第4题:
若有以下程序 #include<stdio.h> void f(int n); main() { void f(int n); f(5); } void f(int n) {printf(“%d\n”,n);} 则以下叙述中不正确的是
A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B.若在主函数前对函数f进行说明,则在主函数和其后的其他的其他函数中都可以正确调用函数f
C.对于以上程序,编译时系统会提示出错信息;提示对f函数重复说明
D.函数f无返回值,所以可用void将其类型定义为无值型
第5题:
以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。 #include<string.h> void f(char p[][10],int n) { char t[20];int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j]<0) {strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() { charp[][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,”cd”};int i; f(p,5);printf(“%d\n”,strlen(P[0])); } 程序运行后的输出结果是
A.6
B.4
C.5
D.3
第6题:
请帮忙给出正确答案和分析,谢谢
答案:
void select_sort(int Array[], int n)//n为数组a的元素个数
{
for (int i = 0; i<n - 1; i++)//进行N-1轮选择
{
int min_index = i;
for (int j = i + 1; j<n; j++)//找出第i小的数所在的位置
{
if (Array[j] > Array[min_index])
{
min_index = j;
}
}
//将第i小的数,放在第i个位置;如果刚好,就不用交换
if (i != min_index)
{
int temp = Array[i];
Array[i] = Array[min_index];
Array[min_index] = temp;
}
}
}
int main()
{
int num[7] = { 1, 2, 3, 4, 5, 6, 7};
select_sort(num, 7);
printf("\n结果如下:\n");
for(int i=0; i<7; i++)
{
printf("\n%d\n ", num[i]);
}
printf("\n");
}
测试结果:
解析:
选择排序(从小到大)的基本思想是,首先,选出最小的数,放在第一个位置;然后,选出第二小的数,放在第二个位置;以此类推,直到所有的数从小到大排序。
第7题:
若有以下程序: #include<stdio.h> void f(int n); main() { void f(int n); f(5); } void f(int n) { printf("%d\n",n);}则以下叙述中不正确的是( )。
A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f
C.对于以上程序,编译时系统会提示出错信息:对f函数重复说明
D.函数f无返回值,所以可用void将其类型定义为无返回值型
第8题:
有限资源分配
B、顾客排队
C、由大到小的序列
D、由小到大的序列
第9题:
若有以下程序 #include <stdio.h> void f(int n); main() ( void f(int n); f(5); } void f(int n) { printf("%d\n",n); } 则以下叙述中不正确的是
A.若只在主函数中对函数f进行说明,则只能在土函数中正确调用函数f
B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正碗调用函数f
C.对于以上程序,编译时系统会提示出错信息:提示对f函数重复况明
D.函数f无返回值,所以可用void将其类型定义为无值型
第10题:
以下程序中函数f的功能是:当na9为1时,进行由小到大排序;当fla9为oN。进行由大到小排序。
程序运行后的输出结果是( )
A.A
B.B
C.C
D.D