北理乐学c语言
⑴ c语言 整数编号
这是你原来的方法,我改了两行,
一个是put[j]=str[i],这一行要改成put[j]=str[i]-'0',这是从char 到 int的转换,如果不变就成了把put[j]赋值成字符型str[i]的值了,
另一个在后面那个函数,return have使用之后,后面的代码就不执行了,就好象短路一样,
要放在后面,或是有条件的返回
可是改了这两处之后还是不对,排出来结果差的太多,好象是你的冒泡内部的问题,要重新换种方法试试..我对排序很外行,查不出来根本所在
#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;
}
//
void bubbleSort(int arr[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(arr[j+1]<arr[j])
{
t=arr[j+1];
arr[j+1]=arr[j];
arr[j]=t;
}
}
}
}
int number( char * str, DATA b[] )
{
int put[251],anshunxu[251],bianhao[251];
int i,j=0,have;
// 得数的个数
for(i=0;str[i]!='\0';i++)
{
if(str[i]!=' ')
{
put[j]=str[i]-'0';
j++;
}
}
put[j]='\0';
have=j;
j=0;
//return have;
// 把put复制到anshunxu
for(i=0;i<have;i++)
{
anshunxu[i]=put[i];
}
// 冒泡排序
bubbleSort(anshunxu,have);
// 得到编号的数组
for(i=0;i<have;i++)
{
for(j=0;j<have;j++)
{
if(put[i]==anshunxu[j])
{
bianhao[i]=j+1;
}
}
}
bianhao[i]='\0';
for(i=0;i<have;i++)
{
b[i].num=put[i];
b[i].no=bianhao[i];
}
return have;
}
以上回答你满意么?
⑵ c语言6-5. 兵乓球比赛的对阵方案
#include<stdio.h>
main()
{ int n,i,a[8],j;
char b[8];
scanf("%d",&n);
for(i=1;i<=n;i++)
b[i]='A'+i-1;
for(i=1;i<=n;i++)
a[i]=i;
for(j=1;j<=n;j++)
{ printf ("scheme %d:\n",j);
for (i=j;i<=n;i++)
printf ("%c pk %d\n",b[i-j+1],a[i]);
for (i=1;i<j;i++)
printf ("%c pk %d\n",b[n-j+i+1],a[i]);}
}
⑶ 学习c语言的必备软件
XCODE(它可以编译几乎所有计算机语言,并且拥有在运行之前就自动报错的功能,只能苹果电脑使用或下载ios模拟)
Turbo C(最常用的了,很经典,操作很方便,适合windows系统)
⑷ 扫雷 c语言代码 告诉我~~
你的意思是,自动布置雷区,然后根据雷区分布,给出正确位置和周边数量?
⑸ 程序调试,北理c语言乐学作业
#include <stdio.h>
void reverse( char *str, int i, int j )
{
char temp;
if( i < j )
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
reverse( str, i+1, j-1 );
}
return;
}
int main()
{
int n=0;
char s[100];
gets(s);
while( s[n] != '\0' )
n++;
reverse( s, 0, n - 1 ); 长度为n,但是下标最大只到n - 1.若为n,则已经指空
puts(s);
return 0;
}
⑹ c语言,组成最大数
其实我感觉你没有读懂题目的考察点,你代码我运行也成功,但是没注释版,有点晕
这题权目真正考察的我感觉是冒泡排序
char h[200];
int i,n=0,j;
char t;
gets(h);
for(i=0;h[i]!='