专业课真题复习(2017)

简介: 专业课真题复习(2017)

1.题目描述:

输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数

#include<stdio.h>
#include<string.h>
#include<stdlib.h> 
int main(void)
{
  int english,space,number,other;
  english=0;
  space=0;
  number=0;
  other=0;
  int i;
  char str[100];
  printf("请输入一行字符:");
  gets(str);
  for(i=0;i<strlen(str);i++)
  {
    if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
    {
      english++;
    }else if(str[i]==' ')
    {
      space++;
    }else if(str[i]>='0'&&str[i]<='9')
    {
      number++;
    }else{
      other++;
    }
   } 
   printf("英文字母的个数为%d\n",english);
   printf("空格的个数为%d\n",space);
   printf("数字的个数为%d\n",number);
     printf("其他字符的个数为%d\n",other);      
  return 0;
}

注意:读取字符串的时候不能用scanf()函数,scanf()函数是以空格来确定字符串的最后一位。用scanf不能判断空格的字数了。

2.题目描述:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student{
  float english;
  float chinese;
  float math;
  float program;
};
int main(void)
{
  struct student student[3];
  int i=0;
  float eaver=0;
  float caver=0;
  float maver=0;
  float paver=0;
  printf("请输入三个学生的各门成绩:");
  for(i=0;i<3;i++)
  {
    scanf("%f%f%f%f",&student[i].english,&student[i].chinese,&student[i].math,&student[i].program);
  }
  for(i=0;i<3;i++)
  {
    eaver+=student[i].english;
    caver+=student[i].chinese;
    maver+=student[i].math;
    paver+=student[i].program;
  }
  printf("英语的平均成绩为:%f\n",eaver/3);
  printf("语文的平均成绩为:%f\n",caver/3);
  printf("数学的平均成绩为:%f\n",maver/3);
  printf("程序设计的平均成绩为:%f\n",paver/3);
  return 0;
}

注意:结构体的变量名要和下面保持一致,注意细节。

**3.题目描述:**写一个函数,使输入的一个字符串按反序存放,如输入“CANADA”,输出“ADANAC”。在主函数中输入和输出字符串。

#include<string.h>
#include<stdio.h>
#include<stdlib.h>
void reverse(char * str)
{
  int end=strlen(str)-1;
  int start=0;
  char temp;
  while(start<=end)
  {
    temp=str[start];
    str[start]=str[end];
    str[end]=temp;
    start++;
    end--;
  }
}
int main(void)
{
  char arr[100];
  printf("请输入一个字符串:");
  gets(arr);
  reverse(arr);
  puts(arr);
  return 0;
}

注意:printf()函数多用一点,啰嗦一点比较好。

4.题目描述:

定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct date{
  int year;
  int mouth;
  int day;
};
int main()
{
  int sumday=0;
  int day_tab[13]={0,31,28,31,30,35,30,31,31,30,31,30,31};//数组后面要带长度 
  int i;
  struct date date;
  printf("请分别输入年月日:\n");
  scanf("%d%d%d",&date.year,&date.mouth,&date.day);
  for(i=0;i<date.mouth;i++)
  {
    sumday+=day_tab[i];
  }
  sumday+=date.day;
  if((date.year%400==0)||(date.year%100!=0&&date.year%4==0))
  {
    if(date.mouth>=3)
    {
      sumday++;
    }
  }
  printf("这是一年中的第%d天",sumday);
  return 0;
}

注意:写完之后务必要把流程走一遍。

相关文章
|
存储 算法 C语言
复习【数据结构与算法】
复习【数据结构与算法】
137 0
|
7月前
|
测试技术
蓝桥杯刷题|03入门真题
蓝桥杯刷题|03入门真题
|
7月前
|
测试技术
蓝桥杯刷题|02入门真题
蓝桥杯刷题|02入门真题
|
7月前
|
测试技术
蓝桥杯刷题|01入门真题
蓝桥杯刷题|01入门真题
|
7月前
|
存储 安全 Java
复习总结01110
复习总结01110
|
7月前
|
存储 数据库
复习总结0111
复习总结0111
|
7月前
|
缓存 前端开发 JavaScript
【面试题】2022前端面试真题
【面试题】2022前端面试真题
|
7月前
|
存储 网络协议 测试技术
复习软考之精读真题题解,猜猜这是哪年的真题吧
复习软考之精读真题题解,猜猜这是哪年的真题吧
46 0
专业课真题复习(2018)
专业课真题复习(2018)
97 0
专业课真题复习(2021)
专业课真题复习(2021)
121 0