#include<stdio.h>
int main()
{
printf("%.3f",f(0,2));
return 0;
}
int f(int x,int y)
{
char seq1[6],seq2[6];
float r;
seq1[6]="ACGTT";
seq2[6]="GCATG";
if (seq1[x]=='A'&&seq2[y]=='A')
r=0.99;
return(r);
}
第1个回答 2015-01-02
函数类型是int型,返回值只能是整型,所以返回值0.99转化为0了,最后也是输出0.000;
还有我的编译器把函数写在后面但前面没有声明是无法通过的~╮(╯-╰)╭,还有一个错楼上说了
代码一:
#include<stdio.h>
float f(int x,int y)
{
char seq1[6]="ACGTT",seq2[6]="GCATG";
float r;
if (seq1[x]=='A'&&seq2[y]=='A')r=0.99;
return(r);
}
int main()
{
printf("%.3f",f(0,2));
return 0;
}
大妈二:
#include<stdio.h>
int main()
{
float f(int x,int y);
printf("%.3f",f(0,2));
return 0;
}
float f(int x,int y)
{
char seq1[6]="ACGTT",seq2[6]="GCATG";
float r;
if (seq1[x]=='A'&&seq2[y]=='A')r=0.99;
return(r);
}
还有我的编译器把函数写在后面但前面没有声明是无法通过的~╮(╯-╰)╭,还有一个错楼上说了
代码一:
#include<stdio.h>
float f(int x,int y)
{
char seq1[6]="ACGTT",seq2[6]="GCATG";
float r;
if (seq1[x]=='A'&&seq2[y]=='A')r=0.99;
return(r);
}
int main()
{
printf("%.3f",f(0,2));
return 0;
}
大妈二:
#include<stdio.h>
int main()
{
float f(int x,int y);
printf("%.3f",f(0,2));
return 0;
}
float f(int x,int y)
{
char seq1[6]="ACGTT",seq2[6]="GCATG";
float r;
if (seq1[x]=='A'&&seq2[y]=='A')r=0.99;
return(r);
}
第2个回答 2015-01-01
f函数应该改为
int f(int x,int y)
{
char seq1[6]="ACGTT",seq2[6]="GCATG";
float r;
if (seq1[x]=='A'&&seq2[y]=='A')
r=0.99;
return(r);
}追问
int f(int x,int y)
{
char seq1[6]="ACGTT",seq2[6]="GCATG";
float r;
if (seq1[x]=='A'&&seq2[y]=='A')
r=0.99;
return(r);
}追问
还是不对诶~
追答哪里不对,是程序有错误,还是执行结果不对。
第3个回答 2015-01-02
float f(int x,int y)
{
char seq1[6],seq2[6];
float r;
seq1[6]="ACGTT";
seq2[6]="GCATG";
if (seq1[x]=='A'&&seq2[y]=='A')
r=0.99;
return r;
}
{
char seq1[6],seq2[6];
float r;
seq1[6]="ACGTT";
seq2[6]="GCATG";
if (seq1[x]=='A'&&seq2[y]=='A')
r=0.99;
return r;
}