C语言程序设计精髓(MOOC第14周 )题

第14周练兵区编程题

1. 学生成绩管理系统V5.0

2. 字符串中的字符排序

题目内容:
编写一个函数,对一个字符串中的字符进行升序排序,并输出字符排序后的字符串,字符串长度小于20。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int mycmp(const void* a,const void* b)
{
    const char* x = (const char*)a;
    const char* y = (const char*)b;
    if(*x - *y == 0)
        return 0;
    else if(*x - *y > 0)
        return 1;
    else
        return -1;
}
int main()
{
    char str[20];
    printf("Input a string:\n");
    gets(str);
    qsort(str,strlen(str),sizeof(char),mycmp);
    puts(str);
    return 0;
}

3. 纯数字字符串检验

题目内容:
按给定函数原型编程检查一个字符串是否全由数字组成。

int IsAllDigit(char p[]);/若全由数字组成,则函数返回1,否则返回0/

#include<stdio.h>
#include<ctype.h>
int IsAllDigit(char p[])
{
    int flag = 1;
    char *q = p;
    while(*q != '\0')
    {
        if(!isdigit(*q))
            flag = 0;
        q++;
    }
    return flag;
}
int main()
{
    char str[20];
    printf("Please input a string:\n");
    gets(str);
    if(IsAllDigit(str))
        printf("The string is digit string.");
    else
        printf("The string is not digit string.");
    return 0;
}

4. 孪生素数

题目内容:
相差为2的两个素数称为孪生素数。例如,3与5,41与43等都是孪生素数。设计程序求出指定区间上的所有孪生素数对。区间上限和下限由键盘获取。

#include<stdio.h>
#include<math.h>
int Prime(long n)
{
    int i ;
    for(i = 2; i <= sqrt(n); i++)
    {
        if(n%i == 0)
            return 0;
    }
    return 1;
}
int main()
{
    long a, b;
    int cnt = 0;
    printf("please input c,d(c>2):\n");
    scanf("%ld,%ld",&a, &b);
    for(int i = a; i <= b; i++)
    {
        if(Prime(i) && Prime(i + 2) && (i + 2 <= b))
        {
            printf("(%ld,%ld)\n", i, i+2);
            cnt++;
        }
    }
    printf("total=%d\n",cnt);
    return 0;
}

5. 求解不等式

题目内容:
对指定正实数n(采用双精度浮点型表示),试求满足下面平方根不等式的最小整数m,并输出不等式左边的值。程序中浮点数的数据类型均为double。

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
    double n, sum;
    int i, m;
    printf("Input n:\n");
    scanf("%lf",&n);
    for(m = 1; ; m++)
    {
        sum = 0;
        for(i = 0; i <= m; i++)
        {
            sum += sqrt(m + i);
        }
        if(sum > n)
        {
           printf("Result:m>=%d\n",m);
           printf("s=%.2f\n",sum);
           return 0;
        }
    }
    return 0;
}
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言程序设计精髓MOOC》第三主要内容是关于指针和数组的学习。 首先是指针的介绍和使用。指针是C语言中一个非常重要的概念,它可以用来间接访问内存中的数据,通过指针可以实现对变量地址的操作。在学习过程中,我们了解了指针的定义和声明,以及指针与数组之间的关系。指针在程序设计中的应用非常广泛,特别是在动态内存分配和函数调用等方面,有着重要的作用。 其次是数组的使用。数组是一种由相同类型的元素组成的集合,它在C语言中非常常用。在第三的学习中,我们了解了数组的定义、初始化和遍历等基本操作,还学习了一些在数组中常用的算法和技巧。通过多维数组和指针数组的学习,我们可以更灵活地处理多个数据。 除了指针和数组,第三还涉及到了C语言中的结构体(struct)和文件的输入输出操作等内容。结构体是一种可以封装多个不同类型的数据的自定义数据类型,它在实际的程序设计中经常被用于组织和管理数据。文件的输入输出操作涉及了C语言中如何读写文件以及相关的文件处理函数等知识点。 通过学习《C语言程序设计精髓MOOC》第三的内容,我们对指针和数组有了更深入的认识,并且掌握了它们的基本用法和应用技巧。这对于进一步学习和理解C语言程序设计以及其他高级编程语言都非常有帮助。此外,通过作业和练习的完成,我们可以检验和巩固所学的知识,提高我们自己的编程能力。希望通过这门课程的学习,能够让我们对C语言有更全面和深入的了解,为以后的学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值