编写一段程序,要求从键盘接收两个数字,利用函数比较其值的大小,并输出最小值
#include <stdio.h>
#include <stdlib.h>
int main(void){
int x,y;
printf("输出两个数\n");
fflush(stdout);
scanf("%d,%d",&x,&y);
if(x>y){
printf("最小值为%d\n",y);
}else{
printf("最小值为:%d\n",x);
}
return EXIT_SUCCESS;
}
编写一个递归函数,当从键盘接受一个数字后,实现其阶乘的运算
#include <stdio.h>
#include <stdlib.h>
double jiecheng(double n){
int i;
double x=1;
for(i=1;i<=n;i++)
x=x*(double)i;
return x;
}
int main(void){
int i,n;
double x;
printf("请输出一个数");
fflush(stdout);
scanf("%d",&n);
x=jiecheng(n);
printf("%.0lf\n",x);
return EXIT_SUCCESS;
}
定义一个含有10个元素的数组,编写一个函数,使其实现输出数组中最大值的运算
#include <stdio.h>
#include <stdlib.h>
int max(int x,int y){
return (x>y?x:y);
}
int main(void){
int arr[10];
int i,n,m;
printf("请输入十个数");
fflush(stdout);
for(i=1;i<10;i++)
scanf("%d",&arr[i]);
for(i=0,n=0,m=arr[0];i<10;i++){
if(max(m,arr[i])){
m=max(m,arr[i]>m);
n=i+1;
}
}
printf("max=%d,n=%d",m,n);
return EXIT_SUCCESS;
}
两数值的谐均值可以这样计算:首先对两数值的倒数取平均值,最后再取倒数。编写一个带有两个double参数的函数,计算这两个参数的谐均值。
#include <stdio.h>
#include <stdlib.h>
double rave(double a, double b);
int main(){
double a = 10;
double b = 22;
printf("%f", rave(a, b));
}
double rave(double a, double b)
{
return (double) 1/((1/a + 1/b)/2);
return EXIT_SUCCESS;
}
编写并测试一个函数Fibonacci(),在该函数中使用循环代替递归完成斐波纳契数列的计算。
#include <stdio.h>
#include <stdlib.h>
int hanshu(int n){
if(n>0 && n<=2){
return 1;
}else{
return (hanshu(n-1)+hanshu(n-2));}
void main(){
int x;
printf("输入数字");
scanf("%d",&x);
printf("%d\n",hanshu(x));
}
return EXIT_SUCCESS;
}
编写并测试一个函数。函数的三个参数是一个字符和两个数字。字符参数是要输出的字符,第一个整数说明了该行中输出字符的个数,第二个字符说明了需要输出的行数。
#include<stdio.h>
void work4_6_1(char c, int w, int h) {
int i = 0, j = 0;
for (i = 0; i < h; i++) {
for (j = 0; j < w; j++) {
printf("%c ", c);
}
printf("\n");
}
}
int main() {
work4_6_1('*',3,4);
return 0;
}
写一个函数,输入一个四位的数字,要求输出这四个数字字符,但每两个数字之间空一空格。
#include<stdio.h>
int main(){
char a[7];
void f(char a[]);
printf("请输入一个4位数字:\n");
fflush(stdout);
scanf("%s",a);
f(a);
printf("输出结果为:%s\n",a);
return 0;
}
void f(char a[]){
int i;
for(i=3;i>0;i--) {
a[i+i]=a[i];
a[i+i-1]=' ';
}
}
写一个函数,使给定的二维函数进行行列转换,例如3×4,转换成4×3,并输出结果,最后将首元素置尾,其他元素前移一位。
#include<stdio.h>
void fun(){
int i = 0, j = 0, t[4][3];
for (i = 0; i < 4; i++) {
for (j = 0; j < 3; j++)
scanf("%d", &t[i][j]);
}
for (i = 0; i < 3; i++) {
printf("\n");
for (j = 0; j < 4; j++) {
printf("%d ", t[j][i]);
}
}
}
int main() {
fun();
return 0;
}