C语言数组的题目?
有自定义函数funl, 里面有数组str1.
将un里面的数组str的内容传递给fun1里面的数组str1, 并按照从大到小排序,打印出来 展开
#include<stdio.h>
void fun1(int str1[])
{
int t;
for(int i=0;i<12;i++)
for(int j=i;j<13;j++)//排序
if(str1[i]<str1[j])
{
t=str1[i];
str1[i]=str1[j];
str1[j]=t;
}
for(int i=0;i<13;i++)//输出
printf("%d ",str1[i]);
}
void fun()
{
int str[20]={-53,22,223,100,18,0,309,-10,209,101,900,-77,50};
fun1(str);//调用函数fun1
}
int main()
{
fun();//主函数调用函数fun
}
#include <stdio.h>
#include <malloc.h>
void fun1(int str1[],int n)
{
int i,j,*str=(int*)malloc(sizeof(int)*n),t;
for(i=0;i<n;++i)
str[i]=str1[i];
for(i=0;i<n-1;++i)
{
for(j=0;j<n-i-1;++j)
{
if(str[j]<str[j+1])
{
t=str[j];
str[j]=str[j+1];
str[j+1]=t;
}
}
for(i=0;i<n;++i)
printf("%d ",str[i]);
}
free(str);
}
int main()
{
int str1[]={-53,22,223,100,18,0,309,-10,209,101,900,-77,50};
fun1(str1,sizeof(str1)/sizeof(str1[0]));
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
int main(int argc, char *argv[])
{
int a[] = {4,46,23,34,56,78,100};
int num,i,index;
printf("请输入一个正整数:");
scanf("%d",&num);
for(i=0; i<ARRAY_SIZE(a); i++) {
if(a[i]>=num) {
index=i;
break;
}
}
for(i=ARRAY_SIZE(a); i>index; i--) {
int temp=a[i-1];
a[i]=temp;
}
a[index]=num;
printf("a[]={");
for(i=0; i<=ARRAY_SIZE(a); i++) {
printf("%d",a[i]);
if(i==ARRAY_SIZE(a)) {
printf("}");
} else {
printf(",");
}
}
system("pause");
return 0;
}