当前位置:文档之家› C语言上机作业题及答案

C语言上机作业题及答案

实验一:1、已知华氏温度,根据转换公式计算相应的摄氏温度。

摄氏温度= 5*(华氏温度-32)/92.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。

如:输入 12345输出 5 4 3 2 1#include"stdio.h"main(){double t,T;printf ("已知华氏温度,根据转换公式计算相应的摄氏温度");scanf ("%lf",&t);T=(5*(t-32)/9);printf ("摄氏温度=%lf",T);}#include"stdio.h"main(){int value,a,b,c,d,e,m,n,h;printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value);a=value/10000; m=value%10000;b=m/1000; n=m%1000;c=n/100; h=n%100;d=h/10;e=h%10;printf ("%d%d%d%d%d",e,d,c,b,a);}实验二:1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误差在3厘米范围内即视为相符)。

男性身高=(父亲身高+母亲身高)×1.08÷2(厘米)女性身高=(父亲身高×0.923+母亲身高)÷2(厘米)2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。

应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数其中,起征点额度是3500元,其他如下:应纳税所得额税率速算扣除数不超过1500元的部分 3% 0超过1500元至4500元的部分 10% 105超过4500元至9000元的部分 20% 555超过9000元至35000元的部分 25% 1005超过35000元至55000元的部分 30% 2755超过55000元至80000元的部分 35% 5505超过80000的部分 45% 13505如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。

#include<stdio.h>#include<math.h>main(){float A,a,H,h,b;printf("父亲身高(厘米)\n");scanf("%f",&A);printf("母亲身高(厘米)\n");scanf("%f",&a);printf("孩子实际身高(厘米)\n");scanf("%f",&H);printf("请选择孩子性别:女=0,男=1\n");scanf("%f",&b);if(b)h=(A+a)*1.08/2;elseh=(A*0.923+a)/2;if(fabs(H-h)<=3)printf("实际身高符合该公式\n");elseprintf("实际身高不符合该公式\n");printf("孩子预测身高(厘米)%f",h);}#include<stdio.h>main(){float s,a,t;printf("应纳个人所得税税额=(税前收入-起征点额度)*适用税率-速算扣除数\n");printf("起征点额度=3500元\n");printf("税前收入s=");scanf("%f",&s);if(s<=3500)t=0;else{ a=s-3500;if(a<=1500)t=a*0.03-0;elseif(a<=4500)t=a*0.1-105;elseif(a<=9000)t=a*0.2-555;elseif(a<=35000)t=a*0.25-1005;elseif(a<=55000)t=a*0.3-2755;elseif(a<=80000)t=a*0.35-5505;elset=a*0.45-13505;}printf("应纳个人所得税税额=%f\n",t);}实验三:1.编程解决鸡兔同笼问题(无解时给出输入错误提示)。

描述如下:一个笼子里关了鸡和兔子,已知鸡和兔子的总数a以及脚的总数b,问笼子里面有多少只鸡,有多少只兔子。

2.设计并编程实现一个猜数游戏:由计算机随机产生一个1~100之间的整数请人猜,如果猜对了,则在屏幕上输出猜了多少次才猜对此数,结束游戏;否则计算机给出提示,说明所猜的数是太大还是太小,最多可以猜10次,如果猜10次仍未猜中的话,则给出正确答案并结束游戏。

#include"stdio.h"main(){int a,b,i,j;printf("一个笼子里关了鸡和兔子,已知鸡和兔子的总数a以及脚的总数b,求鸡兔各几只\n");printf("a=");scanf("%d",&a);printf("b=");scanf("%d",&b);for(i=0;i<=a;i++){ for(j=0;j<=a;j++){if(i+j==a&&i*2+j*4==b)printf("鸡的只数=%d\n兔子的只数=%d\n",i,j);if(i+j==a&&i*2+j*4==b) break;}if(i+j==a&&i*2+j*4==b) break;}if(i+j!=a&&i*2+j*4!=b)printf("输入错误\n");}#include"stdio.h"#include"stdlib.h"#include"time.h"main(){int a,b,i;srand(time(0));a=rand()%100+1;for(i=1;i<=10;i++){ printf("请猜一个1-100的数字b=");scanf("%d",&b);if(b==a){printf("猜了的次数=%d\n",i);break;}if(b>a)printf("猜的数太大\n");if(b<a)printf("猜的数太小\n");}printf("正确答案是%d\n",a);}实验四:1.从键盘输入一个班(不超过30人)学生某门课的成绩,当输入成绩为负值时,则输入结束,统计并输出不及格人数并打印不及格学生的成绩,按成绩高低排序,输出该班最高分及最低分。

2.从键盘上输入一个字符串存放在一个字符数组中,按照以下规则对其加密:其中所有的大写英文字母加3,小写英文字母减4,其它字符不变,将加密后的字符串存放到另一个字符数组中,输出原字符串和加密后的字符串。

如:输入Microsoft Visual C++输出Pe_nkokbp Yeoq]h F++#include "stdio.h"#define N 30main(){int a[N],i=0,j,k,m=0,t;do{printf("输入学生成绩a[%d]=",i);scanf("%d",&a[i]);i++;}while(a[i-1]>=0);k=i-2;for(i=0;i<k;i++){ for(j=i+1;j<k+1;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}if(a[i]<60){printf("不及格成绩a[%d]=%d\n",i,a[i]);m++;}}printf("不及格人数m=%d\n",m);printf("该班最高成绩a[%d]=%d\n",k,a[k]);printf("该班最低成绩a[0]=%d\n",a[0]);}#include"stdio.h"#include"string.h"#define N 50void main(){char strl[2][N];char c;int i=0,k;while((c=getch())!=13) //回车键停止输入{strl[0][i]=c;putch(c);i++;}strl[0][i]='\0';k=i;for(i=0;i<k;i++){ if(strl[0][i]>='A'&&strl[0][i]<='Z')strl[1][i]=strl[0][i]+3;else if(strl[0][i]>='a'&&strl[0][i]<='z')strl[1][i]=strl[0][i]-4;else{strl[1][i]=strl[0][i];}strl[1][k]='\0';}printf("\n");printf("%s\n",strl[1]);}实验五:1.编写求和函数和求平均值函数。

在主函数中,输入一组10个整数,存储在一个数组中,调用求和函数求出这10个整数的和值,调用求平均值函数求出这10个整数的平均值,输出计算结果。

2.编写函数,统计字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串并输出统计结果。

#include <stdio.h>int sum(int a[]);float aver(int a[]);main(){int i,a[10];for(i=0;i<10;i++){ printf("请输入整数a[%d]=",i);scanf("%d",&a[i]);}printf("这10个整数的和为%d\n",sum(a));printf("这10个整数的平均数为%.3f\n",aver(a)); }int sum(int a[]){ int i,sum=0;for(i=0;i<10;i++)sum=sum+a[i];return sum;}float aver(int a[]){ int i,s=0;float aver;for(i=0;i<10;i++)s=s+a[i];aver=s/10.0;return aver;}#include<stdio.h>#include<string.h>void count(char str[]);int chars = 0,nums = 0,spaces = 0,others = 0;main(){ char s[100];printf("请输入字符串s[100]:");gets(s);count(s);printf("字母的个数为%d\n",chars);printf("数字的个数为%d\n",nums);printf("空格的个数为%d\n",spaces);printf("其他字符的个数为%d\n",others);}void count(char str[]){ int i,length;length = strlen(str);for (i=0;i<=length-1;i++){ if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))chars++;else if((str[i]>='0')&&(str[i]<='9'))nums++;else if(str[i]==' ')spaces++;else others++;}}。

相关主题