实验五 数组程序设计(二)
一.实验目的
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<
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<
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;jputchar(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<
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<
for(i=i-1;i>=0;i--)