C语言程序设计输入x求函数y,C语言程序设计实践(OJ)-初识函数
2964: 查閏年
Description
大家知道如何判斷某一年是否是閏年嗎?這個問題可難壞了小編,小編在寫一個查找m年到n年之間閏年的程序,卻苦于判斷閏年的函數(shù)不會寫,據(jù)說 今天你有上機(jī)課,我就拿著這個問題來找你了–
閏年的條件是:能被4整除但不能被100整除,或能被400整除。
#include
int leap_year(int n); /*聲明判斷閏年函數(shù)*/
int main()
{
int i;
int cnt; /*計(jì)數(shù),用于每行滿8個換行*/
int m,n;
scanf("%d %d",&m,&n); /*輸入年份*/
cnt=0; /*初始化*/
for(i=m;i<=n;i++) /*遍歷m到n的每一年*/
{
if(leap_year(i)) /*判斷i年是不是閏年*/
{
printf("%d",i); /*輸出閏年*/
cnt++; /*計(jì)數(shù)+1*/
if(cnt==8) /*夠8個換行,cnt清0*/
{
printf("\n");
cnt=0;
}
else
{
printf(" ");
}
}
}
return 0;
}
主程序已給出,請自行編寫leap_year函數(shù)并提交
Input
第m年和第n年
Output
m年至n年之間的所有閏年,輸出結(jié)果每行8個,數(shù)據(jù)之間用空格分隔。
Sample Input
1949 2045
Sample Output
1952 1956 1960 1964 1968 1972 1976 1980
1984 1988 1992 1996 2000 2004 2008 2012
2016 2020 2024 2028 2032 2036 2040 2044
2963: 判斷三角形
Description
婁月的妹妹劉月是個初中生,某天回來興高采烈的回家告訴姐姐他學(xué)會了如何憑借三角形三邊判斷三角形的形狀(設(shè)兩條短邊為啊a,b;長邊為c,判斷a*a+b*b和c*c的關(guān)系),于是婁月告訴劉月,給她三條邊,她可以在一秒之內(nèi)知道三角形是直角,鈍角還是銳角三角形,當(dāng)然,這么快只有編程才能做到。以下是婁月編寫的程序,由于忘記了一些知識點(diǎn),三個判斷三角形的函數(shù)無法完成,于是 只能請聰明的你幫忙嘍。
#include
#define swap(x,y){x=x+y;y=x-y;x=x-y;}
/*下面三個函數(shù)都是:是返回1,不是返回0*/
int right_triangle(double a,double b,double c); /*判斷直角三角形*/
int acute_triangle(double a,double b,double c); /*判斷銳角三角形*/
int obtuse_triangle(double a,double b,double c); /*判斷鈍角三角形*/
int main()
{
double a,b,c; /*三角形的三邊*/
scanf("%lf %lf %lf",&a,&b,&c); /*輸入三邊*/
/*將三邊按照從小到大排好*/
if(a>b)
swap(a,b);
if(a>c)
swap(a,c);
if(b>c)
swap(b,c);
/*根據(jù)if判斷選擇三角形*/
if(acute_triangle(a,b,c))
printf("銳角三角形\n");
else if(right_triangle(a,b,c))
printf("直角三角形\n");
else if(obtuse_triangle(a,b,c))
printf("鈍角三角形\n");
return 0;
}
提交時只需提交right_triangle,acute_triangle,obtuse_triangle三個函數(shù)
Input
三角形的三條邊,大小未知,不必考慮構(gòu)不成三角形的情況
Output
銳角三角形,直角三角形還是鈍角三角形
Sample Input
3 4 5
Sample Output
直角三角形
2966: 循環(huán)畫三角形
Description
前幾天,老師讓良哥做一個畫空心三角形的程序來取悅小師妹,可把良哥愁死了,C語言基礎(chǔ)學(xué)得再扎實(shí),算法不精也是硬傷呀!于是良哥又寫好了主程序來找機(jī)前的你幫忙了^_^
#include
void holl_triangle(int n); /*函數(shù)聲明*/
int main()
{
int n;
scanf("%d",&n); /*輸入行數(shù)n*/
holl_triangle(n); /*調(diào)用輸入n行的空心三角形的函數(shù)*/
return 0;
}
主程序已給出,請完成holl_triangle函數(shù)并提交
Input
輸入一個數(shù)字 例如 5
Output
*
* *
* *
* *
*********
輸出如上圖形
Sample Input
5
Sample Output
*
* *
* *
* *
*********
2962: 日期妙算星座
Description
近幾年星座運(yùn)勢十分流行,據(jù)說一年之中根據(jù)月份可以分出十二個星座,它們分別是:摩羯座(12.21-1.19),水瓶座(1.20-2.18),雙魚座(2.19-3.20),白羊座(3.21-4.19),金牛座(4.20-5.20),雙子座(5.21-6.21),巨蟹座(6.22-7.22),獅子座(7.23-8.22),處女座(8.23-9.22),天秤座(9.23-10.23),天蝎座(10.24-11.22),射手座(11.23-12.21),猴哥對星座很感興趣,他想快速根據(jù)自己的出生日期求出他所屬的星座,請你編程幫助他吧~
#include
void constellation(int year,int month,int day); /*函數(shù)聲明*/
int main()
{
int year,month,day;
scanf("%d %d %d",&year,&month,&day); /*輸入變量*/
constellation(year,month,day); /*調(diào)用函數(shù)*/
return 0;
}
主程序已給出,提交時只需提交constellation函數(shù)
Input
日期
Output
星座名稱
Sample Input
2000 12 31
Sample Output
摩羯座
1047: 求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)
Description
寫兩個函數(shù),分別求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個函數(shù),并輸出結(jié)果兩個整數(shù)由鍵盤輸入。
Input
兩個數(shù)
Output
最大公約數(shù) 最小公倍數(shù)
Sample Input
6 15
Sample Output
3 30
HINT
主函數(shù)已給定如下,提交時不需要包含下述主函數(shù)
/* C代碼 */
int main()
{
int n,m,gys,gbs;
int gcd(int a, int b);
int lcm(int a, int b);
scanf("%d%d",&n,&m);
gys=gcd(n,m);
gbs=lcm(n,m);
printf("%d %d\n",gys,gbs);
return 0;
}
2405: 牛頓迭代法求根
Description
用牛頓迭代法求根。方程為ax3+bx2+cx+d=0。系數(shù)a,b,c,d的值一次為1,2,3,4,由主函數(shù)輸入。求x在1附近的一個實(shí)根。求出根后由主函數(shù)輸出。結(jié)果保留兩位小數(shù)。
Input
系數(shù)a,b,c,d的值
Output
x在1附近的一個實(shí)根
Sample Input
1 2 3 4
Sample Output
-1.65
HINT
主函數(shù)已給定如下,提交時不需要包含下述主函數(shù)
/* C代碼 */
int main()
{
double solut(double ,double ,double ,double );
double a,b,c,d;
scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
printf("%.2f",solut(a,b,c,d));;
return 0;
}
2965: 趣味取小數(shù)
Description
聽說大家最近學(xué)得不錯,教授就準(zhǔn)備考考大家,先做出來有獎哦~
編寫一個函數(shù),取一個小數(shù)的第n(-10<=n<=16)位,當(dāng)n大于0時,從小數(shù)點(diǎn)位置開始向右取小數(shù)部分第n位,當(dāng)n小于0時,從小數(shù)點(diǎn)位置開始向左取整數(shù)部分的第n位。
#include
#include
int get_one_digit(double num,int n); /*函數(shù)聲明*/
int main()
{
double number;
int n;
int digit; /*第n位數(shù)字*/
scanf("%lf %d",&number,&n); /*輸入數(shù)據(jù)*/
digit=get_one_digit(number,n); /*調(diào)用查找第n位數(shù)字并將數(shù)字返回復(fù)制給digit*/
printf("%d\n",digit);
return 0;
}
主程序已給出,請編寫get_one_digit函數(shù)并提交該函數(shù)即可
Input
一個小數(shù),取小數(shù)的第n位
Output
小數(shù)的第n位
Sample Input
5.5772156649015328 10
Sample Output
9
總結(jié)
以上是生活随笔為你收集整理的C语言程序设计输入x求函数y,C语言程序设计实践(OJ)-初识函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言里变量列表,嵌入式C语言里的土豪们
- 下一篇: android项目模块导入eclipse