c语言 函数调用 在一个一维数组中插进一个数字 并照顺序排好输出 我编的这个不能通过组建 不知道哪错了
#include<stdio.h>voidmian(){voidss(inta[5],intx);intb[5]={65,32,45,95,25};ss(b,35);}v...
#include<stdio.h>
void mian(){
void ss(int a[5],int x);
int b[5]={65,32,45,95,25};
ss(b,35);
}
void ss(int a[5],int x){
for(int j=0;j<4;j++){
for(int k=0;k<4-j;k++){
if(a[k]<a[k+1]){
int t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
if(x<a[0]){
printf("%d",x);
for(int i=0;i<5;i++)
printf("%d",a[i]);
}
if(x>a[0]&&x<a[4]){
for(int i=0;i<5;i++){
printf("%d",a[i]);
if(x>a[i]&&x<a[i+1])
printf("%d",x);
}
}
if(x>a[5]){
for(int i=0;i<5;i++)
printf("%d",a[i]);
printf("%d",x);
}
printf("\n");
}
前几天不用函数做过这个 现在换成函数做就不行了 烦啊 展开
void mian(){
void ss(int a[5],int x);
int b[5]={65,32,45,95,25};
ss(b,35);
}
void ss(int a[5],int x){
for(int j=0;j<4;j++){
for(int k=0;k<4-j;k++){
if(a[k]<a[k+1]){
int t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
if(x<a[0]){
printf("%d",x);
for(int i=0;i<5;i++)
printf("%d",a[i]);
}
if(x>a[0]&&x<a[4]){
for(int i=0;i<5;i++){
printf("%d",a[i]);
if(x>a[i]&&x<a[i+1])
printf("%d",x);
}
}
if(x>a[5]){
for(int i=0;i<5;i++)
printf("%d",a[i]);
printf("%d",x);
}
printf("\n");
}
前几天不用函数做过这个 现在换成函数做就不行了 烦啊 展开
5个回答
展开全部
楼主,main函数写错了!!应该为void main()
========================================================
#include<stdio.h>
void main(){
void ss(int a[5],int x);
int b[5]={65,32,45,95,25};
ss(b,35);
}
void ss(int a[5],int x){
for(int j=0;j<4;j++){
for(int k=0;k<4-j;k++){
if(a[k]<a[k+1]){
int t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
if(x<a[0]){
printf("%d",x);
for(int i=0;i<5;i++)
printf("%d",a[i]);
}
if(x>a[0]&&x<a[4]){
for(int i=0;i<5;i++){
printf("%d",a[i]);
if(x>a[i]&&x<a[i+1])
printf("%d",x);
}
}
if(x>a[5]){
for(int i=0;i<5;i++)
printf("%d",a[i]);
printf("%d",x);
}
printf("\n");
}
========================================================
#include<stdio.h>
void main(){
void ss(int a[5],int x);
int b[5]={65,32,45,95,25};
ss(b,35);
}
void ss(int a[5],int x){
for(int j=0;j<4;j++){
for(int k=0;k<4-j;k++){
if(a[k]<a[k+1]){
int t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
if(x<a[0]){
printf("%d",x);
for(int i=0;i<5;i++)
printf("%d",a[i]);
}
if(x>a[0]&&x<a[4]){
for(int i=0;i<5;i++){
printf("%d",a[i]);
if(x>a[i]&&x<a[i+1])
printf("%d",x);
}
}
if(x>a[5]){
for(int i=0;i<5;i++)
printf("%d",a[i]);
printf("%d",x);
}
printf("\n");
}
展开全部
2楼改了数组长度,也行;3楼的还是不够简便;用我的吧,简单!
#include<stdio.h>
void main()
{
void ss(int a[],int x);
int b[5]={65,32,45,95,25};/*定义数组*/
ss(b,35); /*调用函数*/
}
void ss(int a[5],int x)
{
int j,k;
for(j=0;j<4;j++)
{
for(k=0;k<4-j;k++)
{
if(a[k]<a[k+1]) /*说明是从大到小排列*/
{
int t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
for(k=0;k<5;k++) /*你那段太麻烦了,用这个吧,简单点好*/
{
if(x>a[k])
printf("%d ",x);
printf("%d ",a[k]);
}
printf("\n");
getch();
}
#include<stdio.h>
void main()
{
void ss(int a[],int x);
int b[5]={65,32,45,95,25};/*定义数组*/
ss(b,35); /*调用函数*/
}
void ss(int a[5],int x)
{
int j,k;
for(j=0;j<4;j++)
{
for(k=0;k<4-j;k++)
{
if(a[k]<a[k+1]) /*说明是从大到小排列*/
{
int t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
for(k=0;k<5;k++) /*你那段太麻烦了,用这个吧,简单点好*/
{
if(x>a[k])
printf("%d ",x);
printf("%d ",a[k]);
}
printf("\n");
getch();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int a[6]={65,32,45,95,25};
void ss(int a[5],int x)
{
int j,k,t;
a[5]=x;
for(j=0;j<6;j++)
for(k=i+1;k<6;k++)
if(a[j]<a[k])
{
t=a[j];
a[j]=a[k];
a[k]=t;
}
}
main()
{
int i;
ss(a[5],35);
for(i=0;i<6;i++)
printf("%d",a[i]);
printf("\n%d",x);
}
int a[6]={65,32,45,95,25};
void ss(int a[5],int x)
{
int j,k,t;
a[5]=x;
for(j=0;j<6;j++)
for(k=i+1;k<6;k++)
if(a[j]<a[k])
{
t=a[j];
a[j]=a[k];
a[k]=t;
}
}
main()
{
int i;
ss(a[5],35);
for(i=0;i<6;i++)
printf("%d",a[i]);
printf("\n%d",x);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main(){
void ss(int a[6],int x);
int b[6]={65,32,45,95,25};
ss(b,35);
}
void ss(int a[6],int x)
{
for(int j=0;j<4;j++){
for(int k=0;k<4-j;k++){
if(a[k]<a[k+1]){
int t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
for(int i=0;i<5;i++)
if(x>a[i])
break;
for(j=4;j>=i;j--)
a[j+1]=a[j];
a[i]=x;
for(i=0;i<6;i++)
printf("%d ",a[i]);
printf("\n");
}
void main(){
void ss(int a[6],int x);
int b[6]={65,32,45,95,25};
ss(b,35);
}
void ss(int a[6],int x)
{
for(int j=0;j<4;j++){
for(int k=0;k<4-j;k++){
if(a[k]<a[k+1]){
int t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
for(int i=0;i<5;i++)
if(x>a[i])
break;
for(j=4;j>=i;j--)
a[j+1]=a[j];
a[i]=x;
for(i=0;i<6;i++)
printf("%d ",a[i]);
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
此程序杂乱无章,没有结构性和层次感,编写者没有清晰的思路,建议采纳二楼答案。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询