c语言判断学号,c语言编程解释学号含义

发布时间:2022-11-25

本文目录一览:

  1. 输入一学号,如,161588955,前两位数表示年级,请问用c语言怎么判断前
  2. [c语言问题 求大佬解答拜托了](#c语言问题 求大佬解答拜托了)
  3. C语言里怎么判断输入的学号是否正常?
  4. 在C语言中如何判断学生的学号为3位数字,这个学号应该把他定义为int型还是string啊?
  5. c语言生成了一个文本,我想通过其中的学号然后判断有无此信息,然后再修改内容,怎么做啊!
  6. [C语言 判断输入学号是否重复问题](#C语言 判断输入学号是否重复问题)

输入一学号,如,161588955,前两位数表示年级,请问用c语言怎么判断前

#include<stdio.h>
int main()
{
    int num;
    printf("please input the num:\n");
    scanf("%d", &num);
    int tmp = num;
    int index = 0, i = 0;
    while(tmp)
    {
        tmp /= 10;
        index++;
    }
    //printf("%d\n",index);
    int arr[index];
    while(1)
    {
        if(num == 0)
            break;
        arr[i] = num % 10;
        i++;
        num /= 10;
    }
    printf("%d%d", arr[index-1], arr[index-2]);
    printf("\n");
    return 0;
}

c语言问题 求大佬解答拜托了

#include<stdio.h>
int main() {
    int stuNum = 0, remainder = -1, weekNum = 0;
    printf("请输入学号([142011001,142015000]):");
    scanf("%d", &stuNum);
    if(stuNum < 142011001 || stuNum > 142015000) {
        printf("学号输入错误,应该在[142011001,142015000]内");
        return 0;
    }
    printf("请输入周数([1,20]):");
    scanf("%d", &weekNum);
    if(weekNum < 1 || weekNum > 20) {
        printf("周数输入错误,应该在[1,20]内");
        return 0;
    }
    remainder = stuNum % 10;
    printf("学生%d在第%d周应该交作业吗?", stuNum, weekNum);
    printf(remainder % 3 == weekNum ? "是" : "否");
}

C语言里怎么判断输入的学号是否正常?

基本流程是读入学号到字符串,然后循环判断字符串各位的字符,如果全为数字(或其他规则)则合法。

在C语言中如何判断学生的学号为3位数字,这个学号应该把他定义为int型还是string啊?

如果是用字符串来保存的话,可以用 strlen(s) 来得到 s 的位数,三个数字肯定长度为3么。

c语言生成了一个文本,我想通过其中的学号然后判断有无此信息,然后再修改内容,怎么做啊!

两种思路:

  1. 如果文本不大的话,可以把文本中的所有信息读取出来,在内存中进行判断修改,修改完毕后将原文件内容冲掉,将新信息写入进去。
  2. 如果文本较大或者不想这么做的话,可以读取的时候进行判断,读入一个学号,根据你所需要进行的判断之类的,确定要不要修改,如果要修改,就将当前文件指针位置后面的对应数据修改。 这种方法麻烦很多,而且我也不知道你文本是如何存放的,所以可能不太靠谱。 推荐第一种方法。

C语言 判断输入学号是否重复问题

struct student
{
    int no;
    char name[20];
    int C;
    int Java;
    int Html;
    float ave;
} stu[N], temp;
void addStu() //选项1
{
    int count = 0, i; //这个地方要定义count
    char ch;
    printf("请输入学生的信息。\n");
    do
    {
        printf("请输入第%d个学员信息:\n", count);
        fflush(stdin);
        do
        {
            printf("请输入学号1-100:"); //学号的输入
            scanf("%d", &stu[count].no);
            for(i = 0; i < count; i++) //判断学号是否重复,如果重复将学号置101,重新输入
                if(stu[count].no == stu[i].no)
                {
                    printf("学号输入重复,请重新输入\n");
                    stu[count].no = 101;
                    break;
                }
            if(stu[count].no > 100 || stu[count].no < 1)
            {
                fflush(stdin);
                printf("输入错误,请重新输入.\n");
            }
        } while(stu[count].no > 100 || stu[count].no < 1);
        fflush(stdin);
        printf("姓名:");
        gets(stu[count].name);
        printf("三门成绩:\n");
        do
        {
            printf("C语言:");
            scanf("%d", &stu[count].C);
            if(stu[count].C < 0 || stu[count].C > 100)
            {
                printf("输入错误,请重新输入:\n");
            }
        } while(stu[count].C < 0 || stu[count].C > 100);
        do
        {
            printf("Java成绩:");
            scanf("%d", &stu[count].Java);
            if(stu[count].Java < 0 || stu[count].Java > 100)
            {
                printf("输入错误,请重新输入:\n");
            }
        } while(stu[count].Java < 0 || stu[count].Java > 100);
        do
        {
            printf("Html成绩:");
            scanf("%d", &stu[count].Html);
            if(stu[count].Html < 0 || stu[count].Html > 100)
            {
                printf("输入错误,请重新输入:\n");
            }
        } while(stu[count].Html < 0 || stu[count].Html > 100);
        stu[count].ave = (stu[count].C + stu[count].Java + stu[count].Html) / 3.0;
        printf("是否继续?y/n");
        fflush(stdin);
        ch = getchar();
        count++;
    } while(ch != 'n');
}