关闭

C语言复习3

标签: 语言c编程ini
235人阅读 评论(0) 收藏 举报
分类:

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

#include<iostream.h>

#include<stdio.h>

#include<string.h>

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<<str2[j];

              j++;

       }

       cout<<endl;

}

 

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

#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.编写一个程序,功能为将读入的一组密码(字符串)按指定规律翻译回原文后输出。解码规律如下:

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

其 它:保持不变。

#include<iostream.h>

#include<stdio.h>

#include<string.h>

void main()

{

       charstr1[60];

       inti,j=0,k=0;

       printf("原文:");

       gets(str1);

       printf("译文:");

       k=strlen(str1);

       for(i=0;i<k;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<<endl;

}

 

练习5.编程输入N个(例如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;

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:27687次
    • 积分:848
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章存档
    最新评论