if(ch>='0' && ch<='9') digit=(int)ch - 48;
if(ch>='A' && ch<='F') digit= 9 + (int)ch - 64;
if(ch>='a' && ch<='f') digit= 9 + (int)ch - 96;
for(i=0; h[i]!='\0'; i++)
d=change(h[i]);
n=n16 + d;
另外,上面代码中void main主函数中
dec=htod(char hex[]);应该为:dec=htod(hex);
#include <stdioh>
#include <mathh>
int f(float a,float b,float c,float x1,float x2)
{ if(bb-4ac<0) return 1;
x1=(-b+sqrt(bb-4ac))/2/a;
x2=(-b-sqrt(bb-4ac))/2/a;
return 0; //1
}
void main()
{ float u1,u2; float a,b,c;
printf("input a b c:");
scanf("%f%f%f",&a,&b,&c);
if(f(a,b,c,&u1,&u2)) printf("实数范围内无解\n"); //2
else printf("%2f %2f\n",u1,u2);
}
1、如下程序的输出结果是 c=3 。
main( )
{ int a=2,b=-1,c=3;
if(a<b)
if(b<0)
c=0;
else
c++;
printf(“c=%d”,c);
}
else 是与前面一个最近的if对应的,a=2,b=-1,a<b不成立,因此后面一个if--else---语句没有执行,c值没有改变。
2、求 1! + 2!+3!+--------+10!
main ( )
{
float s=0, t=1;
int n;
for ( n=1; n<=10; n++ )
{
t=n;
s+=t;
}
printf ( “1! + 2!+3!+--------+10!=%f ”, s );
}
3、若变量n中的值为24,则printf函数共输出____行,最后一行有______个数。
void prnt(int n,int aa[])
{ int i;
for(i=1;i<=n;i++)
{ printf("%6d",aa[i]);
if(!(i%5)) printf("\n");
}
printf("\n");
}
if(!(i%5)) printf("\n");每行输出5个数,共5行,最后一行4个数;
4、把一个数组中的数倒序存放
main( ) {
int i,t;
int a[10]={1,2,3,4,5,6,7,8,9,10};
for(i=0; i<=9; i++)
{
if (i<5)
{t=a[i];a[i]=a[9-i];a[9-i]=t;}
}
for(i=1;i<=10;i++) //输出数组中的值
printf("%d ", a[i-1]);
}
5、以下程序的输出结果是_3_5_7_。
main()
{
int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d ",x[i][2-i]);
}
x:
1 2 3
4 5 6
7 8 9
i 2-i x[i][2-i]
0 2 x[0][2]=3
1 1 x[1][1]=5
2 0 x[2][0]=7
6、判断一个整数是否是素数。如果是素数,输出Yes!,否则输出No!
main() {
int n,i;
scanf("%d",&n);
for( i=2;i<n;i++ )
{
if(n%i)
break;
}
if( i==n)
printf("Yes!");
else
printf("No!");
}
1 void fun(int a); 这里函数声明的地方要改为 void fun(int a[3][3]);
2 void fun(int a[3][3])函数中,最后少了两个右大括号}
3 空的地方a[][]填a[i][j]是没错的
另外虽然声明和定义了fun函数,作用是沿对角线翻转二维数组,即转置
但是上面的代码中却没有调用fun,调用fun函数后的代码和运行结果如下:
改动的地方见注释,输出正确,望采纳~
附源码:
#include<stdioh>
int main() {
void fun(int a[3][3]); // 这里函数声明处a的行列数值要填上
int a[3][3] = {{0,1,2},{3,4,5},{6,7,8}};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++)
printf("%d ", a[i][j]);
printf("\n");
}
fun(a); // 这里调用fun函数,沿对角线翻转二维数组a
printf("翻转后:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}
void fun(int a[3][3]) {
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++) {
if (i < j) {
int tmp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = tmp;
}
}
}
你确定你的main函数写对了吗? 都没有scanf??
答案:
1、b[k],你这里是个选择排序方法,在第一个found下面的三个表达式,是将数组中两个元素进行替换,替换的一般步骤都是这样的:t=a[i],a[i]=a[j],a[j]=t
2、b[4],这个mid参数是用来存数组排序之后的中间值,9个元素,中间位置应该是第五个元素,也就是数组中的b[4]
3、<,题目中要求,将数组中元素比mid小的都替换成mid,所以这里用小于号代替,如果是将数组中元素比mid大的都替换成mid,这里则用大于号代替
以上就是关于1. 程序填空全部的内容,包括:1. 程序填空、C语言 程序填空(调用函数f用以求1元2次方程的实根)、c语言程序填空题 1、如下程序的输出结果是 。 main( )等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)