求助 C语言的问题

2025-05-26 17:26:13
推荐回答(3个)
回答1:

(1) 太繁琐了,没那么多时间写代码,思路说一下:
可用 int [20][2] 来存放输入的数,第二维的第一个元素放数字的值,第二个记录输入时的顺序。排序时根据数字大小排。但记住交换要连输入时的顺序一起交换,这样排好序,每个数原来的顺序还有记录。

(2) 代码还是要给的,这个没这么麻烦
int check(int n, int d)
{
do if (d == n%10) return 1; while (n/=10);
return 0;
}
---------------
完整程序如下:
#include

int check(int n, int d)
{
do if (d == n%10) return 1; while (n/=10);
return 0;
}

int main()
{
printf("%d %d\n", check(12345, 1), check(12345, 6));
return 0;
}

回答2:

第一题:
//--
typedef struct
{
int index;
int num;
}TNode;

int main()
{
TNode array[20];
int i,j;
for(i=0;i<20;i++)
{
scanf("%d",&array[i].num);
array[i].index=i;
}
for(i=0;i<20;i++)
for(j=0;j {
if(array[j].num>array[j+1].num)
{
temp=array[j].num;
array[j].num=array[j+1].num;
array[j+1].num=temp;
}
}
for(i=0;i<20;i++)
{
printf("%d\t%d\n",array[i].num,array[i].index);
}
return 0;
}

第二题:
int check(int n,int d)
{
int i;
while(n/10>1)
{
if((n%10)==d)
return 1;
n/=10;
}
return 0;
}

我的电脑上暂时没装编程软件,我随便写的,可能有一些很基本的错误。改改看。

回答3:

wq 你看下相关的资料吧去网是就找到了啊