XMU C语言程序设计实践(2)
任务一:颠倒的世界
小明最近突然喜欢倒着写字,写出来的句子全是颠倒的,也就是把一句话里的字符全都逆序写,譬如“I Love This Game!”,他就偏偏要写成“!emaG sihT evoL I”弄的小华同他Email交流都很难受。请你帮助小华解决这个问题,将输入的字符串全都还原成本来的面目。
任务1要求:
利用main函数带参数的功能,编写程序,将命令行中的字符串全部逆序显示出来。例如编写的可执行文件为go.exe 那么运行 go !emaG sihT evoL I 时,显示出I Love This Game!
任务二:时间转换
由于工作原因,小明常常需要签署文件日期,但他比较偷懒,都用阿拉伯数字签署,譬如3.8表示三月八日,7.12表示七月十二日。最近公司改组成外资企业,主管要求将所有的日期全部更改为英文表示,一来同国际接轨,二来也不容易篡改,譬如将3.8表示为March the eighth 面对这么多的日期,小明犯愁了,他英文不好,那么多的英文单词他记不住。而且小明还是个马大哈,有时候居然会签出3.32(三月三十二日)这样的日期,为了避免被上司责备,趁着这次机会也赶快一并修改。请你帮助小明完成这个任务。
任务2要求:
利用main函数带参数的功能,编写程序,将命令行中的字符串翻译成英文表示,每行显示一个日期,同时需检查日期表示是否有误,如有误,请给出提示。例如:编写的可执行文件为go.exe 那么运行go
3.8 5.5 4.38 时显示March the eighth
May the fifth
Error
任务三:时间转换(续)
小明觉得这么一点点的手工输入还是有点麻烦,他把需要翻译的日期都整理到文本文件in.txt中,请你帮助小明,将其中的内容翻译完毕后保存到文本文件out.txt中,便于他统一处理。
任务3要求:翻译过程同任务2,将结果保存至文件out.txt中
第一题:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
#define abs(a) ((a)>0?(a):(-(a)))
#define sqr(a) ((a)*(a))
#define swap(a,b) (a)^=(b),(b)^=(a),(a)^=(b)
#define eps 1e-8
#define MAX 0x7f7f7f7f
#define N 104
int a[N];
int main(int argc,char* argv[])
{
int i,j,k;
for(i=argc-;i>;i--)
{
for(j=strlen(argv[i])-;j>=;j--)
putchar(argv[i][j]);
printf(" ");
}
puts("");
return ;
}
/*
Q:\xxx\111\222\bin\Debug\222 !emaG sihT evoL I
*/
第二题:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
#define abs(a) ((a)>0?(a):(-(a)))
#define sqr(a) ((a)*(a))
#define swap(a,b) (a)^=(b),(b)^=(a),(a)^=(b)
#define eps 1e-8
#define MAX 0x7f7f7f7f
#define N 104
int m,d;
int mon[]={,,,,,,,,,,,,};
char *M[]={"","January","February","March","April","May","June","July","August","September","October","November","December"};
char *D[]={"","first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth","twenty-first","twenty-second","twenty-third","twenty-fourth","twenty-fifth","twenty-sixth","twenty-seventh","twenty-eighth","twenty-ninth","thirtieth","thirty-first"};
void work(char s[])
{
int i;
m=d=;
if(s[]=='.')
{
m=(s[]-'')*+s[]-'';
i=;
}
else if(s[]=='.')
{
m=s[]-'';
i=;
}
for(;i<strlen(s);i++)
d=d*+s[i]-'';
}
int main(int argc,char * argv[])
{
int i,j,k;
for(i=;i<argc;i++)
{
work(argv[i]);
if(d>mon[m] || d< || m> ||m<)puts("Error");
else printf("%s the %s",*(M+m),*(D+d));
puts("");
}
return ;
}
/*
Q:\xxx\111\222\bin\Debug\222 3.8 5.5 4.38
*/
第三题:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
#define abs(a) ((a)>0?(a):(-(a)))
#define sqr(a) ((a)*(a))
#define swap(a,b) (a)^=(b),(b)^=(a),(a)^=(b)
#define eps 1e-8
#define MAX 0x7f7f7f7f
#define N 1004
int m,d;
int mon[]={,,,,,,,,,,,,};
char argv[N];
char *M[]={"","January","February","March","April","May","June","July","August","September","October","November","December"};
char *D[]={"","first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth","twenty-first","twenty-second","twenty-third","twenty-fourth","twenty-fifth","twenty-sixth","twenty-seventh","twenty-eighth","twenty-ninth","thirtieth","thirty-first"};
void work(char s[])
{
int i;
m=d=;
if(s[]=='.')
{
m=(s[]-'')*+s[]-'';
i=;
}
else if(s[]=='.')
{
m=s[]-'';
i=;
}
for(;i<strlen(s);i++)
d=d*+s[i]-'';
}
int main()
{
FILE *fp1=fopen("Q:\\xxx\\111\\111\\in.txt","r"),*fp=fopen("Q:\\xxx\\111\\111\\out.txt","w");
int i,j,k;
while(~fscanf(fp1,"%s",argv))
{
work(argv);
if(d>mon[m] || d< || m> ||m<)fputs("Error\n",fp);
else fprintf(fp,"%s the %s\n",*(M+m),*(D+d));
}
fclose(fp1);
fclose(fp);
return ;
}
/*
Q:\xxx\111\111\bin\Debug\111 3.8 5.5 4.38 13.1 1.32 1.0 2.29 115123 3.31
*/
XMU C语言程序设计实践(2)的更多相关文章
- XMU C语言程序设计实践(1)
题目: 任务1:英雄出世 炎热的夏天午后,小明正在百无聊赖地写c语言程序.忽然,电脑屏幕一阵抖动,浮现下面18×18个看似杂乱无章的数字: 32, 32, 32, 32, 32, 32, ...
- XMU C语言程序设计实践(5)
• 使用动态链表完成一个简单的商品库存信息管理系统. • 商品信息包括如下字段:商品号.商品名称.商品库存 • 函数 create:接收用户输入的商品号和商品名称的 ...
- XMU C语言程序设计实践(4)
以下实验二选一. 1.使用队列实现迷宫算法,找到最短路径. 2.实现顺序队列和链队列的所有基本操作,InitQueue(&Q):DestroyQueue(&Q):ClearQueue( ...
- XMU C语言程序设计实践(3)
问题描述: 以一个n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍,设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论. 对于本问题需用栈实现“穷举求解”算法,即:从 ...
- 第二章 C语言编程实践
上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...
- C语言程序设计课程总结
第一次教授C语言程序设计课程,相比计算机组成原理.arm体系结构等偏向硬件的课程,C的教学方式要灵活一些.计算机组成原理课程偏向理论,哈尔滨工业大学的计算机组成原理是国家精品课,增加了mooc+spo ...
- 【任务】Python语言程序设计.MOOC学习
[博客导航] [Python导航] 任务 18年11月29日开始,通过9周时间跨度,投入约50小时时间,在19年1月25日之前,完成中国大学MOOC平台上的<Python语言程序设计>课程 ...
- 2019年春季学期《C语言程序设计II》助教注意事项
本学期<C语言程序设计II>课程安排 理论课时24(1-12周),实验课时8(13周),课程设计课时16(14-15周) 理论课教学内容 附:教学进度表 本学期实验课和课程设计参考教材 & ...
- C语言程序设计实习报告
C语言程序设计实习报告 简介 语言实践心得体会范文在科技高度发展的今天,计算机在人们之中的作用越来越突出.而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此, ...
随机推荐
- Could not resolve dependencies for project com.shadow:shlang:jar:1.0-SNAPSHOT:
maven打包项目出现缺少jar包错误 如果是将本地引用的jar包放在了lib目录下并通过下面方式引入 解决方案为 <dependency> <groupId>com.o ...
- He'llWorld_Struts2
[步骤] 1.创建web项目 2.导入相关jar包 3.配置核心过滤器 web app libraris ---> struts-core ---> org.apache.struts2 ...
- 【04】如何确定ruby安装好
[04]如何确定ruby安装好 命令行里输入 ruby -v 如果正确输出了 ruby 版本号,就OK了 是不是在Windows平台安装的?如果是,先按照楼上说得打开命令行 ...
- #region 私有字段
#region 私有字段 private string _读者类别; private string _读者类别名称; priva ...
- C#中的ComboBox实现只能选择不能输入,且下拉框中有默认值。
下拉框有DropDownStyle这一属性,把DropDownStyle类型选为DropDownList,则下拉框只能选择不能输入了.但是这时的下拉框是没有默认值的,即使在Text属性中输入默认值,也 ...
- ExtJS前端框架EXT弹出窗口事件
https://blog.csdn.net/alsyuan/article/details/73240841 Ext.MessageBox.alert()Ext.MessageBox.alert()提 ...
- 使用SqlParameter.SqlDbType和SqlParameter.Size时需要注意的地方
1.DbParameter类是SqlParameter和OracleParameter类的父类.DbParameter.Size用来获取或设置列中数据的最大尺寸(只对文本数据有用). 2.数据类型Ch ...
- Codeforces Round #377 (Div. 2)部分题解A+B+C!
A. Buy a Shovel 题意是很好懂的,一件商品单价为k,但他身上只有10块的若干和一张r块的:求最少买几件使得不需要找零.只需枚举数量判断总价最后一位是否为0或r即可. #include&l ...
- 【Zeller公式计算星期几】HDU 6112 今夕何夕
acm.hdu.edu.cn/showproblem.php?pid=6112 [思路] 公式计算即可,注意特判2月29号 Zeller公式里,计算出的week不能直接模7,要保证week是正数 [A ...
- cp: omitting directory解决方案
cp: omitting directory是因为目录下面还有目录.应该使用递归方法.需要加入-r参数. 及:cp -r 该目录名.