数组及字符处理(C语言复习)

2023-05-16

1、【编写程序】从键盘上输入10个整数,求其中最大值和最小值及其序号。

例:

输入:88 95 10 3 6 81 12 77 166 35

输出:最大值:166,序号:9

            最小值:3,  序号ab

#include<stdio.h>
int main()
{
	int a[10],i,max,min;
	printf("请输入十个数据:");
	for(i=0;i<10;i++)
		scanf("%d",&a[i]);
	max=a[0];min=a[0];
	for(i=0;i<10;i++)
	{
		if(a[i]>max)
		{
			max=a[i];
		}
	}
	for(i=0;i<10;i++)
	{
		if(a[i]<min)
		{
			min=a[i];
		}
	}
	printf("最大值为%d, 序号为",max);
	for(i=0;i<10;i++)
	{
		if(a[i]==max)
			printf("%d\n",i+1);
	}
	printf("最小值为%d, 序号为",min);
	for(i=0;i<10;i++)
	{
		if(a[i]==min)
			printf("%d\n",i+1);
	}
}		


 2.先读入10个整数把它们按从小到大的次序排列起来,最后再读入一个整数k,并将k插入到该整数数列中,插入后的数列仍然按从小到大的顺序排列。

#include<stdio.h>
void main()
{
	int a[11];
	int i,j,k,q,temp,n=10;
	printf("请输入十个数:");
	for (i=0;i<n;i++)
		scanf("%d",&a[i]);
	for (j=0;j<n-1;j++)
	{
		for(i=0;i<n-1-j;i++)
			if(a[i]>a[i+1])
			{
				temp=a[i];a[i]=a[i+1];a[i+1]=temp;
			}
	}
	for(i=0;i<n;i++)
	printf("%d ", a[i]);
	printf("\n请输入第十一个数:");
	scanf("%d",&k);
	     a[10]=k;
		 for(j=0;j<10;j++)
		 {
			 for(i=0;i<10-j;i++)
				 if(a[i]>a[i+1])
				 {
			         temp=a[i]; 
					 a[i]=a[i+1]; 
					 a[i+1]=temp;
				 }
		 }
	for(i=0;i<11;i++)
		printf("%d ", a[i]);
}

3.某单位员工不超过300人,试编程读入各员工的年龄并存入数组中,然后统计以下各年龄段的人数:35岁以下、35~45岁、45~55岁、55岁以上。(提示:程序中可以较少人数(如10人)数据进行测试。)

【样例】:

输入:25  36  57  28  40  32  48  38  36  22  -1

输出:

年龄段:35岁以下、35~45岁、45~55岁、55岁以上

人数:    4          4          1          1

#include <stdio.h>
main( )
{
	int n, i;
	int a[300],T[4];
	for(i=0;i<4;i++) 
		T[i]=0;
	printf("\n请输入年龄");
    a[0]=0; 
	n=0;

	while (a[n]>=0)			
	{
				n++;
		scanf("%d", &a[n]);
						
	}

	for (i=1; i<=n-1; i++)
	{
		if (a[i]-5<30)
			T[0]++;					
		else
			if (a[i]-5>50)
				T[3]++;
			else
				T[((int)a[i]-5)/10-2]++;
	}
	printf("年龄段: "); 
	printf("\n  35岁以下、35~45岁、45~55岁、55岁以上\n"); 
	for (i=0; i<4; i++)
		printf("%8d",T[i]);
	printf("\n");
}

 4.从键盘上输入10个正整数存入一维数组中,求其中所有的素数之和并输出。

#include<stdio.h>
#include"math.h"
int main()
{
	int a,k,j=0,sum=0;
	printf("请输入十个数:\n");
	for( j=0;j<10;j++)
	{
    scanf("%d",&a);
    if(a==1)continue;
	for(k=2;k<sqrt(a);k++)
	if(a%k==0)break; 
	if(k>sqrt(a)) sum+=a;  
	}
	printf("素数之和为%d",sum);
	getchar();
	getchar();
	return 0;
 }

5.输入一个位数不大于10的正整数,请输出每位数字。

#include "stdio.h"
#include "string.h"
void main()
{
char a[10],i,s;
	printf("请输入一位不大于10的正整数:");
	scanf("%s",a);
	s=strlen(a);
	printf("输出:");
	printf("%d",a[0]-'0');
	for(i=1;i<=s-1;i++)
	{
	printf(",%d",a[i]-'0');
	}
	return 0;
}

6.在某次比赛中有10个评委给选手打分,请编程实现选手的最终得分(按要求需要去掉10个评委中的一个最高分和一个最低分后,再取剩余8位评委的平均值即为该选手的最终最分)。

#include<stdio.h>
int main()
{
	float a[10],t,k=0;
	int i,j;
	printf("请输入十位评委的打分:");
	
	for(i=0;i<=9;i++)
	{
		scanf("%f",&a[i]);
	}
	
	for(i=0;i<=8;i++)
	{
		for(j=i+1;j<=9;j++)
		{
			if(a[i]<a[j])
			{
				t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
		}
	}
	
	for(i=1;i<=8;i++)
	{
		k=k+a[i];
	}
	printf("去掉一个最高分,去掉一个最低分后该选手的最终得分为:%f\n",k/8);
	return 0;
}

7.编写一个程序,将两个字符串连接起来,不要用strcat函数。

#include<stdio.h>
#include"string.h"
int main()
{
	char a[50],b[50],c[50];
	int m,n,i;
	
	printf("请输入第一个字符串:");
	gets(a);
	m=strlen(a);
	
	printf("请输入第二个字符串:");
	gets(b);
	n=strlen(b);
	
	for(i=0;i<=m-1;i++)
	{
		c[i]=a[i];
	}
	
	for(i=m;i<=m+n-1;i++)
	{
		c[i]=b[i-m];
	}
	c[m+n]=0;

	printf("输出:%s",c);
	return 0;
}

8.输入一行字符(可能包含英文字母,数字字符等其他字符),要求统计其中单词的个数。(单词只由1个或多个英文字母构成)

#include"string.h"
int main()
{
	char a[1000];
	int b,i,m,n=0;
	printf("Input the string:\n");
	gets(a);
	b=strlen(a);
	
	if(a[0]>='a'&&a[0]<='z')
		n++;
	
	for(i=1;i<=b-1;i++)
	{
		m=0;
		if((a[i]>='a'&&a[i]<='z')&&(a[i-1]>='a'&&a[i-1]<='z'))
			m=0;
		else
			if(a[i]>='a'&&a[i]<='z')
				m=1;
			if(m==1)
				n++;
	}
	printf("单词的个数为:%d\n",n);
	return 0;
}

9.实现对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。

【样例】:

      输入: computer   compare

      输出:20

#include<stdio.h>
#include"string.h"
int main()
{
	char a[50],b[50];
	int i,j,m,n,h;
	
	printf("请输入第一个字符串:");
	gets(a);
	m=strlen(a);
	
	printf("请输入第二个字符串:");
	gets(b);
	n=strlen(b);
	
	if(m>=n)
		h=n;
	else
		h=m;
	
	for(i=0;i<h-1;i++)
	{
		if(a[i]==b[i])
			continue;
		else
		{
			printf("输出:%d",b[i]-a[i]);
			break;
		}
	}
	return 0;
}

10.从键盘输入一个字符串,判断输入的字符串是否为回文。(回文是指正序和反序字符排例方式相同的字符串,如abcdcba是回文)。

#include<stdio.h>
int main()
{
	char a[20];
	int k,i,j;
	printf("请输入:\n");
	for(i=0;;i++)
	{
		scanf("%c",&a[i]);
		if(a[i]=='\n')
			break;
	}
	k=(j+i)/2;
	
	for(j=0;j<k;j++,i--)
	{
		if(a[i-1]!=a[j])
		{
			printf("不是回文");
			return 0;
		}
	}
	printf("是回文\n");
	return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数组及字符处理(C语言复习) 的相关文章

随机推荐

  • 获取浏览器cookies并保存成TXT文件及调用方法

    前提是 xff1a 安装名为 xff1a webdriver manager的第三方库 具体使用方法详见我的另外一篇博客 xff1a 48条消息 selenium的基本操作 入门篇 xff08 环境配置 xff09 晋升阁的博客 CSDN博
  • JS类型转换

    类型转换1 强制转换 转换成String类型 xff1a 方法一 xff1a a 61 a toString null和undefined不可以转换 这俩值没有toSring方法 该方法不会影响原变量 方法二 调用String函数 a 61
  • system调整控制台大小的问题

    大一上学期结束 xff0c C语言老师发布了作业 xff0c 我们组选择做一个图书管理系统 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img qJ7I3a7w 1647434910334 C Users Asus
  • 以C++为基础入门Python,看这一篇就够了!!超级详细

    Python语句的作用范围 Python不是像C 43 43 一样通过 来规定语句的范围 xff0c 而是通过缩进来设定语句的范围 xff0c 所以不要随意使用空格和Tab键 注释 注释PythonC 43 43 单行注释 注释内容 注释内
  • DBSCAN算法,概念+示例,超详细!!

    DBSCAN xff08 Density Based Spatial Clustering of Applications with Noise xff09 与划分和层次聚类方法不同 xff0c 它将簇定义为密度相连的点的最大集合 xff0
  • 层次聚类,概念+示例,超详细!!!

    介绍 层次聚类 Hierarchical Clustering 是聚类算法的一种 xff0c 通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树 在聚类树中 xff0c 不同类别的原始数据点是树的最低层 xff0c 树的顶层是一个
  • ceph 17版本:使用cephadm部署单节点集群

    ceph 17版本 xff1a 使用cephadm部署17 2版本的单节点集群 文章目录 前言一 环境版本信息二 基础环境部署1 服务器准备2 配置DNS3 安装时间服务4 关闭防火墙5 安装docker服务5 安装lvm服务 二 ceph
  • C++静态成员静态函数,语法+示例,超详细!!

    类的静态成员定义 静态成员是指用static定义的变量 就是成员变量前面加了个 static 静态变量分为全局变量和局部变量两种 静态全局变量 静态全局变量声明在程序所有函数之外 xff0c 其作用域与全局变量一样 xff0c 所有函数体都
  • 数据结构。顺序栈的一些操作(两种定义、进栈、出栈、获取栈顶、共享栈)

    栈的两种定义 define MAXSIZE 50 静态 define ERROR 0 typedef struct int data MAXSIZE int top SqStack void init Stack SqStack amp s
  • 【无标题】数据结构。链栈的一些操作(定义、进栈、出栈)

    include lt iotream gt include lt stdio h gt include lt stdlib h gt using namespace std 构造节点 typedef struct StackNode int
  • 数据结构。栈+队列判断字符序列是否属于回文数字或回文字符,非常详细

    精髓 xff0c 请仔细体会 bool test SqQueue amp Q Stack amp s char c while c 61 getchar 61 39 64 39 因为栈是先进后出 push Stack s c 队列是先进先出
  • 动画函数添加回调函数

    回调函数原理 xff1a 函数可以作为一个参数 将这个函数作为参数传到另一个函数里面 xff0c 当那个函数执行完之后 xff0c 再去执行传进去的这个函数 xff0c 这个过程就叫做回调 回调函数的位置 xff1a 写到定时器结束的位置
  • 数组向后移动M位(C语言)

    include lt stdio h gt int main int N M int a 100 scanf 34 d d 34 amp N amp M for int i 61 0 i lt N i 43 43 scanf 34 d 34
  • 数据结构——顺序表

    一 定义 顺序表是一种线性的存储结构 xff0c 采用一段连续的地址存储单元依次存放数据元素 xff0c 一般采用数组存储 顺序表一般可分为 xff1a 1 静态顺序表 xff1a 使用定长数组存储元素 2 动态顺序表 xff1a 使用动态
  • WSL2安装

    目录 什么是WSL2 xff1f 安装WSL导入镜像设置Linux用户信息如何在资源管理器查看文件 xff1f 参考链接 笔者使用环境 Windows11 22H28GB RAM512GB ROM 什么是WSL2 xff1f WSL2是Wi
  • 计分板-2021安徽省机器大赛程序设计赛道

    题目描述 Alice 和 Bob 在玩游戏 xff0c 两个人分别有一个计分板 xff0c 记录各自的得分 得分 X 的 字典序严格小于得分 Y xff0c 那么就认为得分 X 高于得分 Y Bob 想要自己的分数高 于 Alice xff
  • 九、Debian 10 SSH

    要求 1 安装 SSH 工作端口监听在 19210 2 仅允许 InsideCli 客户端进行 ssh 访问 其余所有主机的请求都应该拒绝 3 在 cskadmin 用户环境 InsideCli 下可以使用密钥免密码登录 并且拥有超级 管理
  • Oracle函数中常用的日期函数实用案例

    获取系统当前时间 select sysdate from dual select current date from dual select localtimestamp from dual 获取两天以后的时间 select sysdate
  • 十六、Debian 10 WEB服务(lighttpd)

    题目要求 1 安装 lighttpd 使用其他 web 平台 以下功能均不得分 2 启用 fastcgi php 模块 3 index php 网页内容显示当前服务器的日期和时间 刷新页面时间自动更 新 解题步骤 1 了解 lighttpd
  • 数组及字符处理(C语言复习)

    1 编写程序 从键盘上输入10个整数 xff0c 求其中最大值和最小值及其序号 例 xff1a 输入 xff1a 88 95 10 3 6 81 12 77 166 35 输出 xff1a 最大值 xff1a 166 xff0c 序号 xf