本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-10-20到2021-04-30
本篇答案更新状态:已完结

【作业】第 3 章 运算符、表达式及语句 第 3 章 运算符、表达式及语句作业

1、 问题:从键盘输入两个整数分别给变量a和b,分别写出不借助于其他变量和借助于其他变量的条件下,将变量a和b的值实现交换。(提示:利用“+”、“-”运算)
评分规则: 【 借助其他变量c实现a,b值的交换:c=a;a=b;b=c;
不借助其他变量实现a,b值的交换:a=a+b;b=a-b;a=a-b;

2、 问题:2.从键盘上输入一个浮点数,然后分别输出该数的整数部分和小数部分。
评分规则: 【 若输入的浮点数存入fd变量,则可用强制类型转换运算符,将输入的该数的整数部分取出:zhs=(int)fd;
小数部分=浮点数-整数部分

【作业】第 2 章 数据类型 第二章 单元作业

1、 问题:设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型为(  )。
评分规则: 【 双精度型

2、 问题:int x=2;double y; 经过y=(float)x赋值后,变量x的数据类型是(  )。
评分规则: 【 int或基本整形

3、 问题:scanf函数的地址表列中给出各变量的地址,地址由( )后跟变量名组成。
评分规则: 【 地址符&

4、 问题:C语言使字符型数据和整型数据在一定范围内之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。()
评分规则: 【 正确

5、 问题:使用printf函数时,格式控制字符和各输出项应一一对应。()
评分规则: 【 正确

【作业】第 1 章 C语言基础 C语言基础作业

1、 问题:01170031:用流程图描述求M年X(1≤X≤6)月Y日是M年第W天的过程。
评分规则: 【 (1)流程图整体处理过程正确
(2) 基本图形元素使用准确

2、 问题:01170041:服装产品工艺流程:首先对布料进行选择,看是否符合服装用料的要求,接着把符合用料的布匹按设计图纸加以裁剪,做成服装的“各个零部件”。接着又把需要做图案装饰的零部件印上绣花。接着就把服装的各个部件接边缝制成件。再把成件的衣服用熨斗。接着把策划跟你拼交给质检部门检验质量是否合格。最后把检验合格的产品进行包装。
评分规则: 【 ()流程处理过程描述正确
(2)基本图形符号使用准确

3、 问题:关键字与标识符的区别
评分规则: 【 主要考察学生对C语言关键字和标识符的理解,不能照搬定义。关键字是C语言预先定义的有特殊含义的标识符,C语言中有32个关键字;标识符是由下划线或字符开头,字母、下划线和数字的组合形式,不能与关键字同名,一般长度不超过8位,在C语言中用于标识常量、变量、自定义数据类型、函数等的名称。

4、 问题:数学数与机器数的区别
评分规则: 【 主要考察学生对数学数和机器数的理解。数学中的数用“+”、“-”表示符号,大小用十进制表示,重大小、轻类型;计算机中的数将“+”、“-”符号化为1和0,用二进制表示,重类型、轻大小,同一种类型的数在计算中的存储方式、存储长度相同,表示范围有限。

【作业】第 10 章 文件 第 10 章 单元作业

