前言:
现在咱们对“c语言函数题目”大概比较着重,小伙伴们都想要学习一些“c语言函数题目”的相关内容。那么小编同时在网上收集了一些关于“c语言函数题目””的相关文章,希望姐妹们能喜欢,同学们一起来学习一下吧!1. 求最大值(1级)1
【题目描述】
请编写一个求两整数的最大值函数GetMax。要求在主函数中调用该函数,该函数的主要功能是判断从键盘任意输入两个整数的大小,计算并输出最大值。
【输入】
两个整数。
【输出】
两个整数中的最大值。
【样例输入】
15 30↙
【样例输出】
MAX=30↙
参考代码:
#include <stdio.h>int GetMax(int a,int b){int c;c=a>b?a:b;return c;}int main(){int num1, num2, max;scanf("%d%d", &num1, &num2);max = GetMax(num1, num2);printf("MAX=%d\n", max);return 0;}
2. 实现计算器基本功能(1级)1
【题目描述】
编写程序分模块设计实现计算器的基本运算功能(加减乘除,除数默认不为0)。
【输入】
两个数字,一个运算符号
【输出】
运算结果,结果保留2位小数。
【样例输入】
2*3↙
【样例输出】
6.00↙
参考代码:
#include <stdio.h>#include <stdlib.h>float sum(float a, float b) /*定义加法运算函数*/{float c;c = a + b;return(c);}float sub(float a, float b) /*定义减法运算函数*/{return(a - b);}float mult(float a, float b){return a * b; /*定义乘法运算函数*/}float divi(float a, float b){return a / b; /*定义除法运算函数*/}main() /*主函数*/{float x, y, result;char c;scanf("%f%c%f", &x, &c, &y);if (c =='+')result = sum(x, y); /*有参函数调用*/else if (c =='-')result = sub(x, y);else if (c == '*')result = mult(x, y);else if (c == '/')result = divi(x, y);printf("result is %.2f\n", result);}
3. 判断三角形 (1级)1
【题目描述】
编写函数实现功能:若a,b,c 能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
【输入】
三个整数
【输出】
三角形的形状用1、2或3表示
【样例输入】
3 3 3↙
【样例输出】
The shape : 3↙
参考代码:
#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;scanf("%d%d%d",&a,&b,&c);shape =fun(a,b,c);printf("The shape : %d\n",shape);}
4. 交换两个变量的值 (1级) 2
【题目描述】
编写函数将两个变量的值交换,例如变量a中的值原为3,b中的值原为8,程序运行后a中的值为8,b中的值为3。
【输入】
两个整数
【输出】
交换后的两个整数
【样例输入】
3 5↙
【样例输出】
5 3↙
参考代码:
#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t;}void main(){int a,b;scanf("%d %d",&a,&b);fun(&a,&b);printf("%d %d\n",a,b);}
5. 存放数值(1级)Y 2
【题目描述】
从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中,将中间值放在变量b中。
【输入】
三个整数
【输出】
按要求输出变量a、b和c的值
【样例输入】
55 12 34↙
【样例输出】
a=55,b=34,c=12↙
参考代码:
#include <stdio.h>void fun(int *a,int *b,int *c)//接收a,b,c的地址{int t;if(*a<*b){t=*a;*a=*b;*b=t;}if(*a<*c){t=*a;*a=*c;*c=t;}if(*b<*c){t=*b;*b=*c;*c=t;}}void main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);fun(&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);}
6. 进制转换(2级)Y 1
【题目描述】
将十进制正整数m转换成k进制数(2≤k≤9)并输出(m,k从键盘输入)。
【输入】
两个正整数m和k
【输出】
按进制转换后的数
【样例输入】
8 2↙
【样例输出】
1000↙
参考代码:
#include <stdio.h>void Trans( int m, int k ){int aa[20], i, j;for( i = 0; m; i++ ){aa[i] = m%k;m /= k;}for( j=i-1; j>=0; j-- )printf("%d", aa[j]);}void main(){int b, n;scanf("%d %d", &n, &b );Trans( n, b );}
7. 统计个数(1级) 2
【题目描述】
统计从键盘输入的20个整数中有多少个正数、多少个负数、多少个零。
【输入】
20个整数
【输出】
交换后的两个整数
【样例输入】
-1 -2 9 0 3 0 -9 -7 -6 2 0 -2 23 9 0 -45 23 9 0 0↙
【样例输出】
正数:7 , 负数:7 , 零:6↙
参考代码:
#include <stdio.h>void fun(int *zs,int *fs,int *l,int aa[]){int i;for(i=0; i<20; i++){if(aa[i]>0)(*zs)++;if(aa[i]<0)(*fs)++;if(aa[i]==0)(*l)++;}}void main(){int num[20];int i,czs,cfs,cl;czs=cfs=cl=0;for(i=0; i<20; i++)scanf("%d",&num[i]);fun(&czs,&cfs,&cl,num);printf("正数:%d , 负数:%d , 零:%d \n",czs,cfs,cl);}
8. 输出数字图形 (1级)Y 1
【题目描述】
从键盘输入n 值,输出如下图形(n=6时)。
1 2 3 4 5 6
1 1 2 3 4 5
1 1 1 2 3 4
1 1 1 1 2 3
1 1 1 1 1 2
1 1 1 1 1 1
【输入】
正整数n
【输出】
n*n大小的数字图形(每个数字占3个域宽)
【样例输入】
5↙
【样例输出】
1 2 3 4 5↙
1 1 2 3 4↙
1 1 1 2 3↙
1 1 1 1 2↙
1 1 1 1 1↙
参考代码:
#include <stdio.h>void fun(int n){int i,j;for(i=1; i<=n; i++){for(j=1; j<=i; j++)printf("%3d",1);for(j=2; j<=n+1-i; j++)printf("%3d",j);printf("\n");}}void main(){int n;scanf("%d",&n);fun(n);}
9. 求两个整数的阶乘之和(1级) 1
【题目描述】
完成函数计算任意两个整数的阶乘之和。
【输入】
两个整数
【输出】
两个数字分别阶乘然后相加的运算结果
【样例输入】
2,3↙
【样例输出】
8↙
参考代码:
#include <stdio.h>#include <stdlib.h>int factorial(int n) //创建自定义函数{int result = 1;while (n != 0){result *= n--;}return result;//返回函数值}main(){int num1, num2, result;scanf("%d,%d",&num1,&num2);result = factorial(num1) + factorial(num2);//调用两次factorial()printf("%d", result);}
10. 判别整数数组中各元素的值(1级)Y 2
【题目描述】
编写函数,判别整数数组中各元素的值,元素值大于0输出1,元素值小于0输出-1,元素值等于0则输出0。
【输入】
仅一行。输入五个整数。
【输出】
两行。第一行,输出五个1,-1或者是0的整数(用空格隔开),来代表输入数字大于零、小于零还是等于零。第二行,输出刚才输入的五个整数对应的a[i]的值。
【样例输入】
4,6,20,0,-7↙
【样例输出】
1 1 1 0 -1 ↙
a[0]=4 a[1]=6 a[2]=20 a[3]=0 a[4]=-7 ↙
参考代码:
#include <stdio.h>void f(int n) /*定义函数f()及形式参数n, n为整型变量*/{if (n > 0)printf("%d ", 1);else if (n == 0)printf("%d ", 0);else printf("%d ", -1);}main(){int a[5], i;for (i = 0; i < 5; i++){scanf("%d,",&a[i]);f(a[i]); /*调用5次函数,数组元素a[i]作实参*/}printf("\n");for (i = 0; i < 5; i++)printf("a[%d]=%d ",i,a[i]);printf("\n");}
标签: #c语言函数题目