数组程序设计(二)

原创 2012年03月21日 16:45:53

实验五  数组程序设计(二)

一.实验目的

1. 掌握程序中数组的基本操作方法;

2. 掌握字符数组的程序设计。

二.实验环境

1. 硬件:PII以上计算机;

2. 软件:Windows、Visual C++ 6.0;

3. 其它:一张软盘或者U盘等可移动的存储设备。

三.实验内容

练习1.输入一行字符,编写程序使之按逆序输出。

运行结果示例:

练习2.编写一个程序,在已知字符串“This is a c/c++ program.”中查找某个字符首次出现的位置,若字符串中没有该字符,给出相应信息。

运行结果示例:

练习3.判断输入的字符串是否为回文。

运行结果示例:

练习4.编写一个程序,功能为将读入的一组密码(字符串)按指定规律翻译回原文后输出。解码规律如下:

               字 母:变成其后的第3个,且循环转换(例:a→d、W→Z、y→b);

其 它:保持不变。

程序运行结果示例:

练习5.编程输入N个(例如5个)考生的学号及其成绩,输出平均分和最高分的情况。

提示:此题使用二维整型数组

运行结果示例:

*练习6.编写一个程序实现将一个十进制整数m转换成r(二至十六)进制的字符串。

提 示:此题中数值转换的结果应该使用字符数组存储。

运行结果示例:

 

练习1

#include "iostream.h"

#include"string.h"

void main()

{

char c[1000];

char c1[1000];

cout<<"输入一行字符串:";

cin>>c;

int len=strlen(c);

for(int i=0;i<len;i++)

{

c1[len-i-1]=c[i];

}

c1[len]='\0';

cout<<"逆序输出的结果::"<<c1<<endl;

}

 

练习2

#include "iostream.h"

#include"string.h"

#include"stdio.h"

void main()

{

       inti;

       charb[23];

   char a;

       cout<<"字符串为:This is a c/c++ program.";

       charstr[]="This is a c/c++ program.";

   cout<<"输入字符:";

   cin>>a;

       gets(str);

       for(i=0;i<=23;i++)

       if

       a==b[i];

       cout<<"起始位置:"<<i;

}

 

练习2

#include<iostream.h>

#include<stdio.h>

#include<string.h>

void main()

{

       charstr1[]={"This is a c/c++ program."},t;

       inti,j=0,k=0;

       printf("字符串为:%s\n",str1);

       printf("输入字符:");

       t=getchar();

       printf("起始位置:");

       k=strlen(str1);

       for(i=0;i<=k;i++)

       {

              if(t==str1[i])

              {cout<<i;break;}

              if(str1[i]=='.')

                     cout<<"无该字符!";

       }

       cout<<endl;

}

 

 

练习3

#include<iostream.h>

#include<stdio.h>

#include<string.h>

void main()

{

       charstr1[60];

       inti,j=0,k=0;

       printf("输入字符串:");

       gets(str1);

       printf("%s:",str1);

       k=strlen(str1);

       for(i=(k-1);i>=0;i--)

       {

              if(str1[i]!=str1[j])

              {cout<<"非回文!";break;}

              else

                     j++;

              if(i==(k-1)/2)

                     cout<<"是回文!";

       }

       cout<<endl;

}

 

 

 

 

练习4

#include<iostream.h>

#include<stdio.h>

#include<string.h>

void main()

{

int j,n;

char ch[80];

printf("原文:");

gets(ch);

j=0;

while(ch[j]!='\0')

{if((ch[j]>='A')&&(ch[j]<='Z'))

        ch[j]=ch[j]+3;

elseif((ch[j]>='a')&&(ch[j]<='z'))

    ch[j]=ch[j]+3;

else ch[j]=ch[j];

j++;

}

n=j;

printf("译文:");

for(j=0;j<n;j++)

putchar(ch[j]);

cout<<endl;

}

 

 

练习5

#define N 5

#include<iostream.h>

#include<stdio.h>

#include<string.h>

void main()

{

       charstr[N][2];

       inti,j,k=0,max=0,add=0;

       floataxx;

       printf("输入学生考号和成绩:\n");

       for(j=0;j<N;j++)

       {

              gets(str[j]);

              add=add+str[j][1];

              if(str[j][1]>max)

                     max=str[j][1];

       }

       axx=add/5.0;

       for(i=0;i<N;i++)

       {

              if(str[i][1]==max)

                     break;

       }

       printf("\n全班平均分为:%3.2f\n",axx);

       printf("最高分考生学号和成绩:%s%4d\n",str[i],max);

       cout<<endl;

}

 

 