1、 问题:文件软件191.txt用于存储学生信息,在下列情况下如何利用fseek()、ftell()函数判断文软件191.txt中存储的的学生数?#include<stdio.h>#include<stdlib.h>#include<string.h>struct student{   char name[10];   char num[11];   char sex[3];   int grade[6];   int total;}s[50];char claname[15];int main(){   FILE *fp;   int n,i,j;   char ch;   printf("请输入班级名称:");   scanf("%s",claname);   strcat(claname, ".txt");       //为班级软件191创建一个txt文件   fp=fopen(claname,"w+");   if (fp == NULL)   {      printf("File open error!");      exit(0);   }   printf("请输入学生数 ");   scanf("%d",&n);   printf("请按以下格式并使用空格输入学生信息:姓  名 学      号 性别 大英 高数 C程 导论 体育 近代史");   for(i=0;i<n;i++)  {     scanf("%s",s[i].name);     scanf("%s",s[i].num);     scanf("%s",s[i].sex);     scanf("%d",&s[i].grade[0]);     scanf("%d",&s[i].grade[1]);     scanf("%d",&s[i].grade[2]);     scanf("%d",&s[i].grade[3]);     scanf("%d",&s[i].grade[4]);     scanf("%d",&s[i].grade[5]);     fwrite(&s[i],sizeof(struct student),1,fp);  //将学生信息从内存变量写入文件     fputc(”,fp);                                 //用换行符分割学生信息,每个学生信息占一行  }  fclose(fp);  fp=fopen("软件191.txt","r");  if (fp == NULL)  {     printf("File open error!");     exit(0);  }  printf("学      号 姓  名 性别 总成绩  ");  for (i=0;i<n;i++)                                          //从软件191.txt文件中读学生信息  {     fread(&s[i],sizeof(struct student),1,fp);     ch=fgetc(fp);     s[i].total=0;     for(j=0;j<6;j++) s[i].total+=s[i].grade[j];    printf("%s %s %s  %d", s[i].num, s[i].name, s[i].sex,s[i].total);  }   fclose(fp);   return 0;}
评分规则: 【   fseek(fp,0,SEEK_END);  b=ftell(fp);  fseek(fp,0,SEEK_SET);  a=ftell(fp);  c=sizeof(struct student);  printf("%d=",(b-a)/(c+2));

【作业】第 9 章 指针 第 9章 单元作业

1、 问题:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。1.以下程序通过指针实现求a数组中各元素的和,请在__填写正确内容。#include <stdio.h>int main(){int  a[6]={2,4,6,8,10,12};   int  s, i,*p ;s=0;p=a;for (i=0;i<6;i++)_______//求各元素的和。printf(“s=%d”,s);return 0;}
评分规则: 【 s=s+*p++

2、 问题:编写一个程序,实现将任意输入的两个字符串,连接成一个字符串,在子函数中实现连接,形参用字符指针变量,在______填写正确内容。#include <stdio.h>void mystrcat(char pa,char pb){   while(pa!=’\0′)   pa++;//pa指向第一个字符串的尾部   while(pb!=’\0′)                   {           ①              ;    }//把pb指向单元的内容连接在pa之后,可用一句或多句实现    pa=’\0′;}int main(){   char a[90],b[30];    gets(a);   gets(b);          ②      ; //调用函数,实现两个字符串的连接。   printf("链接后的字符串是:%s",a);   return 0;}
评分规则: 【
pa++=pb++;或者 pa=*pb;pa++;pb++
mystrcat(a,b)

3、 问题:一个数组中的15个值已经按升序排列存放,输入一个数,编程查找是否有该数?有就显示其所在的位置,没有,显示“No  Found”,通过指针实现。
评分规则: 【 #include <stdio.h>int main(){   int  p,m,num[15]={1,-25,-10,-5,0,3,7,9,15,25,36,63,78,98,100};   printf("输入要查找的数:");   scanf("%d",&m);   p=num;   while(p!=m && p<num+15)       p++;    if(p<num+15)        printf("%d是第%d的元素",m,p-num+1);    else         printf("No  Found");    return 0;}

4、 问题:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。1.长度为10的一维整型数组a中依次存储0、1、2、3、4、5、6、7、8、9,现根据需要将这些数字轮转存放,轮转的次数n通过键盘读入。#include<stdio.h>int main( ){    int a[10]={0,1,2,3,4,5,6,7,8,9};   int i,n,temp,p;   printf("输入轮转的次数:");   scanf("%d",        ①      );                    for(i=1;i<=n;i++)   {       temp=(a+9);      for(p=a+9; p>a; p–)              ②           ;                     a=temp;    }   for(i=0;i<10;i++)        printf("%3d", (a+i));   printf("");   return 0;}
评分规则: 【 &n
p=(p-1)

