(5)巩固一下C语言基础知识,谁动手,谁收获
来源:互联网 发布:台湾自由行 知乎 编辑:程序博客网 时间:2024/05/18 13:07
问题18:
编写一个函数InverseByWord(char*sentence),实现一个英文句子按单词逆序存放的功能,并给出测试程序。(50分)
如:This is aninteresting programme .
逆序后变为:. programme interesting an isThis问题19:
编程完成数据加密。数据是五位的整数,加密规则为:每位数字都加上6,然后用和除以8的余数代替该数字,再将第一位和第五位交换,第二位和第四位交换。(15分)
问题20:
请猜数字,该数字由系统随即产生。要求:用户最多有10次猜测的机会,如果在10次内猜对数字,则程序显示祝贺信息,如果连续10次都没有猜中数字,则游戏自动退出。(25分)
(提示:可能用到以下库函数:
randomize();用系统的时间作为随机种子;包含于stdlib.h库中
random(100):随机产生0-99之间的一个随机数;包含于stdlib.h库中
toupper():将字符c转换为大写英文字母,包含于ctype.h库中)
问题18实现代码:
- /* author:宋金时 */
- /* date:2011/11/03 */
- #include "Stdio.h"
- #include "Conio.h"
- #define N 200
- void InverseByWord(char* sentense);
- int main(void)
- {
- /* 此处添加你自己的代码 */
- char str[N],*str_temp;
- puts("please input a sentense:");
- gets(str);
- InverseByWord(str);
- /* puts(str); */
- /* printf("%s\n",InverseByWord(str));*/
- getch();
- return 0;
- }
- void InverseByWord(char* sentense)
- {
- char* begin_p,*end_p,*str_new;
- begin_p = sentense;
- end_p = sentense+strlen(sentense)-1;
- str_new = (char*)malloc(strlen(sentense)+1);
- memset(str_new,0,strlen(sentense)+1);
- while(end_p>begin_p)
- {
- while(*end_p!=' '&&end_p>begin_p)
- {
- end_p--;
- }
- if(*end_p==' ')
- {
- *end_p='\0';
- end_p++;
- strcat(str_new,end_p);
- strcat(str_new," ");
- }
- else
- {
- strcat(str_new,end_p);
- }
- }
- puts(str_new);
- /* strcpy(sentense,str_new);
- puts(sentense); */
- free(str_new);
- str_new = NULL;
- /* strcpy(sentense,str_new); */
- /* puts(sentense); */
- /* return str_new; */
- }
问题19实现代码:
- /* author宋金时 */
- /* date:2011/11/03 */
- #include "Stdio.h"
- #include "Conio.h"
- #define N 5
- int main(void)
- {
- /* 此处添加你自己的代码 */
- int m_num,m_temp,m_i,m_j,arr_bit[5];
- puts("please input a 5 bits number:");
- scanf("%d",&m_num);
- m_temp = m_num;
- for(m_i=0;m_i<N;m_i++)
- {
- arr_bit[m_i] = (m_temp%10 + 6)%8;
- m_temp/=10;
- }
- m_i=0;
- m_j=N-1;
- while(m_i<m_j)
- {
- /* m_temp = arr_bit[m_i]; */
- arr_bit[m_i]^=arr_bit[m_j];
- arr_bit[m_j]^=arr_bit[m_i];
- arr_bit[m_i]^=arr_bit[m_j];
- m_i++;
- m_j--;
- }
- printf("maked digtal is %d\n",m_temp=(arr_bit[0]+\
- arr_bit[1]*10+arr_bit[2]*100+arr_bit[3]*1000+arr_bit[4]*10000));
- getch();
- return 0;
- }
问题20实现代码:
- /* author:宋金时 */
- /* date:2011/11/03 */
- #include "Stdio.h"
- #include "stdlib.h"
- #include "time.h"
- #include "ctype.h"
- #include "Conio.h"
- int main(void)
- {
- /* 此处添加你自己的代码 */
- int m_randnum,m_count=0,m_input;
- randomize();
- m_randnum = random(100);
- while(m_count<10)
- {
- m_count++;
- puts("please 0-99 number:");
- scanf("%d",&m_input);
- if(m_input==m_randnum)
- {
- puts("congratulations you!answer very right!");
- break;
- }
- else
- {
- if(m_input>m_randnum)
- {
- puts("very be sorry!answer error,so big!");
- }
- else
- puts("very be sorry!answer error,so little!");
- }
- }
- printf("total guess %d once\n",m_count);
- getch();
- return 0;
- }
- (5)巩固一下C语言基础知识,谁动手,谁收获。
- (5)巩固一下C语言基础知识,谁动手,谁收获
- (1)巩固一下C语言基础知识,谁动手,谁收获。
- (2)巩固一下C语言基础知识,谁动手,谁收获。
- (3)巩固一下C语言基础知识,谁动手,谁收获。
- (4)巩固一下C语言基础知识,谁动手,谁收获。
- (6)巩固一下C语言基础知识,谁动手,谁收获。
- (7)巩固一下C语言基础知识,谁动手,谁收获。
- (1)巩固一下C语言基础知识,谁动手,谁收获
- (2)巩固一下C语言基础知识,谁动手,谁收获
- (3)巩固一下C语言基础知识,谁动手,谁收获
- (4)巩固一下C语言基础知识,谁动手,谁收获
- (6)巩固一下C语言基础知识,谁动手,谁收获。
- (7)巩固一下C语言基础知识,谁动手,谁收获
- C语言基础知识巩固
- C语言基础巩固
- 巩固C语言(一)
- 巩固C语言(二)
- 成员管理
- java.util.concurrent包分类结构图
- Shader system的设计 -- 还未看懂
- 3.权限控制:登陆页面(注意javascript第一句话)
- C++中帮肋学习的名词另类解释
- (5)巩固一下C语言基础知识,谁动手,谁收获
- Convert、Parse 区别
- JS拖曳层
- iphone利用JSON传递数据(转
- CRM整体解决--分析型、运营型以及协作型CRM
- ExtJs日期控件
- CL.exe的全部命令开关
- android模拟器IP地址
- (6)巩固一下C语言基础知识,谁动手,谁收获。