本文目录一览:
C语言问题。。
一、C语言规定总是从main()开始执行的(这个函数也叫“主函数”)。因此,你发来的题目中的(1、6、8)叙述都是错误的,都应该选择F。 二、第2题中,C语言对其数据在内存中所占用的实际字节数,随着程序中声明的数据类型以及数据的多少而变化,C语言本身并没有明确规定。这题应该选F。 三、第3题,C语言中强制类型转换,仅对转换的语句有效,而不会改变所转换变量的原有数据类型,这是正确的,应该选T。 四、第4题,i=8,j=10;printf("%d,%d,%d,%d\n",i,j,i,j);实际上是一个程序执行类题目,执行这一句时,先取得ij变量的值,其中有一个i(先自增),一个j(后自增),先自增的i先加上1,也就是i=8+1=9,而后自增的j在打印之后再加1,所以打印出来是:9 10 9 10。这是正确的。 五、第5题“C语言中放在“”之间的内容都被视为字符串的一个构成部分,都可以在屏幕上原样显示”的说法是错误的。举一个例子就可以了:print("%d",8);是打印不出来%d的,它只能打印出来8。所以它是错的。 六、第7题,设x、t均为int型变量,则执行语句"x = 10;t = x x 10;"后,t的值为,这个题目好似没有写完,成了填空题了,现在来看计算过程,t = x x 10,根据计算的优先级,号是6级,是11级,先计算x 10,因为x=10,故x10是不成立的,所以它的值是0,第二步再计算x 0=10 0=0。t的值最后应该是0。 希望对你有所帮助。
用调用只求m和n的最小公倍数C语言
#include "stdio.h"
void main()
{
int m,n,j;
/*请在两条星线之间填入相应的代码, 声明gbs函数*/
/*********************************************/
int gbs(int m, int n );
/*********************************************/
int m,n;
printf("输入两个正整数m和n:"); /* 输入提示 */
scanf("%d%d",m,n);
/*在两条星线间填入相应代码, 调用函数gbs求m和n的最小公倍数*/
/*********************************************************/
j=gbs(m,n);
/*********************************************************/
printf("%d与%d的最小公倍数是%d\n",m,n,j); /* 输出结果 */
}
int gbs(int m,int n) //定义求m和n的最小公倍数函数
{
int temp,j;
/*请在两条星线间填入相应代码, 求m和n的最小公倍数*/
/*****************************************************/
for(j=m;j=m*n;j++)
if(j%m==0 && j%n==0)
break;
/*****************************************************/
return j; /* 返回结果 */
}
关于C语言
#include stdio.h
long int abc(int a,int b);
void main()
{
int a,b,gys,gbs;
printf("输入整数a:");
scanf("%d",&a);
printf("输入整数b:");
scanf("%d",&b);
gys=abc(a,b);
gbs=a*b/gys;
cout<<"最大公约数:"<<gys<<endl<<"最小公倍数:"<<gbs<<endl;
}
int abc(int a,int b)
{
int temp,df;
if (a < b)
{
temp=a;a=b;b=temp;
}
if (a % b ==0)
{
df=b;
return df;
}
else
{
abc(b,a % b);
}
}
C语言max_gys,min_gbs问题
int min_gbs(int x,int y)
{
return (p/(max_gys(m,n)));
}
中的p是哪里来的
帮忙看个C语言函数问题,怎么办
#include "stdio.h"
int gys(int x, int y)
{
int i;
for(i=(x > y ? x : y); i >= 1; i--)
{
if(x % i == 0 && y % i == 0)
{
return(i);
break;
}
}
return 0; //加个返回
}
int gbs(int x, int y)
{
int i,k;
k=1;
for(i=(x > y ? x : y); i <= x*y; i = i * k++)
{
if(i % x == 0 && i % y == 0)
{
return(i);
break;
}
}
return 0; //加个返回
}
void main() //main主函数改正
{
int num1,num2;
scanf("%d%d",&num1,&num2);
printf("%d和%d的\n最大公约数为:%d\n最小公倍数为:%d\n",num1,num2,gys(num1,num2),gbs(num1,num2));
}