5、 问题:输入一个字符串,将其中连续的数字作为一个整数,依次存放到数组a中。例如:字符串为 ab123&gh6741kpen589,则将123存在a[0]中,6741存在a[1]中,589存在a[2]中。
评分规则: 【 #include<stdio.h>int main(){   char str[80],p;   int num,a[20],i,total;   printf("请输入字符串:");   gets(str);   total=0;   p=str;   while(p!=’\0′)   {      if(p>=’0’&& p<=’9′)      {         num=0;  do  {       num=num10+(p-‘0’);       p++;  }while(p>=’0′ && p<=’9′);   a[total]=num;  total++;     }    else        p++; }  printf("字符串中总计出现%d个数,分别是:",total);  for(i=0;i<total;i++)     printf(" %d",a[i]);  printf("");  return 0;}

【作业】第 8 章 自定义类型 第 8 章 单元作业

1、 问题:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。候选人得票统计程序。设有3个候选人,最终只能有1人当选为领导。今有10个人参加投票,从键盘先后输入这10个人所投的候选人的名字,要求最后输出这3个候选人的得票结果。#include <stdio.h>#include <string.h>struct person{   char name[20];   int count;};int main( ){     struct person leader[3]={"li",0,"zhang",0,"fun",0};     int i,j;     char leader_name[20];     for(i=0;i<10;i++)     {        scanf("%s",leader_name);        for(j=0;j<3;j++)//将票上姓名与3个候选人的姓名比较           if(      ①             )               leader[j].count++;     }     for(i=0;i<3;i++)//输出3个候选人的姓名与最后得票数        printf("%s,%d",leader[i].name,leader[i].count++);     return 0;}
评分规则: 【 strcmp(leader_name,leader[j].name)==0

2、 问题:编写程序1.有10个学生,每个学生的信息包括学号、姓名、3门课的成绩,从键盘输入10个学生信息,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。要求用input函数输入10个学生数据;用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。
评分规则: 【 void input(struct student s[],int n){   int i,j;   for(i=0;i<n;i++)   {  printf("学号:");      gets(s[i].no);      printf("姓名:");   gets(s[i].name);      printf("成绩:");      for(j=0;j<3;j++) scanf("%f",&s[i].score[j]);     fflush(stdin);   }}
void average(struct student s[],int n){      int i,j;   for(i=0;i<n;i++)   {          s[i].average=0;      for(j=0;j<3;j++)   s[i].average+=s[i].score[j];      s[i].average/=3;   }     }}
int max(struct student s[],int n){       float m;       int i,j;    m=s[0].average;    i=0;    for(j=1;j<n;j++)       if(m<s[j].average)      {            m=s[j].average;           i=j;        }     return i;}
#include <stdio.h>#include <stdlib.h>#define N 10struct student    {      char no[12];      char name[10];      float score[3];      float average;   }stu[N];int main(){      int i;   input(stu,N);   average(stu,N);   printf("|  学   号  | 姓   名 |成绩1|成绩2|成绩3|均 分|");   for(i=0;i<N;i++)   printf("|%11s|%9s| %4.1f| %4.1f| %4.1f| %4.1f|",stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average);   i=max(stu,N);   printf("The highest score is:");   printf("%11s  %9s  %4.1f  %4.1f  %4.1f  %4.1f",stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average);   return 0;}

3、 问题:阅读下列程序,分析程序结果。#include <stdio.h>int main(){          enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } day;          scanf("%d", &day);          switch(day){             case Mon: puts("Monday"); break;             case Tues: puts("Tuesday"); break;             case Wed: puts("Wednesday"); break;             case Thurs: puts("Thursday"); break;             case Fri: puts("Friday"); break;             case Sat: puts("Saturday"); break;             case Sun: puts("Sunday"); break;             default: puts("Error!");          }          return 0;}输入:4↙
评分规则: 【 Thursday