练习6

#include<iostream.h>

#include<stdio.h>

void main()

{

       inti,m,r,w,t,q;

       chara[20];

       printf("输入十进制的数:");

       cin>>m;

       t=q=m;

       cout<<"\n输入r进制的基数:";

   cin>>r;

       for(i=0;m/r!=0;i++)

       {

              if(m%r>10)

              {

                     w=(m%r)-10;

                     m=m/r;

                     a[i]=(char)(w+65);

                     i++;

              }

              if(m%r<10)

              {

                     a[i]=(char)(m%r+48);

                     m=m/r;

              }

       }

       cout<<"\n十进制的 "<<t<<" ="<<r<<" 进制的 ";

       for(i=i-1;i>=0;i--)

              cout<<a[i];

       cout<<endl;

}

 

 

 

 

 

期末考试 编程题#11:数据库内的学生信息(Coursera 程序设计与算法 专项课程3 C++程序设计 郭炜、刘家瑛;STL编写)

编程题#11:数据库内的学生信息来源: 北京大学在线程序评测系统POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)总时间限制: 3000ms 内存限制: 20...
  • happyygdx
  • happyygdx
  • 2017年12月07日 19:32
  • 99

基于MCP2515的Linux CAN总线驱动程序设计(二)

转自http://blog.csdn.net/leesheen/article/details/8770560 1. 前言         CAN(Controller Area ...
  • qwaszx523
  • qwaszx523
  • 2017年02月17日 14:25
  • 613

慕课-程序设计与算法(大学先修课)-郭炜-第一周练习题

1.输入三个整数,把第二个输入的整数输出。 #include using namespace std; int main() { int a,b,c; cin>>a>>b>>c; cou...
  • qinghuan1
  • qinghuan1
  • 2017年03月17日 11:36
  • 780

程序设计与算法(二)算法基础_北京大学 学习笔记(一)

第一周 枚举 所有题目用python实现 例题1 完美立方N=int(input ('N=')) for a in range(3,N+1): for b in range(2,a): ...
  • chucksonwheel
  • chucksonwheel
  • 2017年12月05日 11:05
  • 92

笔试面试算法经典--打印数组中相加和为给定值的二元组及三元组(Java)

【题目】给定一个递增的数组,要求打印数组中和为给定值的二元组,例如: arr[]={-8, -4, -1, 0, 1, 3, 4, 5, 6, 7, 9} , k=10,打印结果为:  1——9 ...
  • u013309870
  • u013309870
  • 2017年04月13日 21:52
  • 457

程序设计C 实验二 题目三 计算生日是星期几(0078)

Description 输入一个日期,包括年、月、日。(一组测试数据) Input 输出这个日期是星期几。 Output 1 2 3 ...
  • Aimee_ice
  • Aimee_ice
  • 2017年10月19日 13:51
  • 182

[POJ1681]画家问题

描述 有一个正方形的墙,由N*N个正方形的砖组成,其中一些砖是白色的,另外一些砖是黄色的。Bob是个画家,想把全部的砖都涂成黄色。但他的画笔不好使。当他用画笔涂画第(i, j)个位置的砖时, 位置(...
  • sinat_19425927
  • sinat_19425927
  • 2014年08月12日 17:27
  • 1207

17秋福师《面向web应用程序设计》在线作业二答案

17秋福师《面向web应用程序设计》在线作业二答案 1. 商务网站中客户的购物信息最佳的保存场所是()。   A. Applicaton   B. Session   C. ViewState...
  • a161619
  • a161619
  • 2018年01月22日 15:50
  • 21

《C语言及程序设计》实践参考——数组的排序

返回:贺老师课程教学链接  项目要求【项目3 - 数组的排序】(1)编写函数,完成冒泡排序要求不能改变下面的main函数。//两个函数bubble_sort和output_array的声明 i...
  • sxhelijian
  • sxhelijian
  • 2015年05月01日 07:42
  • 1270

Hihocoder 数组重排

题意: 给你个1到n的序列p,每次将所有数移动,第i个数移动到p[i]位置上 ,问最少几次操作,使得 所有  i==p[i] 其实想想也就是 第I个数按照规则移动,会再次回到 i的位置上,需要几次,...
  • Theflowerofac
  • Theflowerofac
  • 2016年11月06日 17:59
  • 511
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组程序设计(二)
举报原因:
原因补充:

(最多只允许输入30个字)