给字母保密的c语言,C语言练习题
1.保密电文:某电报局的电文保密规律是将每个英文字母变成其后的第4个字母,例如A变成E,a变成e。最后四个字母(W, X,Y,Z或w,x,y,z)变成前四个字母(A,B,C,D或a,b,c,d)。电文中的非字母字符不变。
要求:
输入一行字符串,输出改变的字符串。
程序分析:
本程序将26个小写字母和26个大写字母转换为ASCll码。
ASCll码对照表:
图片来源:http://tool.oschina.net/commons?type=4
由对照表得知英文字母的ASCll码都在(65–90和97–122)之间,所以只需要判断输入的字母是否在这个顺序之间,如果在此区间内,则对此数字的ascll码加上4,例如:a的acsll码为97,加4变为e。
而对于W,X,Y,Z和w,x,y,z则需要另行判断对其ascll码减去22得到修改后的字母。
题目程序:
#include
int main()
{
char n[1000];
int i;
gets(n);
for(i=0;n[i]!='\0';i++)
{
//判断字母否为26个英文字母
if(((65<=(int)n[i])&&((int)n[i]<=90))||((97<=(int)n[i])&&((int)n[i]<=122)))
{
//判断是否为a--v或A--V
if(((65<=(int)n[i])&&((int)n[i]<87))||((97<=(int)n[i])&&((int)n[i]<119)))
{
n[i]=n[i]+4;
printf("%c",n[i]);
}
//判断是w--z和W--Z
else
if(((87<=(int)n[i])&&((int)n[i]<=90))||((119<=(int)n[i])&&((int)n[i]<=122)))
{
n[i]=n[i]-22;
printf("%c",n[i]);
}
}
//非字母时原样输出
else
{
printf("%c",n[i]);
}
}
return 0;
}
程序截图:
2.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了二分之一,还不过瘾,又多吃了一个。第二天在上又将剩下的桃子吃掉二分之一,又不过瘾又多吃了一个。以后每天早上都吃了前一天剩下的二分之一零一个。到第N天早上再想吃时,见只剩下一个桃子了。求第一天共摘了多少个桃子。
要求:输入N,输出桃子总数
程序分析:
程序中需要的变量有:
天数 int N,桃子总数 int sum。
并且根据题意变量都是整型(int)。
求解思路:
根据总共的天数反向求解桃子的个数,桃子每天减少公式为:2*(sum+1)。
题目程序:
#include
int main()
{
int sum=1,N,i;
printf("请输入天数N\n");
scanf("%d",&N);
for(i=0;i
{
sum=2*(sum+1);
}
printf("桃子总数为:%d\n",sum);
return 0;
}
运行结果:
3.回文素数问题。输入一个n,输出n以内的所有回文素数,即即是素数,又是回文数(数字从前往后,从后往前看一样)例如:373,232。
要求:
输入大于10的正整数n。
输出n以内的所有回文素数。
程序分析:
首先从数字1开始遍历直到n,对每个数字进行判断,是否为回文素数,若符合要求则输出。
题目程序:
#include
int sushu(int n) //判断素数
{
int i;
int x;
for(i=2; i<=n/2; i++)
{
x=1;
if(n%i==0)
{
x=0;
}
}
if(x)
{
return n;
}
else
{
return 0;
}
}
int huiwenshu(int m) //判断回文数
{
int i=0;
int j;
int num;
int a[5];
if(m>=10)
{
num=m;
while(m)
{
a[i++]=m%10;
m=m/10;
}
for(j=i-1; j>=0; j--)
{
if(a[j]!= num%10)
{
return 0;
}
num=num/10;
}
return 1;
}
else
{
return 0;
}
}
int main()
{
int i,n;
printf("请输入大于10的数字:\n");
scanf("%d",&n);
for(i=2; i
{
if( sushu(i) && huiwenshu(sushu(i) ) )
{
printf("%d是回文素数\n", i);
}
}
return 0;
}
运行结果:
4.C语言实验–整数的溢出:小明在做整数加法计算时,发现选择不同的整数类型得到的计算结果不一样,经过研究她发现了一个简单规律,可以根据计算结果推出程序用到的数据类型。请根据给出的测试数据,推算出程序用到的整数类型,并用该类型编写相应的假发程序。
例如:
输入:32767 和 32767
输出:-2
程序分析:
本题考验程序的溢出问题,
首先解释一下什么是溢出:数据类型超过了计算机字长的界限而出现的数据溢出,也就是计算机装不下咱的数据然后把装不下的数据扔了出来。
题目中输入两个32767进行加法运算,其结果为65534.
而short类型的数据范围在-32768~32767之间。当你输入的数据大于32767那么计算机就会对你的数据进行溢出表现为:
所以在编写程序时要着重考虑变量的取值范围。
题目程序:
#include
int main()
{
int a,b;
short sum;
scanf("%d %d",&a,&b);
sum=a+b;
printf("%d",sum);
return 0;
}
}
5.用数字造数字:输入一个3位以上的整数,求其中最大的两个数字之和与最小的数字之和之间的差。
例如:输入8729,输出8,即(9+8)-(2+7)=8.
要求:
输入一个三位以上的整数。
输出最大的两个数字之和与最小的数字之和之间的差。
题目程序:
#include
int main()
{
int n,m;
int a,b,c,d,e;
printf("请输入一个三位以上的整数:\n");
scanf("%d",&n);
a=n/1000;//千位
b=(n-a*1000)/100;//
c=(n-a*1000-b*100)/10;
d=(n-a*1000-b*100-c*10);
if(a
{
e=a;
a=b;
b=e;
}
if(a
{
e=a;
a=c;
c=e;
}
if(a
{
e=a;
a=d;
d=e;
}
if(b
{
e=b;
b=c;
c=e;
}
if(b
{
e=b;
b=d;
d=e;
}
if(c
{
e=c;
c=d;
d=e;
}
n=(a+b)-(c+d);
printf("%d",n);
return 0;
}
程序结果:
给字母保密的c语言,C语言练习题相关推荐
- c语言中如何用字母代替加减乘除的符号,c语言加减乘除代码
c语言加减乘除代码 加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表.加法减法乘法除法求余数(取余) 数学+-×÷无 C语言+-*/% C语言中的加号.减 ...
- 为什么我们需要一门新语言——Go语言
编程语言已经非常多,偏性能敏感的编译型语言有 C.C++.Java.C#.Delphi和Objective-C等,偏快速业务开发的动态解析型语言有 PHP.Python.Perl.Ruby.JavaS ...
- 回旋矩形C语言,C语言回旋函数解释下,该如何处理
当前位置:我的异常网» C语言 » C语言回旋函数解释下,该如何处理 C语言回旋函数解释下,该如何处理 www.myexceptions.net 网友分享于:2013-06-08 浏览:30次 C ...
- 大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...
<大学C语言期末考试练习题(带详解答案)>由会员分享,可在线阅读,更多相关<大学C语言期末考试练习题(带详解答案)(55页珍藏版)>请在金锄头文库上搜索. 1.一. 单项选择题 ...
- c语言作业题整理,C语言考试模拟练习题
阅读的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰.以下是小编为大家搜索整理的C语言考试模拟练习题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网! 一. ...
- 计算机二级考试c语言冲刺,计算机二级C语言考试冲刺练习题
计算机二级C语言考试冲刺练习题 C语言是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元.下面给大家整理了计算机二级C语言考试冲刺练习题,欢迎阅读! 计算机二级C语言考试冲刺练习题 1. ...
- c语言课后作业答案指针,C语言程序基础练习题带答案
C语言程序基础练习题带答案 C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value).下面是小编为大家搜索整理的C语言专项训练 ...
- C语言 | C语言深度解剖 ——章节2 符号
C语言 | C语言深度解剖 --章节2 符号 C语言基本符号表 注释符号 // /* 几个似非而是的注释问题 y=x/*p 出色注释的基本要求 连接符和转义符 \ 单引号.双引号 花括号 运算符 10 ...
- c语言指针面试经典选择题及答案,C语言指针经典练习题-及答案
<C语言指针经典练习题-及答案>由会员分享,可在线阅读,更多相关<C语言指针经典练习题-及答案(11页珍藏版)>请在人人文库网上搜索. 1.C语言指针练习题及答案一.选择题1. ...
- 下列实型常量不符合c语言,C语言程序设计考试题答案
<C语言程序设计考试题答案>由会员分享,可在线阅读,更多相关<C语言程序设计考试题答案(18页珍藏版)>请在人人文库网上搜索. 1.1.已知int i, x34;则不能将x11 ...
最新文章
- Swift:print()vs println()vs NSLog()
- 分别用顺序表和链表实现队列
- Go 语言范围(Range)
- [BUUCTF-pwn]——warmup_csaw_2016
- WebSphere Application Server 5.0在Linux平台上中文界面乱码问题的解决
- 实例25:python
- Rxjava2自我·解惑
- 【Vijos1659】河蟹王国
- Drag Drop 入门介绍
- Android 打印之将文字转换成 Bitmap 图片,再转换成Bytes 数组 进行打印
- 使用subs和evals函数对sympy中的符号进行赋值并且设置数值位数
- 使用c语言实现后缀表达式计算器
- ARVR | 5大AR应用程序开发工具简介
- Frequent Pattern Mining(频繁模式挖掘) - Aprior挖掘算法
- GenXus进行APP开发-全局颜色设计
- 清华李建忠设计模式课程感想
- 维视智造2023届校招火热进行中 快来加入我们
- 华为开源操作系统-鸿蒙开源地址链接
- 约束rmq_约束RMQ - osc_jor8x3el的个人空间 - OSCHINA - 中文开源技术交流社区
- 讲一次完整的产品迭代过程的各个阶段
热门文章
- c语言哈夫曼压缩文本,用哈夫曼压缩文件(C语言)
- java语言中的数据类型_Java语言中关于数据类型的一些总结
- python内置数据结构_Python基础知识2-内置数据结构(下)
- php下划虚线,什么是下划线符号
- 如何删除 AWS 资源以及关闭账户(来自亚马逊官方提供文档,记录一下方便查看)
- pandas读取excel,设置默认读取类型
- Apache Flink 零基础入门(十七)Flink 自定义Sink
- eclipse菜单字体乱码的解决
- 3种Python数据结构,13种创建方法,这个总结,超赞!
- 精选 GitHub 值得收藏的100个前端项目