×

c语言编程题目及答案 语言编程

50分求几道C语言编程题答案(在线=)?手机c语言编程软件

admin admin 发表于2022-07-07 10:42:06 浏览109 评论0

抢沙发发表评论

50分求几道C语言编程题答案(在线=)


1。先用辗转相除法求最大公约数

#include 《stdlib.h》

int gcd(int m,int n){
int a=m,b=n;
int c;
if(a《b) a=n,b=m;
while(a%b!=0){
c=b;
b=a%b;
a=c;
}
return b;
}

void main(){
{
int m,n;
scanf(“%d,%d“,&m,&n);
int g=gcd(m,n);//最大公约数
int lcm=m*n/g;
printf(“%d,%d“,g,lcm);
}

2.先将每位数字分离,然后再操作

int old;
scanf(“%d“,&old);
int a;
int i;
for(i=0;i《3;i++){
a[i]=((old%10)+5)%10;
old=old/10;
}
int newd=a*1000+a*100+a*10+a;
printf(“%d“,newd);

手机c语言编程软件


如果在手机上学C语言编程,可以试试名为易历知食的软件,其内部有项功能叫微C程序设计,可以在手机上进行C语言编程练习,其自带的示例如下图:

最简单的入门程序:

运行结果:

99乘法表程序:

运行结果:

其自带的C语言编程键盘界面:


c语言编程程序崩溃


同学,你是对c语言的按值传递理解不到位。

void s ( int * p_c )
{
p_contemp = ( int * ) malloc ( 5 * sizeof ( int ) )
此处为for循环控制语句依次给数组依次输入5个数
}
你最初的代码,s ( int * p_c )中,你用malloc 分配了5个int的空间,把此空间的地址赋给了p_contemp,而没有赋给指针p_c,所以p_c指向空,在main()中调用a . h_p
会出错,其为空指针。

而且就算你在s ( int * p_c )中,把malloc 分配的5个int的空间的地址赋给s的参数p_c指针,在main()中,调用a . h_p ,仍然会出错,a . h_p 仍然为空指针。
因为在c语言中函数的参数是按值传递的,即在本题中,你把a . h_p 作为实参传递给s ( int * p_c )函数,此时a.h_p为空指针,根据按值传递规则,形参p_c将与实a.h_p具有相同的值:空。
在s ( int * p_c )内,( int * ) malloc ( 5 * sizeof ( int ) )执行后,把分配到的空间地址赋给形参p_c,此时形参p_c不为空了,但是根据按值传递原则,实参所指向的地址没变,仍为空。

你所谓的“指针传递只要改一个,另一个的内容应该也做了改动”是对的,但是你的代码写的不对。你可以在函数外面弄一个指向某个地址的指针,把它传给一个参数为指针的函数,在函数内修改指针指向的内容,则在函数外实参指针指向的内容也会变。

你也可以考虑用c++的引用传递,即把你最初的s ( int * p_c )声明为s ( int * &p_c ),其它代码不变,就能看到你想要的效果。
-c语言编程题目及答案