本文目录一览:
- 输入一学号,如,161588955,前两位数表示年级,请问用c语言怎么判断前
- [c语言问题 求大佬解答拜托了](#c语言问题 求大佬解答拜托了)
- C语言里怎么判断输入的学号是否正常?
- 在C语言中如何判断学生的学号为3位数字,这个学号应该把他定义为int型还是string啊?
- c语言生成了一个文本,我想通过其中的学号然后判断有无此信息,然后再修改内容,怎么做啊!
- [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语言生成了一个文本,我想通过其中的学号然后判断有无此信息,然后再修改内容,怎么做啊!
两种思路:
- 如果文本不大的话,可以把文本中的所有信息读取出来,在内存中进行判断修改,修改完毕后将原文件内容冲掉,将新信息写入进去。
- 如果文本较大或者不想这么做的话,可以读取的时候进行判断,读入一个学号,根据你所需要进行的判断之类的,确定要不要修改,如果要修改,就将当前文件指针位置后面的对应数据修改。 这种方法麻烦很多,而且我也不知道你文本是如何存放的,所以可能不太靠谱。 推荐第一种方法。
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');
}