【作业】第 7 章 函数 第7章 单元作业

1、 问题:编写一个函数,选出能被3整除且至少一位是5的两位数,用主函数调用这个函数,并输出所有这样的两位数。
评分规则: 【 #include <stdio.h>int fuhe(int n){   int gewei,shiwei;   gewei=n%10;   shiwei=n/10;   if(n%3==0&&(gewei==5||shiwei==5))   return 1;   else   return 0;}int main() {   int i;    for(i=10;i<100;i++)      if(fuhe(i))      printf("%d ",i);   printf("");   return 0;}

2、 问题:编写函数判断某数是否为素数,如果是素数,则返回1,否则返回0,在main函数中调用该函数,根据返回值判断是否为素数。
评分规则: 【 #include <stdio.h>#include <math.h>int sushu(int n){   int i;   for(i=2;i<=sqrt(n);i++)      if(n%i==0) break;   if(i>sqrt(n))   return 1;   else   return 0;}int main() {   int m;    printf("输入任意一个整数:");   scanf("%d",&m);   if(sushu(m))    printf("%d是素数",m);   else    printf("%d不是素数!",m);   return 0;}

3、 问题:兔子生兔子问题。说有一对刚出生的小兔子,一个月后长成大兔子,再过一个月以后,每个月又要生一对小兔子。在没有死亡的情况下,问第n个月后总共有多少对兔子。可以把兔子刚出生的时候看成1月,当时只有一对兔子;过一个月后,也就是2月,小兔子长成大兔子了,目前还是一对兔子;再过一个月,也就是3月,大兔子就生了一对小兔子,现在就是两对兔子了,而且会一直生下去……于是每过一个月就会增加一对兔子。当然还得考虑到生出来的小兔子也会长大,也会再生小兔子,于是就还要加上后出生的小兔子数……如此推下去,即可得出是个Fibonacci数列。(斐波那契数列,又称黄金分割数列,指的是1、1、2、3、5、8、13、21、34、…。这些数字从第三个开始,每一个数字都等于前面两个数字的和。同时后一个数字与前一个数字的比值,无限接近于黄金分割0.618。在数学上,斐波纳契数列以如下方法定义:F(0)=1、F(1)=1,F(2)=2,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。
评分规则: 【 #include<stdio.h>int tuzi(int n){    int num;    if(n==1||n==2)        num=1;   else  num=tuzi(n-2)+tuzi(n-1);   return num ;}int main(){      int i,n,sum=0;    printf("输入整数n值:");    scanf("%d",&n);    printf("第 %d 个月后总共有 %d 对兔子。",n,tuzi(n));    return 0;}

4、 问题:见面分一半:一只小猴子跑到果园里摘桃子,不一会儿就摘到了好多,它很高兴,背起来就往家走。可是没走几步,就被山神拦住了,山神说这片果园是它的,见面要分一半。小猴子无奈,只好把桃分了一半给山神。分完以后,山神看见小猴子的包里有一个特别大的桃,又拿走了那个桃。小猴子很生气,背着桃悻悻地走了。没走多远,又被风爷爷拦住了,同样风爷爷也从小猴子的包里拿走了一半外加一个桃子。之后,小猴子又被雨神、雷神、电神用同样的办法拿了桃。等小猴子到家的时候,包里只剩下一个桃了。小猴子委屈地向妈妈诉说自己的遭遇。妈妈问它原来有多少个桃,小猴子说它也不知道。但妈妈算了一下,很快就知道小猴子原来有多少个桃了。你知道有多少个吗?
评分规则: 【 假设小猴子最初有x颗桃子,被山神拿走x/2+1,剩余x/2-1;有y=x/2-1颗桃子时被风神拿走y/2+1,剩余y/2-1;有z=y/2-1颗桃子时被雨神拿走 z/2+1,剩余z/2-1;有w=z/2-1颗桃子时被雷神拿走w/2+1,剩余w/2-1;有u=w/2-1颗桃子时被电神拿走 u/2+1,剩余u/2-1;v=1。经过山、风、雨、雷、电神以相同方式“抢夺”之后,小猴子最终剩余桃子1颗。    x=2y+1,y=2z+1,z=2w+1,w=2u+1,u=2v+1可将上述递推公式归结为数学学模型peaches(n)=        1                      n=0                                                                            2(peaches(n-1)+1)n>0这里n=5,可用函数递归来处理,结果为94#include<stdio.h>int peaches(int n ){   int number;   if(n==0)   number=1;         //猴子最后剩余的桃子数   else   number=(peaches(n-1)+1)*2;   return number;}int main(){  printf("peaches=%d",peaches(5));  return 0;}

5、 问题:如果有一个正整数从左、右来读都是一样的,则称该数为回文式数(简称回数);例如101,32123,999都是回数。数学中有名的“回数猜想”之谜,至今未解决。回数猜想:任取一个数,再把它倒过来,并把这两个数相加,然后把这个数再倒过来,与原数相加,重复此过程,一定能获得一个回数。例:68 倒过来是8668+86=154154+541=605605+506=1111(回数)编程,输入任意整数,按上述方法产生一个回数,为简便起见,最多计算7步,看能否得到一个回数。要求:主函数中接收键盘数据,必须用scanf(“%d”,&变量名)接收整型数据,显示该数与其倒数的和,输出每一步计算步骤。子函数1计算该数的倒数。子函数2验证和是否为回数,是则主函数打印“经过n次计算,得到回数”,超过7次未能得到回数,显示“经过n次计算,未能得到回数”。
评分规则: 【 #include<stdio.h>int daoshu(int n){   int dsh=0,i;   while(n>0)   {      i=n%10;   dsh=dsh*10+i;   n=n/10;   }   return dsh;}int huiwen(int n){   if(n==daoshu(n))      return 1;   else   return 0;}int main(){   int x,y,num=7;   printf("intput a integer data:");   scanf("%d",&x);   while(num>0)   {      y=daoshu(x);      if(huiwen(x+y))      {          num–;  break;       } else    x+=y;    num–;    }    if(num>0)        printf("经过%d次计算,得到回数%d",7-num,x+y);    else printf("经过7次计算,未能得到回数");    return 0;}

【作业】第 6 章 数组 第6章 单元作业

1、 问题:.将一个长度为N的一维数组中的元素按颠倒的顺序重新存放,注意在操作时,只能借助一个临时存储单元而不得另外开辟数组。
评分规则: 【 #include<stdio.h>#define N 10int main(){   int a[N],i,j,temp;   for(i=0;i<N;i++)   scanf("%d",&a[i]);   for(i=0,j=N-1;i<=j;i++,j–)   {       temp=a[i];       a[i]=a[j];       a[j]=temp;   }   for(i=0;i<N;i++)       printf("%d ",a[i]);   printf("");   return 0;}

2、 问题:输入一行文字,最多有80个字符。要求分别统计其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
评分规则: 【 #include <stdio.h>#include <string.h>int main(){    char str[80];    int sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,i=0;    printf("输入一系列字符:");    gets(str);    while(str[i]!=’\0′)    {       if(str[i]>=’a’&& str[i]<=’z’)    sum1++;       else            if(str[i]>=’A’ && str[i]<=’Z’)         sum2++;     else          if(str[i]>=’0’&& str[i]<=’9′)             sum3++;         else               if(str[i]==’ ‘)          sum4++;             else          sum5++;      i++; } printf("长度为%d的字符串%s:",i,str);        printf("含小写字母:%d, 大写字母:%d, 数字:%d 空格:%d, 其他字符:%d",sum1,sum2,sum3,sum4,sum5);    return 0;}

3、 问题:编写一个将一个字符串逆转的程序,如将a [ ] =“apple”改为a [ ] =“elppa”。
评分规则: 【 #include<stdio.h>#include <string.h>int main(){    char str[80],ch; int len,i=0; printf("输入一个字符:"); gets(str); puts(str); len=strlen(str);    for(i=0;i<len/2;i++) {    ch=str[i];    str[i]=str[len-1-i];    str[len-1-i]=ch; }    puts(str);    return 0;}

4、 问题:有N个人围成一个圈子,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号。
评分规则: 【 #include<stdio.h>#define N 10int main(){   int a[N],i,j=1,m;   m=N;   i=0;   a[i]=j;   do   {     i=(i+1)%N; j=(j+1)%3;     while(a[i]==0)       i=(i+1)%N;       //圈子里下一个人所在位置 a[i]=j;            //记数 if(a[i]==0)        //若记数是3,则将其移出圈子,继续从1开始记数 {    m–;    j=0; }   }while(m>1);   for(i=0;i<N;i++)      if(a[i]!=0)  printf("last %d",i+1);   return 0;}

5、 问题:已知数组b中存放N个人的年龄,编写程序,统计各年龄段的人数并存入数组d。要求把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依此类推,把100岁(含100)以上年龄的人数都放在d[10]中。
评分规则: 【 #include<stdio.h>#define N 10int main(){   int a[11]={0},b[N],i;   for(i=0;i<N;i++)   scanf("%d",&b[i]);   for(i=0;i<N;i++)   if(b[i]>=100) a[10]++;   else     a[b[i]/10]++;   printf("| 0-9 |10-19|20-29|30-39|40-49|50-59|60-69|70-79|80-89|90-99|100-|");   for(i=0;i<=10;i++)   printf("  %3d ",a[i]);   printf("");   return 0;}

【作业】第 5 章 循环结构 第5章 单元作业

1、 问题:妈妈给小明买了若干块巧克力,小明第一天吃了一半,还不过瘾,又多吃了一块,第二天又将剩下的巧克力吃掉一半,又多吃一块,以后每天都吃了前一天剩下的一半零一块。到第10天再想吃时,只剩下一块了。编程计算妈妈总共给小明买了多少块巧克力?
评分规则: 【 #include <stdio.h>int main(){   int chocolates=1,day=10;//第1天的巧克力数量是1   while( day>1 )   {     chocolates=(chocolates+1)*2+1;//由当天的巧克力数计算前一天的数   day–;   }   printf("妈妈总共给小明买了%d块巧克力。",chocolates);return 0;}

2、 问题:一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,…,你每天给我的钱是前一天的两倍,直到满一月(30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱?百万富翁给陌生人多少钱?
评分规则: 【 #include <stdio.h>int main(){   double millionaire_stranger=1;//第1天百万富翁给陌生人1分钱   int day=1;   while( day<30 )   {     day++;   millionaire_stranger=3millionaire_stranger;//从第1天开始截至第day天百万富翁给陌生人的钱   }   printf("百万富翁30天应给陌生人 %.0f万元",millionaire_stranger/10000000);   printf("陌生人30天应给百万富翁 %d万元",1030);return 0;}

3、 问题:日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想,猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘以3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1,请编程验证。
评分规则: 【 #include<stdio.h>int main(){   int  ziranshu,n=0,i;   printf("请随意输入一个自然数:");   scanf("%d",&ziranshu);   i=ziranshu;   do   {      if(i%2==0)   i=i/2;      else   i=3*i+1;      n++;   }   while(i!=n);   printf("经过%d次运算%d变为1",n,ziranshu);   return 0;}

4、 问题:马克思手稿里有一道有趣的数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭共花了50先令:每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人、女人和小孩各有几人?
评分规则: 【 #include<stdio.h>int main(){   int man,women;   for(man=1;man<17;man++)       for(women=1;women<24;women++)     if(3man+2women+(30-man-women)==50)   //(30-man-women)小孩数 printf("男人:%2d 女人:%2d 小孩:%2d",man,women,30-man-women);   return 0;}

5、 问题:有一对兔子,从出生后第三个月起每个月都生一对小兔子,小兔子长到第三个月后每月又生一对小兔子,假如兔子都不死,问20个月内每个月的兔子总数为多少?
评分规则: 【 该题的数学模型等效于斐波拉契数列天数                          day1 day2  day3  day4   day5 能生产的兔子数(对) 0  0   1        1         2 总兔子数(对)         1  1   2     3         5 第n天的兔子数等于第n-1天的兔子数+第n天的能生产的兔子数(即第n-2天的兔子数)#include<stdio.h>int main(){   int rabbit=1,rabbits=1,day;   printf("第 1 天的兔子数(对):%d",rabbit);   printf("第 2 天的兔子数(对):%d",rabbits);   for(day=3;day<=20;day++)   {      rabbits=rabbit+rabbits;      rabbit=rabbits-rabbit;      printf("第 %d 天的兔子数(对):%d",day,rabbits);   }   return 0;}

【作业】第 4 章 选择结构 第四章 单元作业

1、 问题:输入一个三位的正整数,判断该数是否为水仙花数。(水仙花数的是指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3)
评分规则: 【 #include <stdio.h>int main(){    int int1,g,sh,b;   printf("输入一个三位数:");   scanf("%d",&int1);   g=int1%10;   sh=int1/10%10;   b=int1/100;   if(ggg+shshsh+bbb==int1)    printf("%d 是水仙花数",int1);   else       printf("%d 不是水仙花数",int1);   return 0;}

2、 问题:以下4种水果([1]苹果[2]梨[3]桔子[4]芒果)单价分别是2.0元/公斤,2.5元/公斤,3.0元/公斤,4.5元/公斤,请输入水果编号、重量,计算应付款。
评分规则: 【 #include <stdio.h>int main(){   int num;   float total_price,weight;   printf("输入水果编号[1]苹果[2]梨[3]桔子[4]芒果和重量");   scanf("%d",&num);   scanf("%f",&weight);   switch(num)    {      case 1: total_price=(float)(weight2.0);          printf("%.1f千克苹果,应付%.1f元",weight,total_price);                 break;      case 2: total_price=(float)(weight2.5);                   printf("%.1f千克梨,应付%.1f元",weight,total_price);                  break;      case 3: total_price=(float)(weight3.0);                  printf("%.1f千克桔子,应付%.1f元",weight,total_price);                  break;      case 4: total_price=(float)(weight4.5);                  printf("%.1f千克芒果,应付%.1f元",weight,total_price);                  break;       default: printf("data error");   }   return 0;} 

3、 问题:从键盘输入1-7,显示输出该日期对应的英文日期(Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday)名称。
评分规则: 【 #include <stdio.h>int main(){    int weekday;    printf("输入日期序号(1-7)");    scanf("%d",&weekday);    switch(weekday)       {       case 1:  printf("Monday");  break;       case 2:  printf("Tuesday");  break;       case 3:  printf("Wednesday");  break;       case 4:  printf("Thursday"); break;       case 5:  printf("Friday"); break;       case 6:  printf("Saturday"); break;       case 7:  printf("Sunday"); break;       default: printf("data error");   }   return 0;}

4、 问题:输入某学生的成绩(成绩为100分制,可以为89.5,如果输入的成绩不在0-100之间,请给出出错提示。),经处理后给出学生的等级,等级分类如下:    90分以上(包括90): A    80至90分(包括80):B    70至80分(包括70):C    60至70分(包括60):D    60分以下:           E
评分规则: 【 #include <stdio.h>int main(){    float score;   scanf("%f",&score);   if(score>=0 && score<=100)       if(score>=90)    printf("%.1f is  A",score);       else if(score>=80)                  printf("%.1f is  B",score);       else   if(score>=70)                            printf("%.1f is  C",score);                       else if(score>=60)                                  printf("%.1f is  D",score);       else   printf("%.1f is  E",score);   else       printf("成绩非法!");     return 0;}

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦

   

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注