C语言,关于数据库跟函数的一道题
发布网友
发布时间:2023-11-18 00:48
我来回答
共2个回答
热心网友
时间:2024-11-08 23:51
以经给予解答,程序如下。欢迎加QQ群:218691837
#include <stdio.h>
#include <stdlib.h>
struct nn
{ int no;
int num;
};
typedef struct nn DATA;
int number( char * , DATA []);
int main( )
{
DATA b[100];
char sa[500];
int i, n;
gets( sa );
n = number( sa, b );
for ( i=0; i<n; i++ )
printf("%d %d\n", b[i].num, b[i].no );
system("pause");
}
//
#include<string.h>
int number( char * str, DATA a[] )
{ int i,j,n,min=0,tag=0;
char *p;
int *t,temp;
p = strtok( str , " ");
for ( i = 0 ; p != NULL ; i++)
{ a[i].num = atoi(p);
p = strtok( NULL , " ");}
n = i;
t=(int *)malloc(n*4);
for(i=0;i<n;i++)
{*(t+i)=a[i].num;}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(*(t+i)>*(t+j))
{
temp=*(t+i);
*(t+i)=*(t+j);
*(t+j)=temp;
}
}
//t_temp=(int *)malloc(n*4);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{if(a[i].num==*(t+j))
{
a[i].no=j+1;
//continue;
}
}
}
for(i=0;i<n-1;i++)
{tag=0;
for(j=i+1;j<n;j++)
{
if(a[i].no==a[j].no)
{
tag++;
// a[i].no =(a[i].no)-1;
//printf("tag=%d,no=%d",tag,a[i].no);
}
}
a[i].no=a[i].no-tag;
}
return n;
}
热心网友
时间:2024-11-08 23:51
#include <stdio.h>
struct nn
{ int no;
int num;
};
typedef struct nn DATA;
int number( char * , DATA []);
int main( )
{
DATA b[100];
char sa[500];
int i, n;
gets( sa );
n = number( sa, b );
for ( i=0; i<n; i++ )
printf("%d %d\n", b[i].num, b[i].no );
return 0;
}
//
#include<stdlib.h>
#include<string.h>
int number( char*sa,DATA b[])
{
int i=0,j=0,k,n=0,min=0;
char *p;
p = strtok( sa , " ");
for ( i = 0 ; p != NULL ; i++)
{
b[i].num = atoi(p);
b[i].no=1;
n++;p++;
p = strtok( NULL , " ");//strtok 函数为分割函数,按照’ ‘分割
}
for(k=0;k<n;k++)
for(j=0;j<n;j++)
{
if(b[k].num>b[j].num)
{
b[k].no++;
}
else if(b[k].num==b[j].num&&(k>j))
{
b[k].no++;
}
}
return n;
}
//