C语言编程题库,C语言编程题目

1,C语言编程题目 a=5 s = s + f(&a) = 0 + 5 = 5 由于传递的是引用,此时a 的值被改变(函数f返回值5后,a的值才变为6),因为执行了一次++ , 所以a变为6,但由于a只是s = s + f(&a) = 5 + 2 = 7此时a的值是2 ,s为5 函数返回值 2后 , a加一变为3 ,所以结果为711a++返回的值为执行自加运算以前的值 。第一次调用时,f(&a)返回5,第二次调用时,f(&a) 返回6 。另外,函数传递指针,能够改变其所指变量的值、7第一次返回5,但是有个大括号把它括起来 他的作用域只在这儿就结束了第二次调用全局变量a=2;所以5+2 = 7才对11a++ , a的值是+1后的,(a++)的值是+1前的f()函数返回a++,即a+1前的值f()函数的参数是指针,会改变参数本身的值,第一次a是5,第二次是65+6=117第一次执行s+=f(&a)输出a+1前的值,此时a是使用局部变量,值为5,s=5第一次执行s+=f(&a)输出a+1前的值,此时a是使用全局变量,a的值为2,s=5+2=7【C语言编程题库,C语言编程题目】
2,c语言编程题目//第一题#include "stdio.h"double fun(int n){double result=1.0;while (n>1 && n<170)/*********found*********/result*=n--;/*********found*********/return result;}main(){int n;printf("Enter an integer: ");scanf("%d",&n);printf("\n\n%d!=%lg\n\n",n,fun(n));}//第二题#include #include void fun(int a, int b, long *c) { *c=a%10*100+a/10+b/10*10+b%10*1000; } main() { int a,b; long c; printf("Input a, b:"); scanf("%d%d", &a, &b); fun(a, b, &c); printf("The result is: %ld\n", c); }我的答案跟“C/C++”回答的差不多?。∪绻慊姑谎У街刚牖蚴?,我再帮你写第二问的题目(数组、指针都不用)?。〉谝惶?#include "stdio.h"double fun(int n){double result=1.0;while (n>1 && n<170)/*********found*********/result*=n--;//将--n改为n--/*********found*********/return result;//横线上填result}main(){int n;printf("Enter an integer: ");scanf("%d",&n);printf("\n\n%d!=%lg\n\n",n,fun(n));}第二题#include #include void fun(int a, int b, long *c) { int i,j,k,l; i=a/10;//a的十位数 j=a%10;//a的个位数 k=b/10;//b的十位数 l=b%10;//b的个位数 *c=i+100*j+10*k+1000*l; } main() { int a,b; long c; printf("Input a, b:"); scanf("%d%d", &a, &b); fun(a, b, &c); printf("The result is: %ld\n", c); }用递归做好一些第一题 改错题(30分)函数fun的功能是: 计算整数n的阶乘 。【MODI1.C】#include "stdio.h"double fun(int n){double result=1.0;while (n>1 && n<170)/*********found*********/result*=n--;----->//--n;/*********found*********/return result;--->//_____;}main(){int n;printf("Enter an integer: ");scanf("%d",&n);printf("\n\n%d!=%ldg\n\n",n,fun(n));---->//\n\n",n,fun(n));}第二题 编程题(70分)函数fun的功能是: 将两个两位数的正整数a、b合并形成一个整数放在c中 。合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上, b数的十位和个位数依次放在c数的十位和千位上 。例如, 当a=45, b=12, 调用该函数后, c=2514 。【PROG1.C】#include #include void fun(int a, int b, long *c) { int d; d=b/10; d*=10; d+=a/10; d+=a%10*100; d+=b%10*1000; c=&d; } main() { int a,b; long c; printf("Input a, b:"); scanf("%d%d", &a, &b); fun(a, b, &c); printf("The result is: %ld\n", c);第一题:result第二题:void fun(int a,int b,long *c){*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;}72. void fun(char *s,char t[]){int i,j=0,n=strlen(s);for(i=0;i

    推荐阅读