主页 > 科技生活 >完美国际补丁_在单片机c语言编程中,8位数据能直接和13位数据作比较么 >

完美国际补丁_在单片机c语言编程中,8位数据能直接和13位数据作比较么

在单片机c语言编程中,8位数据能直接和13位数据作比较么?
都按有符号数或者无符号数扩展为16位,就可以比较了啊。可以的,这由编译器去处理,你只管用就好了。原则上可以。但不推荐这样。数据类型可转换。貌似不能。你是想怎么比,比大小?
C语言编程,对文件中数据进行处理
读入文件ex.c,并把其有的小写改为大写字母,字符不变,在屏幕上输
#include
main()
{
FILE *fp;
char ch;
if((fp=fopen("ex.c","r"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (ch!=EOF)
{
if(ch>='a'&&ch<='z')ch-=32;
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}#define NUM 1000
#include

void main()
{
FILE *f;
int num;
int data[50];
int i=0,j=0;
int max,min;
int tmp;
f=fopen("data.txt","r+");
fscanf(f,"%d",&num);

for(i=0;i {
if(fscanf(f,"%d",&data[i])==EOF)
break;
}

for(i=0;i {
for(j=i+1;j{
if(data[i]==data[j])
{
data[j]=0;
}
}
}

for(i=0;i {
for(j=i+1;j{
if(data[i]>data[j])
{
tmp=data[i];
data[i]=data[j];
data[j]=tmp;
}
}
}

max=data[0];
tmp=0;
for(i=0;data[i]!=0;i++)
{
tmp+=data[i];
min=data[i];
}
num=i;

rewind(f);

fprintf(f,"%d\n",num);
for(i=0;data[i]!=0;i++)
{
fprintf(f,"%d ",data[i]);
}
fputc('\n',f);
fprintf(f,"%d %f",max-min,((float)tmp)/((float)num));
//fputc(EOF,f);
fclose(f);
}
这个是从大到小 你没告诉我排序方 如果你要从小到大排序 给我追加50分给码 或者你自己改本回答被提问者采纳这个应该容易把!
自己写的出来!
相信自己!
如何用c语言编程输入一个文档里的数据并进行重排然后输出,急
#include

FILE *fr, *fw;

int a[150001];
int n; //数据数量

void quicksort(int s, int t);

int main()
{
int i;
fr = fopen("sort.in", "r");
fw = fopen("sort.out", "w");

n = 1;
while(fscanf(fr, "%d", &a[n]) = EOF)
n++;
n--; //输入

quicksort(1, n);

for(i = 1; i <= n; i++)
fprintf(fw, "%d ", a[i]); //输出

fclose(fr);
fclose(fw);
return 0;
}

void quicksort(int s, int t) //函数,s为开始端,t为结
{
int i = s, j = t;
if(s < t)
{
a[0] = a[s];
do
{
while(i < j && a[j] >= a[0])
j--;
if(i < j)
{
a[i] = a[j];
i++;
}
while(i < j && a[i] <= a[0])
i++;
if(i < j)
{
a[j] = a[i];
j--;
}
}while(i < j);
a[i] = a[0];
quicksort(s, i - 1);
quicksort(i + 1, t);
}
}ls正解~
C语言:编写函数用冒泡排序法对数组中的数据进行从小到大的排序.

inti,j,temp;
for(i=0;i {
for(j=0;j{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}

之间写这个

追问

请问您能解答一下这几个步骤吗?追答

这是冒泡排序的核心思想(泡泡越往上浮,体积越大),基本思路:将相邻的两个数比较,通过交换位置将较大的数放在后面(从小到大排序)或将较小的数放在后面(从大到小排序),一直比较到最后一个数,这样的话,最大(或最小的数)将会放在最后面,称之为归位。接下来,将第二大(或第二小)的数通过交换放到第二个位置,经过多次比较,数列会趋于有序状态。
以数组3,6,4,2,1为例
第一次循环:6与4交换位置,变成3,4,6,2,1;6与2交换,变成3,4,2,6,1;6与1交换变成3,4,2,1,6。
现在解释代码的详细步骤:
外层for循环,是执行的次数。比如数组的大小为n,那么进行n-1次归位,剩下的一个数已经被迫归位了。
内层for循环,是遍历所有要比较的数,条件jif条件里的就是,将较大的数交换到后面(如果后面的数本来就大就不用交换),通过不停的交换,使数到达应该它在的位置。

不知道我解释清楚没有,你可以脑补一下算法的过程。


上一篇: 下一篇: