C语言编程实验_第1页
C语言编程实验_第2页
C语言编程实验_第3页
C语言编程实验_第4页
C语言编程实验_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言实验习题7-1输出图形(10分)编写程序输出图形。第一行输出12个$,第二行先输出3个空格,然后再输出hello!,第三行输出12个$输入样例:无输入输出样例:$$$$$$$$$$$$hello!$$$$$$$$$$$$代码:#include<stdio.h>intmain(){printf("$$$$$$$$$$$$\n""hello!\n""$$$$$$$$$$$$\n");return0;}7-5计算华氏温度(5分)本题要求编写程序,计算摄氏温度26°C对应的华氏温度。计算公式:F=9XC/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。输入格式:本题目没有输入。输出格式:按照下列格式输出celsius=26,fahr=对应的华氏温度整数值代码:#include<stdio.h>intmain(){intf;intc;c=26;f=9*c/5+32;printf("celsius=26,fahr=%d",f);return0;}7-9逆序的三位数(10分)程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。输入样例:123输出样例:321代码:#include<stdio.h>intmain(){intn,a,b,c;scanf(〃%d〃,&n);a=n/100;b=n/10-a*10;c=n-a*100-b*10;intd;d=a+b*10+c*100;printf(〃%d〃,d);return0;}7-10整数四则运算(10分)本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式:输入在一行中给出2个正整数A和B。输出格式:在4行中按照格式“A运算符B=结果”顺序输出和、差、积、商。输入样例:输出样例:代码:#include<stdio.h>intmain(){intA,B;scanf("%d%d〃,&A,&B);intc,d,e,f;c=A+B;d=A-B;e=A*B;f=A/B;printf("%d+%d=%d\n""%d-%d=%d\n""%d*%d=%d\n""%d/%d=%d\n”,A,B,c,A,B,d,A,B,e,A,B,f)return0}7-11求整数均值(10分)本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。输入格式:输入在一行中给出4个整数,其间以空格分隔。输出格式:在一行中按照格式“Sum=和;Average=平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。输入样例:1234输出样例:代码:#include<stdio.h>intmain(){inta=1,b=1,c=1,d=1;doubleaverage=1.0;scanf("%d%d%d%d",&a,&b,&c,&d);intAverage;average=(double)(a+b+c+d)/4;intsum;sum=a+b+c+d;printf("Sum=%d;Average=%.1lf\n〃,sum,average);return0;7-1三天打鱼两天晒网(15分)中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式:输入在一行中给出一个不超过1000的正整数N。输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“indayN”。输入样例1:103输出样例1:Fishinginday103输入样例2:34输出样例2:Dryinginday34代码:#include<stdio.h>intmain(){intN,b;N<=1000;scanf(〃%d〃,&N);b=N%5;if(b==4||b==0)printf("Dryinginday%d",N);elseprintf("Fishinginday%d",N);return0;}7-2计算符号函数的值(15分)对于任一整数n,符号函数sign(n)的定义如下:-1 <0)S£gn(n)=< 0(n=0)[1(«>0)请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式"sign(n)=函数值”输出该整数n对应的函数值。输入样例1:输出样例1:sign(10)=1输入样例2:0输出样例2:sign(0)=0输入样例3:-98输出样例3:sign(-98)=-1代码:#include<stdio.h>intmain(){intn;scanf(〃%d〃,&n);n<0?(printf("sign(%d)=T〃,n)):n==0?(printf(〃sign(%d)=0",n)):printf("sign(%d)=1",n);}7-3阶梯电价(15分)为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost=应付电费值”;若用电量小于0,则输出"InvalidValue!”。输入样例1:10输出样例1:输入样例2:输出样例2:cost=55.50代码:#include<stdio.h>intmain(){inta;doubleb;scanf(〃%d〃,&a);if(a<0)printf("InvalidValue!\n〃);elseif(a>=0&&a<=50.0){b=(0.53*a);printf("cost=%.2lf\n〃,b);}elseif(a>50.0){b=(0.58*(a-50)+26.5);printf("cost=%.2lf\n〃,b);}7-4计算油费(15分)现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得至5%和3%的折扣。本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m-自助,e-协助),计算并输出应付款。输入格式:输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m-自助,e-协助)。输出格式:在一行中输出应付款额,保留小数点后2位。输入样例:4097m输出样例:301.34代码:#include<stdio.h>#include<stdlib.h>intmain(){inta,b;doublem1,m2;charc;scanf("%d%d%c”,&a,&b,&c);switch(b){case90:m1=6.95*a;break;case93:m1=7.44*a;break;case97:m1=7.93*a;break;}switch(c){case('m'):m2=0.95*m1;break;case('e'):m2=0.97*m1;break;}printf(〃%.2lf〃,m2);}7-5两个数的简单计算器(15分)本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。输出格式:当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERRORo输入样例1:-7/2输出样例1:输入样例2:输出样例2:代码:#include<stdio.h>#include<stdlib.h>intmain(){inta,b,d;charc;scanf("%d%c%d”,&a,&c,&b);if(c==,+,||c==,-,||c==,*,||c==,/,||c==,%,)switch(c){case,+,:printf(〃%d〃,a+b);break;case'-':printf(〃%d〃,a-b);break;case'*':printf(〃%d〃,a*b);break;case'/':printf(〃%d〃,a/b);break;case'%':printf(〃%d〃,a%b);break;}elseprintf(〃ERROR〃);}7-1生成3的乘方表(15分)输入一个非负整数n,生成一张3的乘方表,输出30〜3n的值。可调用幂函数计算3的乘方。输入格式:输入在一行中给出一个非负整数n。输出格式:按照幂的递增顺序输出n+1行,每行格式为“pow(3,i)=3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。输入样例:3输出样例:pow(3,0)=1pow(3,1)=3pow(3,2)=9pow(3,3)=27代码:#include<stdio.h>#include<math.h>intmain(){intn,i,result;scanf(〃%d〃,&n);for(i=0;i<=n;i++){result=pow(3,i);printf("pow(3,%d)=%d\n",i,result);}}7-2奇偶分家(15分)给定N个正整数,请统计奇数和偶数各有多少个?输入格式:输入第一行给出一个正整N(W1000);第2行给出N个正整数,以空格分隔。输出格式:在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。输入样例:9887410126150342277输出样例:36代码:#include<stdio.h>intmain(){intn,i,g,k,a=0,b=0;scanf(〃%d〃,&n);for(i=0;i<n;i++){scanf(〃%d〃,&g);if(n<0||n>1000)continue;k=g%2;switch(k){case1:a++;break;case0:b++;break;}}printf("%d%d”,a,b);return0;}7-3找出最小值(15分)本题要求编写程序,找出给定一系列整数中的最小值。输入格式:输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。输出格式:在一行中按照“min=最小值”的格式输出n个整数中的最小值。输入样例:4-2-1231000输出样例:代码:#include<stdio.h>#include<stdlib.h>intmain(){inti,m,n;scanf(〃%d〃,&n);inta[n];if(n<1);elsefor(i=0;i<n;i++)scanf(〃%d〃,&a[i]);m=a[0];for(i=0;i<n;i++){if(m>a[i])m=a[i];}printf("min=%d",m);}7-4求平方根序列前N项和(15分)本题要求编写程序,计算平方根序列”1+"2+"3+的前N项之和。可包含头文件math.h并调用sqrt函数求平方根。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。输入样例:输出样例:sum=22.47代码:#include<stdio.h>#include<math.h>intmain()inti,n;doublesum=0;scanf(〃%d〃,&n);for(i=1;i<=n;i++){sum+=sqrt(i);}printf("sum=%.2lf",sum);}7-5统计学生平均成绩与及格人数(15分)本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。输入格式:输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。输出格式:按照以下格式输出:average=成绩均值count=及格人数其中平均值精确到小数点后一位。输入样例:57754927360输出样例:average=71.2count=4代码:#include<stdio.h>main(){intn,i,a,count=0,sum=0;floatd;scanf(〃%d〃,&n);if(n==0){printf("average=0.0\n〃);printf("count=0");}else{for(i=0;i<n;i++){scanf("%d",&a);sum=sum+a;if(a>=60)count++;}d=(float)sum/(float)n;printf("average=%.1f\n",d);printf("count=%d",count);}}7-6寻找250(15分)对方不想和你说话,并向你扔了一串数对方不想和你说话,并向你扔了一串数……而你必须从这一串数字中找到“250”这个高大上的感人数字。输入格式:输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。输出格式:在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。输入样例:888666123-23325013250-222输出样例:代码:#include<stdio.h>#include<stdlib.h>intmain(){inti,n,m;for(i=1;;i++){scanf(〃%d〃,&n);if(n==250)break;}m=i;printf(〃%d〃,m);}7-7猴子吃桃问题(15分)一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1<NW10)。输出格式:在一行中输出第一天共摘了多少个桃子。输入样例:3输出样例:10代码:#include<stdio.h>#include<math.h>intmain(){inta,b,n;scanf(〃%d〃,&n);a=pow(2,n-1);printf(〃%d〃,3*a-2);}7-8大笨钟(15分)微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲广12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。下面就请你写个程序,根据当前时间替大笨钟敲钟。输入格式:输入第一行按照hh:mm的格式给出当前时间。其中hh是小时,在00到23之间;mm是分钟,在00到59之间。输出格式:根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang。如果不是敲钟期,则输出:Onlyhh:mm.TooearlytoDang.其中hh:mm是输入的时间。输入样例1:19:05输出样例1:DangDangDangDangDangDangDangDang输入样例2:07:05输出样例2:Only07:05.TooearlytoDang.代码:#include<stdio.h>#include<stdlib.h>intmain(){inta,b,n,i;charc;scanf(〃%2d%c%2d〃,&a,&c,&b);if((a>=0&&a<=11)||(a==12&&b==0))printf("Only%02d:%02d.TooearlytoDang.”,a,b);elseif(b==0)for(i=0;i<a-12;i++)printf(〃Dang〃);elseif(b!=0)for(i=0;i<a-11;i++)printf(〃Dang〃);}7-9输出三角形字符阵列(15分)本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。输入格式:输入在一行中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论