SCAU高级语言程序设计--实验8 字符数组及串(1)

SCAU高级语言程序设计--实验8 字符数组及串(1)

一、堂上限时习题

1、定义存贮字符串的字符数组

题目:在下面程序中填充定义字符数组的语句,使程序完整。

#include "stdio.h" 
#include "string.h" 
int main() 
{    _______________________/*define a array named s to store string*/ 
    strcpy(s, "abcdefghijklmn"); 
    printf("%s", s); 
    return 0; 

#include<stdio.h>
#include<string.h>
int main(){
    char s[80];/*define a array named s to store string*/
    strcpy(s,"abcdefghijklmn");//把字符串写入数组中。 
    printf("%s",s);//直接打印字符串
    return 0;
}

注意:1)strcpy()函数头文件为string.h。2)可以直接打印字符串%s。3)如果用%c,只能打印一个字符如是s[0]=‘a’。  

2、字符串的输入与输出

题目:下面程序实现从键盘读入字符串,然后输出到屏幕,请填充必要的语句。

#include "stdio.h" 
main() 
{   char  s[50]; 
    printf("What's your name?\n"); 
    _______________________ /*iput your name from the keyboard*/ 
    printf("Your name is "); 
    printf("_______________________", s);  /*output your name*/ 

思路:输入与输出字符串的方法。scanf与gets函数可以输入。

#include<stdio.h>
int main(){
    char s[50];
    printf("What's your name?\n");
    scanf("%s",s);//字符串的话,s前面不用加&
    //gets(s);//第二种输入字符串的方法
    printf("Your name is ");
    printf("%s",s);
    return 0;
}

注意:scanf中,s前面没有&。

3、回文串

题目:读入一行字符串(不多于80个字符,以回车结束),判断该字符串是否为回文串(即从左向右拼写与从 右向左拼写是一样的),是则输出Y,不是则输出N。

思路:  把整个字符串中间分成一半去判断,前一半和后一半进行对比,如果遇到不相同的就退出输出N。

#include<stdio.h>
#include<stdlib.h>
int main(){
    char s[81],i,j;
    //循环输入字符
    while(i<81){
        c[i]=getchar();
        if(c[i]=='\n')
            break;
        i++;
    }
    //判断算法
    j= i/2;
    while(j>0){
        if(c[j-1] != c[i-j]){//前后两个字符对比
            z = 1;//若有不一样就退出
            break;
        }
        j--;//从中间向两边对比
    }
    //结果输出
    if(z==0)
        printf("Y\n");
    else
        printf("N\n");
    return 0;
}
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值