Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107957
  • 博文数量: 106
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 1165
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 12:51
文章分类

全部博文(106)

文章存档

2012年(106)

我的朋友

分类: C/C++

2012-05-07 18:34: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

{

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

}

c1[len]='\0';

cout<<"逆序输出的结果::"<

}

练习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<<"起始位置:"<

}

练习2

#include

#include

#include

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<

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

cout<<"无该字符!";

}

cout<

}

练习3

#include

#include

#include

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<

}

练习4

#include

#include

#include

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

putchar(ch[j]);

cout<

}

练习5

#define N 5

#include

#include

#include

void main()

{

charstr[N][2];

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

floataxx;

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

for(j=0;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

{

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

break;

}

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

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

cout<

}

练习6

#include

#include

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十进制的 "<

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

cout<

cout<

}

阅读(705) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~