printf(“该数是奇数”); }
int main() {
int num;
scanf(“%d”,&num); func(num); return 0; }
解析:func()函数对传入进来的参数num进行奇偶判断; 主函数中调用func()函数,传入参数得到判断结果。
31、编写一个函数,实现1-100的相加和,并在主函数中调用。 答案:#include
int num, sum = 1;
for(num = 1; num <= 100; num++) {
sum += num; }
return sum; }
int main() {
int sum = 0; sum = func();
printf(“sum = %d”,sum); return 0; }
解析:func()函数实现1-100的相加和,并将结果返回给调用者。 主函数中的sum接收调用func函数的返回值,并将其打印
32、请编写一个程序,用户从键盘输入英文字母,如果是大写,将其转换成小写输出;如果是小写,将其转换成大写输出。
提示:英文字母在计算机中以ASCII码表形式存在。 答案:#include
char ch; printf(\请输入英文字母:\\n\ scanf(\ if (ch >= 'A' && ch <= 'Z') printf(\ else if (ch >= 'a' && ch <= 'z')
printf(\return 0; }
解析:英文字母对应的ASCII码值,大写比对应小写小32
33、请编写一个程序,用户输入一个十进制整数,分别输出其十进制、八进制、十六进制对应的数值。
答案:#include
int num;
scanf(“%d”,&num);
printf(“十进制为:%d\\n八进制为:%o\\n十六进制为:%x\\n”,num,num,num); return 0; }
解析:十进制输入格式符为%d,八进制输出格式符为%o,十六进制输出格式符为%x。 34、请编写一个程序,实现两个数的求和,并打印出来。 答案:#include
void add(int a, int b) { int s = a + b; show(s); return; }
int main() {
int s = a + b; show(s); return 0; }
解析:add()函数实现两个数相加,show()函数将两个数相加的结果打印出来。 35、请编写一个程序,用户从键盘随机输入四个数,比较这个四个数得出其中最大值并输出。 提示:
1)编写一个两个数值比较的函数
2)编写一个四个数值比较的函数,调用这个函数,在该函数中调用两个数值比较的函数 答案:#include
} else { return b; } }
int max4(int a, int b, int c, int d) { int res; res = max2(a, b); res =max2(res,c); res = max2(res, d); return res; }
int main() {
int a, b, c, d, max;
printf(\请输入四个整数:\ scanf(“%d%d%d%d”,&a,&b,&c,&d); max = max4(a, b, c, d); printf(\return 0; }
解析:输入四个数,调用max4()函数,在max4()函数中又调用max2()函数进行两两比较,
最后得出最大值,返回给调用函数。
36、请编写一个程序,计算s = 2^2! + 3^2!; 提示:
1)编写一个函数计算平方值 2)编写一个函数计算阶乘 答案:#include
long f2(int q){ long c = 1; int i; for (i = 1; i <= q; i++) c = c*i;
return c; }
int main() { int i; long s = 0; for (i = 2; i <= 3; i++) s = s + f1(i); printf(\return 0; }
解析:函数f1()实现了计算数值的平方,函数f2()实现了阶乘计算,在f1()中调用f2()实现
了计算表达式的值。
37、请编写一个程序,用递归方法实现n!。 提示:
1) 递归调用是函数自身调用自身的过程 2) 每递归调用一次n就要自减一次 答案:#include
int main() {
int n ;
scanf(“%d”,&n); int sum = add(n);
printf(“结果为:%d\\n”,sum); return 0; }
解析:add()函数实现递归,每调用一次n要减1. 38、请编写一个程序,求出m的n次方。 提示:编写递归函数求解。 答案:#include
相关推荐: