2012年(106)
分类: C/C++
2012-05-07 18:21:22
练习1.输入一行字符,编写程序使之按逆序输出。
#include
#include
#include
void main()
{
charstr1[60],str2[60];
inti,j=0,k=0;
printf("输入一行字符:");
gets(str1);
printf("逆序输出的结果:");
k=strlen(str1);
for(i=k;i>=0;i--)
{
str2[j]=str1[i];
cout< j++; } cout< } 练习2.编写一个程序,在已知字符串“This is a c/c++ program.”中查找某个字符首次出现的位置,若字符串中没有该字符,给出相应信息。 #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.编写一个程序,功能为将读入的一组密码(字符串)按指定规律翻译回原文后输出。解码规律如下: 字 母:变成其后的第3个,且循环转换(例:a→d、W→Z、y→b); 其 它:保持不变。 #include #include #include void main() { charstr1[60]; inti,j=0,k=0; printf("原文:"); gets(str1); printf("译文:"); k=strlen(str1); for(i=0;i { if(str1[i]>='a'&&str1[i]<='w'||str1[i]>='A'&&str1[i]<='W') str1[i]=str1[i]+3; elseif(str1[i]>='x'&&str1[i]<='z'||str1[i]>='X'&&str1[i]<='Z') str1[i]=str1[i]-23; } printf("%s",str1); cout< } 练习5.编程输入N个(例如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< }