OJ离散数学实验一

1-1 A - 1.1联结词真值运算

#include<stdio.h>
int main()
{
	int p,q;
	while(~scanf("%d %d",&p,&q))
	{
	if(p==1&&q==1) printf("1 ");
	else printf("0 ");
	if(p==0&&q==0) printf("0 ");
	else printf("1 ");
	if(p==1&&q==0) printf("0 ");
	else printf("1 ");
	if(p==q) printf("1 ");
	else printf("0 ");
	if(p==1&&q==1) printf("0 ");
	else printf("1 ");
	if(p==0&&q==0) printf("1\n");
	else printf("0\n");
   }
	return 0; 
}

1-2 B - 1.3按位AND和按位OR

#include<stdio.h>
int main()
{
	int n,a[66],b[66],c[66],d[66],i;
	while(~scanf("%d",&n))
	{
	 for(i=0;i<n;i++)
	 {
		 scanf("%d",&a[i]);
	 }
	 for(i=0;i<n;i++)
	 {
		 scanf("%d",&b[i]);
	 }
	 for(i=0;i<n;i++)
	 {
	 	if(a[i]==1&&b[i]==1) c[i]=1;
	 	else c[i]=0;
	 	if(a[i]==0&&b[i]==0) d[i]=0;
	 	else d[i]=1;
	   }  
	 for(i=0;i<n;i++)
	 {
	 	if(i==n-1)
	 	printf("%d\n",c[i]);
	 	else printf("%d ",c[i]);
	 }
	 for(i=0;i<n;i++)
	 {
	 	if(i==n-1)
	 	printf("%d\n",d[i]);
	 	else printf("%d ",d[i]);
	 }
    }
    return 0;
}

1-3 C - 哪款赛车最佳?

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int a,b,c,d,i,A,B,C,D;
	while(~scanf("%d %d %d",&a,&b,&c))
	{
		for(i=1;i<=4;i++)
		{
			if(a==i)\\如果a为最佳车,下同
			{
				A=1;
				B=0;
				C=1;
				D=1;
			}
			else if(b==i)
			{
				A=0;
				B=1;
				C=1;
				D=0;
			}
			else if(c==i)
			{
				A=0;
				B=0;
				C=0;
				D=1;
			}
			else
			{
				A=0;
				B=0;
				C=1;
				D=1;
			}
			if(A+B+C+D==1)
			{
			if(A==1) printf("%d A\n",i);
			if(B==1) printf("%d B\n",i);
			if(C==1) printf("%d C\n",i);
			if(D==1) printf("%d D\n",i);
			}
		}
    }
    return 0;
}

1-4 D - 谁是作案嫌疑人?

#include<stdio.h>
int main()
{
	int a,b,c,d,e,f,i;
	while(~scanf("%d %d %d %d %d %d",&a,&b,&c,&d,&e,&f))
	{
		printf("The suspects numbered %d are criminals.\n",a);
		printf("The suspects numbered %d are criminals.\n",b);
		printf("The suspects numbered %d are criminals.\n",c);
		printf("The suspect numbered %d is not a criminal.\n",d);
		printf("The suspect numbered %d is not a criminal.\n",e);
		printf("The suspects numbered %d are criminals.\n",f);
	}
	return 0;
}//这个题可以说取巧了,不需要任何计算,因为他们是不是犯罪嫌疑人是已经定了的。

最近在做离散实验,所以浅更新一下,oj程序基础系列还会继续更新的。

### SWUSTOJ 平台上的结构体实验题目及解答 在SWUSTOJ平台上,关于结构体的实验通常会围绕定义、初始化以及操作结构体展开。下面是个典型的结构体实验题目及其解答。 #### 题目描述 设计个学生信息管理系统,该系统能够存储并显示学生的学号、姓名和成绩。要求实现如下功能: - 输入若干名学生的信息; - 输出所有学生的信息列表; 为了完成上述任务,可以按照以下方式编写程序[^1]。 ```c #include <stdio.h> #define MAX_STUDENTS 100 // 定义结构体类型 Student 来表示单个学生的信息 typedef struct { int id; // 学生编号 char name[50]; // 姓名 float score; // 成绩 } Student; int main() { Student students[MAX_STUDENTS]; int n; printf("请输入学生人数: "); scanf("%d", &n); // 循环读取每名学生的信息 for (int i = 0; i < n; ++i) { printf("\n输入第 %d 名学生的信息:\n", i + 1); printf("学号: "); scanf("%d", &(students[i].id)); printf("姓名: "); getchar(); // 清除缓冲区中的换行符 fgets(students[i].name, sizeof(students[i].name), stdin); printf("成绩: "); scanf("%f", &(students[i].score)); } // 打印所有已录入的学生信息 printf("\n--- 学生信息 ---\n"); for (int j = 0; j < n; ++j){ printf("学号:%d\n", students[j].id); printf("姓名:%s", students[j].name); printf("成绩:%.2f\n", students[j].score); } } ``` 这段代码展示了如何利用C语言创建个简单的基于控制台的应用程序来管理组学生记录。通过`struct`关键字定义了个名为 `Student` 的新数据类型,并使用数组保存多个此类对象实例。此外还实现了基本的数据输入/输出逻辑[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CRAEN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值