C语言王道练习题第四周两题

第一题

Description

输入N个数(N小于等寸100),输出数字2的出现次数

整型数组读取5个整型数的方法如下:

int a[100];

for(int i=0;i<5;i++)

{

scanf("%d",&a[i]);

}

Input

第一行输入要输的元素个数,比如5

第二行输入 1 2 2 3 2,那么输出结果为3,因为2出现了3次

Output

统计数字2出现的次数

代码:

#include
int main()
{
//Description
//输入N个数(N小于等寸100),输出数字2的出现次数
//整型数组读取5个整型数的方法如下:
//int a[100];
//for(int i=0;i<5;i++)
//{
//scanf("%d",&a[i]);
//}
//Input
//第一行输入要输的元素个数,比如5
//第二行输入 1 2 2 3 2,那么输出结果为3,因为2出现了3次
//Output
//统计数字2出现的次数
    int element_count;
    int arr[100];
    scanf("%d",&element_count);
    for (int i = 0; i < element_count; i++) {
        scanf("%d",&arr[i]);
    }
    int count  = 0;
    for (int i = 0; i < element_count; i++) {
        if(arr[i] == 2){
            count++;
        }
    }
    printf("%d\n",count);
    return 0;
}

结果:

C语言王道练习题第四周两题_第1张图片

第二题

读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,大于逆转后字符串输出1。

例如输入 hello,逆转后的字符串为 olleh,因为hello 小于 olleh,所以输出-1

注意最后的判断一定要这么写,因为strcmp标准C中并不是返回-1和1,而是负值和正值

int result = strcmp(c, d);

if (result < 0)

{

printf("%d\n",-1);

}

else if (result > 0)

{

printf("%d\n", 1);

}

else{

printf("%d\n", 0);

}

Input

输入一个字符串,例如 hello,当然输入的字符串也可能是 how are you,含有空格的字符串

Output

输出是一个整型数,如果输入的字符串是hello,那么输出的整型数为-1

代码:

#include
#include //外部的头文件
int main()
{
    char c[100];
    char d[100] = {0};//初始化d,使其有结束符
    gets(c);
    for (int i = 0,j = strlen(c) - 1; i < strlen(c) ; i++,j--) {
        d[j] = c[i];
    }
    int result = strcmp(c, d);
    if (result < 0){
        printf("%d\n",-1);
    }else if (result > 0){
        printf("%d\n", 1);
    }else{
        printf("%d\n", 0);
    }

    return 0;
}

你可能感兴趣的:(C练习题,c语言,开发语言)