c语言程序阅读题怎么写题

C语言程序设计习题试题(编程题)_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言程序设计习题试题(编程题)
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩9页未读,
定制HR最喜欢的简历
你可能喜欢《好看》依托百度技术,精准推荐优质短视频内容,懂你所好,量身打造最适合你的短视频客户端!C语言程序题_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言程序题
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩10页未读,
定制HR最喜欢的简历
你可能喜欢您还可以使用以下方式登录
当前位置:&>&&>& > c语言第一次作业程序题pta
c语言第一次作业程序题pta
5-1 统计学生平均成绩与及格人数
(15分)本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。输入格式:输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。 输出格式:按照以下格式输出:其中平均值精确到小数点后一位。输入样例:输出样例:int main(){int n,i,count=0,a[10000];double sum=0,scanf("%d",&n);for(i=0;i&n;i++)scanf("%d",&a[i]);for(i=0;i&n;i++){if(a[i]&=60)count++;sum=sum+a[i];}if(n!=0)aver=sum/n;printf("average = %.1f\ncount = %d\n",aver,count);} 5-3 大炮打蚊子
(15分)现在,我们用大炮来打蚊子:蚊子分布在一个M\times NM×N格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:第一行为两个不超过20的正整数M和N,中间空一格,表示二维平面有M行、N列。接下来M行,每行有N个0或者#字符,其中#表示所在格子有蚊子。 接下来一行,包含一个不超过400的正整数k,表示发射炮弹的数量。 最后k行,每行包括一发炮弹的整数坐标x和(y0\le≤x&&M,0\le≤y&&N),之间用一个空格间隔。输出格式:对应输入的k发炮弹,输出共有k行,第i行即第i发炮弹消灭的蚊子数。 输入样例:输出样例:#include&stdio.h&int main(){int i,j,m,jg,n,x[202],y[202],str[202][202];char STR[202][202];scanf("%d %d",&m,&n);for(j=0,i=0;i&m;i++,j++) {
scanf("%s",STR[i]); } for(i=0;i&m;i++) {
for(j=0;j&n;j++)
str[i][j]=-1;
} } for(i=0;i&m;i++) {
for(j=0;j&n;j++)
if(STR[i][j]=='#')
str[i][j]=2;
} } scanf("%d",&jg); for(i=0;i&i++)
scanf("%d%d",&x[i],&y[i]); int xd,yd,sum=0; for(j=0;j&j++) {
xd=x[j];yd=y[j];
if(xd&=0&&xd&m&&yd&=0&&yd&n)
if(str[xd][yd]==2)
sum++;str[xd][yd]=-1;
if(str[xd][yd]==1)
str[xd][yd]=-1;
if(xd-1&=0&&xd&=m&&yd&=0&&yd&n)
if(str[xd-1][yd]==2||str[xd-1][yd]==1)
str[xd-1][yd]=str[xd-1][yd]-1;if(str[xd-1][yd]==0){sum++;str[xd-1][yd]=-1;}}if(xd+1&m&&xd&=-1&&yd&=0&&yd&n){if(str[xd+1][yd]==1||str[xd+1][yd]==2)
str[xd+1][yd]=str[xd+1][yd]-1;
if(str[xd+1][yd]==0){sum++;str[xd+1][yd]=-1;}}if(xd&=0&&xd&m&&yd-1&=0&&yd&=n){if(str[xd][yd-1]==1||str[xd][yd-1]==2)
str[xd][yd-1]=str[xd][yd-1]-1;
if(str[xd][yd-1]==0){sum++;str[xd][yd-1]=-1;}}if(xd&=0&&xd&m&&yd+1&n&&yd&=-1){if(str[xd][yd+1]==1||str[xd][yd+1]==2)
str[xd][yd+1]=str[xd][yd+1]-1;
if(str[xd][yd+1]==0){sum++;str[xd][yd+1]=-1;}}printf("%d\n",sum);}return 0;}5-4 人民币兑换
(15分)1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。 输入格式:输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照5分硬币从少到多排列的。输出格式:显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。注意:如果全部方案不到n种,就顺序输出全部可能的方案。输入样例:输出样例:int main(){int i,j,k,n,a;scanf("%d",&n);for(i=1;i&=n;i++)for(j=0;j&=75;j++)for(k=0;k&=150;k++)if(5*i+j*2+k==150 && i+j+k==100)printf("%d %d %d\n",i,j,k); } 5-5 计算分段函数[2]
(10分)本题目要求计算下列分段函数f(x)f(x)的值: 注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。输入样例1:输出样例1:输入样例2:输出样例2:#include&math.h&int main(){float x,y;scanf("%f",&x);if(x&=0)y=sqrt(x);elsey=pow(x+1,2)+2*x+1/x;printf("f(%.2f) = %.2f\n",x,y);return 0;} 5-6 厘米换算英尺英寸
(15分)如果已知英制长度的英尺footfoot和英寸inchinch的值,那么对应的米是(foot+inch/12)\times 0.3048(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:输出样例: int main(){
scanf("%d",&cmlen); int foot= cmlen/100.0/0.3048; int inch = (cmlen/100.0/0.3048-foot)*12; printf("%d %d\n",foot,inch); return 0;}5-8 单词长度
(15分)你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",...);来读入一个字符,直到读到.为止。输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。输入样例:输出样例:方法一#include &stdio.h&int main(){int i=0;while(1){scanf("%c",&str);
if(str == '.'){if(i!=0)
}if(str==' '){if(i!=0)
{}}else{i++;
}}return 0;}方法二#include&stdio.h&#include&string.h&int main(){char str[520]; printf("%d",i); printf("\n"); printf("%d ",i); i=0;int i,j=0,k,g=0;for(i=0;;i++){scanf("%c",&str[i]);
if(str[i]=='.')}k=i;for(i=i-1;i&=0;i--){if(str[i]==' ')g++;else}for(i=0;i&=k;i++){if(str[i]=='.'){if(j!=0){printf("%d",j);
printf("\n");
}}if(str[i]==' '){ if(j!=0){printf("%d",j);
if(i&k-g)printf(" ");
}}else{j++;}}return 0;}#include&stdio.h&int main(){char c,firstflag=1;int count = 0;scanf("%c",&c);while(c != '.'){if(c == ' '){if(count != 0)
{if(firstflag==1)
{printf("%d",count);
firstflag=0;
elseprintf(" %d",count);
count = 0;}}elsecount++;scanf("%c",&c);
}if(count!= 0){if(firstflag==1)
printf("%d",count);
elseprintf(" %d",count);
}return 0;}方法三#include &stdio.h&#include &stdbool.h&int main(){l =i = 0;while((ch = getchar()) && ch != '.'){if(ch != ' ')i++;else if(i != 0){if(l)printf(" ");printf("%d", i);l =i = 0;}}if(i != 0){if(l)printf(" ");printf("%d\n", i);}return 0;}
5-9 爬动的蠕虫
(15分)一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。输入格式:输入在一行中顺序给出3个正整数N、U、D,其中D&&U,N不超过100。输出格式:在一行中输出蠕虫爬出井的时间,以分钟为单位。输入样例:输出样例:#include&stdio.h&int main(){int N,U,D,L,scanf("%d %d %d",&N,&U,&D);time=L=0;while(L&N){time++;L=L+U;if(L&=N)L=L-D;time++;}printf("%d\n",time);return 0;} 5-10 字符串字母大小写转换
(15分)本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。 输入格式:输入为一个以“#”结束的字符串(不超过30个字符)。输出格式:在一行中输出大小写转换后的结果字符串。 输入样例:输出样例:#include&stdio.h&int main(){int i,k;char a[3000];for(i=0;i&30000;i++){scanf("%c",&a[i]);if(a[i]=='#'){k=i;}}for(i=0;i&30;i++){if('A'&=a[i]&&a[i]&='Z'){a[i]=a[i]+32;}elseif('a'&=a[i]&&a[i]&='z'){a[i]=a[i]-32;}else a[i]=a[i];}for(i=0;i&k;i++){ printf("%c",a[i]);}printf("\n");return 0;} 5-11 找最长的字符串
(15分)本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最长的字符串:如果字符串的长度相同,则输出先输入的字符串。#include&stdio.h&int main(){char str[1];int N,i,j,k=0,m;scanf("%d",&N);for(i=0;i&=N;i++){for(j=0;j&80;j++){scanf("%c",&str[i][j]);if(str[i][j]=='\n')}}for(i=0;i&=N;i++){for(j=0;j&80;j++)if(str[i][j]=='\n')if(j&k){k=j;m=i;}}printf("The longest is: ");for(i=0;i&k;i++)printf("%c",str[m][i]); }return 0;4-1 使用函数计算两个复数之积
(10分)若两个复数分别为:c_1=x_1 + y_1 ic1=x1+y1i和c_2=x_2 + y_2ic2=x2+y2i,则它们的乘积为 c_1 \times c_2 = (x_1 x_2 - y_1 y_2) + (x_1 y_2 + x_2 y_1)ic1×c2=(x1x2-y1y2)+(x1y2+x2y1)i。本题要求实现一个函数计算两个复数之积。 函数接口定义: void complex_prod( double x1, double y1, double x2, double y2 ){ result_real=x1*x2-y1*y2;result_imag=x1*y2+x2*y1;} 4-2 计算存款利息-genlib
(10分)本题要求提交main函数,实现以下功能:读入存款金额money、存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前): interest = money\times (1+rate)^{year} -moneyinterest=money×(1+rate)year-money 输出时保留2位小数。注意:你需要提交一个完整的main函数,但不要修改下列函数提示中已经给出的内容。函数接口定义及提示:裁判测试程序样例:输入样例(括号内为说明):输出样例: int main(void){int money,double interest,scanf("%d",&money);scanf("%d",&year);scanf("%lf",&rate);interest=money*pow((1+rate),year)-printf("interest = %.2f\n", interest);return 0;} 4-3 提桶寻宝
(10分)给你准备好一个小桶,告诉你一片广袤的天地,随手一指,挖宝去吧~ 说计算机话!好吧,题目是这样的:假设一个二维区域内藏有财宝,对于给定的此前寻到的财宝数量以及坐标(x,y),按照以下规则在该位置寻回财宝,并更新财宝数量。规则:? 如果x、y均为奇数,则获得原有三分之一数量的财宝,小数部分忽略不计?? 如果x、y均为偶数,则获得 5 财宝 如果x、y奇偶性不同,则不获得财宝注意:财宝数量、坐标x、坐标y都是int类型范围内的非负整数,在同一个位置可以重复寻找并获得财宝。函数接口定义:输入样例:输出样例:int getTreasure(int *pBucket, int x, int y){if(x%2==0){if(y%2==0){*pBucket=*pBucket+5;return 1;}elsereturn 0;}else{if(y%2!=0){*pBucket=*pBucket+*pBucket/3;return 1;}elsereturn 0;}}4-4 弹球距离
(15分)设有一个球从高度为hh米的地方落下,碰到地面后又弹到高度为原来pp倍的位置,然后又落下,再弹起,再落下…。请编写函数求初始高度为hh的球下落后到基本停下来(高度小于给定阈值TOL)时在空中所经过的路程总和。函数接口定义:输入样例:输出样例:double dist( double h, double p ){double d=h;while(p!=0){h=p*h;if(h&TOL)d=d+2*h;}return (d);} 4-5 符号函数
(10分)本题要求实现符号函数sign(x)。函数接口定义:输入样例:输出样例:int sign( int x ){if(x&0)y=1;else
if(x&0)y=-1;elsey=0;return (y);} 4-6 使用函数判断完全平方数
(10分)本题要求实现一个判断整数是否为完全平方数的简单函数。 函数接口定义:输入样例1:输出样例1:输入样例2:输出样例2:{if ((int)sqrt(n) == sqrt(n))return (1);elsereturn (0);} 4-7 使用函数求1到10的阶乘和
(10分)本题要求实现一个计算非负整数阶乘的简单函数,使得可以利用该函数,计算1! + 2! + \cdots + 10!1!+2!+?+10!的值。函数接口定义:输入样例:本题没有输入。输出样例:double fact( int n ){if(n&=1)f=1;else f=fact(n-1)*n;return (f);} 4-8 使用函数求最大公约数
(10分)本题要求实现一个计算两个数的最大公约数的简单函数。 函数接口定义:输入样例:输出样例:int gcd( int x, int y ){ int r,t;if(x&y){t=x;x=y;y=t;}while((r=x%y)!=0){x=y;y=r;}return (y);} 4-9 递归求阶乘和
(15分)本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。函数接口定义:输入样例1:输出样例1:{if(n&=1){f=1;}else{f=fact(n-1)*n;}}double factsum(int n){double sum=0;for(i = 1; i &= i++) }
sum = sum + fact(i);
return (sum);4-10 递归求Fabonacci数列
(10分)本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下: f(n)=f(n-2)+f(n-1)f(n)=f(n-2)+f(n-1) (n\ge 2n≥2),其中f(0)=0f(0)=0,f(1)=1f(1)=1。函数接口定义:输入样例:输出样例:int f( int n ){if(n==0)d=0;else if(n==1)d=1;else d=f(n-2)+f(n-1);} 4-11 分类统计字符个数
(15分)本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。函数接口定义:的格式输出。裁判测试程序样例:输入样例:输出样例:void StringCount( char s[] ){int i,letter=0,blank=0,digit=0,other=0;for(i=0;s[i]!='\0';i++){if((s[i]&='a' && s[i]&='z')||(s[i]&='A' && s[i]&='Z'))letter++;else if(s[i]==' ' || s[i]=='\n')blank++;else if(s[i]&='0' && s[i]&='9')digit++;elseother++;}printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);}4-12 在数组中查找指定元素
(15分)本题要求实现一个在数组中查找指定元素的简单函数。函数接口定义:其中list[]是用户传入的数组;n(\ge 0≥0)是list[]中元素的个数;x是待查找的元素。如果找到则函数search返回相应元素的最小下标(下标从0开始),否则返回-1-1。 裁判测试程序样例:输入样例1:输出样例1:输入样例2:输出样例2:int search( int list[], int n, int x ){int i,k=-1;for( i=0; i & i++ ){if(x==list[i]){k=i;}} }4-13 判断奇偶性
(10分)本题要求实现判断给定整数奇偶性的函数。函数接口定义:输入样例1:输出样例1:输入样例2:输出样例2:int even( int n ){if(n%2==0)return (1);elsereturn (0);}
欢迎转载:
相关推荐:您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
c语言编程练习题绝对经典.doc 29页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
c语言编程练习题绝对经典
你可能关注的文档:
··········
··········
精品文档
2016全新精品资料-全新公文范文-全程指导写作 –独家原创
PAGE29 / NUMPAGES29
c语言编程练习题绝对经典
共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?
编写程序,采用穷举法求出结果。
? 编写程序,根据以下公式求e的值。要求用两种方法计算:
111111 e?1?????????????1!2!1) for循环,计算前50项
2)while 循环,直至最后一项的值小于10-4
? 从键盘中输入一个数字,用循环语句编程判断并输出这个数字的位数。
? 猴子吃桃子问题。猴子第一天摘下若干个桃,当即只一半,又多吃一个。第二天早上又将剩下
的一半吃掉一半,双多吃一个。以后每天早上都吃了前天剩下的一半零一个,到第10天早上只剩下最后一个桃。问第一天摘了几个桃。
? 编程打印九九乘法表
? 青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分。
? 从键盘中输入一个数字
1) 输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能。
2) 使用数组来进行编程。
? 使用数组,编写一个十进制正整数转换为任意进制数的转换工具。
10进制327转八进制:
327/=0 余数为7
40/= 余数为0
于是八进制数为507)
? 使用数组,编写一个任意进制正整数转换为十进制的转换工具。
? 10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6,
14,20。然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块。
? 编写一个函数,用以求x2-5x+4的值,x做为函数的形参,调用此函数,求:
y1=2-5×2+4
Y3=2-5sinx+4
sinx 可以加载”math.h” 库函数后使用,函数说明为
double sin
? 编写一个函数,使给定的一个二维数组行列互换。
? 从键盘中输入一个不超过40个字符的字符串,再输入一个位数,删除???应 位数的字符,然后
输出删除指定字符后的字符串
要求:1) 用puts输出指示信息
2) 用gets接收字符串
? 如果有一个正整数从左、右来读都是一样的,则称为回文式数;比如101,32123,
999都是回数。数学中有名的“回数猜想”之迷,至今未解决。
回数猜想: 任取一个数,再把它倒过来,并把这两个数相加,然后把这个和数再倒过来,与原和数相加,重复此过程,一定能获得一个回数。
例: 倒过来是6
68+86= 154
154+541=05
605+506=1111
编程,输入任意整数,按上述方法产生一个回数,为简便起见,最多计算7步,看是否能得到一个回数。
主函数中接收键盘数据,必须用scanf接收整型变量,
显示该数与其倒数的和,输出每一步计算步骤。
子函数1,计算该数的倒数。
子函数2,验证和是否为回数,
是则主函数打印“经过n次计算,得到回数”,超过7次未能得到回数,显示,“经过n次计算,未得到回数”
? 求Sn=a+aa+aaa++aaaaaaa,其中a和n都从键盘中输入,如从键盘中输入2,5,则计
算S5=2+22+222+。
#include "stdio.h"
int a,n,i=1;
long s=0,t=0;
? 两个乒乓球队进行比赛,各出三人。甲队为A,B,C三人,乙队为X
正在加载中,请稍后...

我要回帖

更多关于 c语言经典程序100例 的文章

 

随机推荐