专业课真题复习(2018)

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

1.题目描述:

输出所有的“水仙花数”,所谓“水仙花数”是指一个三维数,其各位数字的立方和等于该数本身。例如,153是一水仙花数,因为153=111+555+333

代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
  int b,s,g;
  int i;
  for(i=100;i<=999;i++)
  {
    b=i/100;
    s=(i-b*100)/10;
    g=i%10;
    if((b*b*b+s*s*s+g*g*g)==i)
    {
      printf("%d\n",i);
    }
  }
  return 0;
}

2.题目描述:

用选择法对10个整数排序

#include<stdio.h>
int main(void)
{
  int arr[10]={10,9,8,7,6,5,4,3,2,1};
  int i,j;
  int min,temp;
  for(i=0;i<10;i++)
  {
    min=i;
    for(j=i+1;j<10;j++)
    {
      if(arr[min]>arr[j])
      {
        min=j;
      }
    }
    if(min!=i)
    {
      temp=arr[min];
      arr[min]=arr[i];
      arr[i]=temp;
    }
  }
  printf("排序后的数组为:\n");
  for(i=0;i<10;i++)
  {
    printf("%d",arr[i]);
  }
  return 0;
}

注意:每次找到一个最小的应该和i交换,不是和j交换。。

3.题目描述:

编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
  int english=0;
  int space=0;
  int number=0;
  int other=0;
void count( char *str)
{
    int i;
  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++;
    }
   } 
 } 
int main(void)
{
  char str[100];
  gets(str);
  count(str);
   printf("英文字母的个数为%d\n",english);
   printf("空格的个数为%d\n",space);
   printf("数字的个数为%d\n",number);
     printf("其他字符的个数为%d\n",other);   
  return 0;
}

注意:仔细审题,在主函数输出数据。

4.题目描述:

有两个磁盘文件“A"和”B“,各存放一行字母,现要求编写程序实现,把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件"C"中去。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
  FILE *fa,*fb,*fc;
  int i,j;
  char a[100];
  char b[100];
  char temp;
  if((fa=fopen("A.txt","r"))==NULL)
  {
    printf("can not open this file.");
    exit(0);
  }
  fgets(a,100,fa);  
  fclose(fa);
  if((fb=fopen("B.txt","r"))==NULL)
  {
    printf("can not open this file.");
      exit(0);
  }
  fgets(b,100,fb);
  fclose(fb);
  strcat(a,b);
  for(i=0;i<strlen(a)-1;i++)
  {
    for(j=0;j<strlen(a)-1-i;j++)
    {
      if(a[j]>a[j+1])
      {
        temp=a[j];
        a[j]=a[j+1];
        a[j+1]=temp;
      }
    }
  }
  fclose(fb);
  if((fc=fopen("C.txt","w"))==NULL)
  {
    printf("can not open this file.");
      exit(0);
  }
  fputs(a,fc);
  fclose(fc);
  return 0;
}

注意:

1.打开文件要关闭

2. strcmp()字符串比较函数

3. strcat()字符串拼接函数

4. strcpy()字符串拷贝函数,后面的字符串会覆盖掉前边的字符串,这不是拼接函数。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
人工智能 分布式计算 大数据
开源大数据平台 3.0 技术解读
阿里云研究员,阿里云计算平台事业部开源大数据平台负责人王峰围绕新一代的流式湖仓、全面 Serverless 化、更智能的开源大数据等多维度解读开源大数据平台 3.0~
1799 1
开源大数据平台 3.0 技术解读
|
弹性计算 JSON API
一键云部署:资源编排 ROS 轻松部署文本转语音系统 ChatTTS
ChatTTS是一款针对对话场景的文本转语音模型,支持英中两种语言,训练数据超过10万小时。ChatTTS可通过WebUI和API访问。阿里云的资源编排服务(ROS)提供了一键部署ChatTTS到云端的方案,用户只需在ROS控制台配置模板参数,如区域和实例类型,即可完成部署。部署后,从资源栈输出获取ChatTTS服务地址。ROS利用IaC理念自动化部署云资源和应用,提高了部署效率和稳定性。
一键云部署:资源编排 ROS 轻松部署文本转语音系统 ChatTTS
|
数据库 C# 开发者
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
402 0
|
Arthas 测试技术 Java
一文带你快速了解 Java 线上问题快速诊断神器 Arthas
【6月更文挑战第1天】一文带你快速了解 Java 线上问题快速诊断神器 Arthas
956 3
|
存储 人工智能 监控
如何启动数字化转型
如何启动数字化转型
|
人工智能 移动开发 算法
GRASP优化算法原理梳理和应用细节
GRASP优化算法原理梳理和应用细节
GRASP优化算法原理梳理和应用细节
|
运维 Kubernetes 安全
云原生架构下的数字身份治理实践技术分享
在云上自动化发布实践方面,采用云下开发测试,云上验收发布模式进行产品迭代的方式。产品发布过程中全面拥抱DevOps,并融入零信任安全理念建立DevSecOps开发模式。利用自研的独立pki服务,可以控制每一个用户的后台访问权限时间。而且在整个身份安全保护开发运维的过程中,以及各种工具的使用上,派拉将安全一直贯穿整个研发体系。
442 0
云原生架构下的数字身份治理实践技术分享
|
NoSQL 编译器 Linux
GDB 学习入门之GDB初识
GDB 学习入门之GDB初识
227 0
|
NoSQL Redis
redisTemplate+redis+lua解决redis分布式锁集群报错问题
redisTemplate+redis+lua解决redis分布式锁集群报错问题
280 0
|
SQL 关系型数据库 MySQL
【Hello mysql】 mysql的事务(上)
【Hello mysql】 mysql的事务
191 0