c语言题目求助~~

题目:a说b在说谎,b说c在说谎,c说a和b都在说谎,编程来决定谁在 说谎。。。
谢谢!!!!!!

#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c;
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
if((a&&!b||!a&&b)&&(!b&&c||b&&!c)&&(!c&&a+b==0||c&&a+b!=0))
{ printf("a told a %s \n",a?"true":"lie");
printf("b told a %s \n",b?"true":"lie");

printf("c told a %s \n",c?"true":"lie");
}
system("pause");
}
以上在dev c++上编译通过
假设a说真话,那么bc说的是假话。根据b说的,说明c说的是真话,与假设矛盾,所以不成立。
假设c说真话,那么ab说的都是假话,根据a说的,说明b说的是真话,与前面矛盾,缩一不成立

所以b说的是真话
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-28
(1):10
(2):55
(3):24
(4):C
(5):D
(6):2
(7):X
判断题:
1:错
2:对
3:错
4:??a[i]??是不是写错题了?
5:错
6:对
7:对
8:错。不一定的,如果语句S中有break语句则跳出循环
9:错
10:这道题的case
7语句中,到底是j-=2还是j+=2?如果是j-=2就是对的,如果是j-=2就是错的。
第2个回答  2019-10-11
结果是会输出:31.
首先定义了两个整型变量a,i,然后是for循环语句。i初始化为1,i<5,即开始循环。循环体是switch语句,switch后()内的表达式的值与下面某个case后的常量相等时,就执行对应case后的语句,完成后移到下一个case继续执行,直到遇到break或switch的“}”。如值没有对应哪一个case后的常量,则运行default。比如第一次循环i值为1,跳到case
1处开始执行,之后依次遇到a自增3与a自增5,结束此次循环时a=8。接着i自增1变为2,满足循环条件进行下一次循环。以此类推直到4次循环后,a=31,此时i再自增为5,不满足循环条件,跳出循环,输出a的值。
讲得有些啰嗦,希望能给你帮助。
第3个回答  2020-06-22
结果是31
当i=1时.执行
case
1:
case
2:a+=3;
default:a+=5;
所以a=a+3=3,a=a+5=3+5=8
当i=2时.执行
case
2:a+=3;
default:a+=5;
所以a=a+3=8+3=11,a=a+5=11+5=16
当i=3时.执行
case
3:a+=2;
case
1:
case
2:a+=3;
default:a+=5;
所以a=a+2=16+2=18,a=a+3=18+3=21,a=a+5=21+5=26
当i=4时.执行
default:a+=5;
所以a=a+5=26+5=31
当i=5时,退出循环执行
printf("%d\n",a);输出31
第4个回答  2020-05-06
当i=1时.执行
case
1:
case
2:a+=3;
default:a+=5;
所以a=a+3=3,a=a+5=3+5=8
当i=2时.执行
case
2:a+=3;
default:a+=5;
所以a=a+3=8+3=11,a=a+5=11+5=16
当i=3时.执行
case
3:a+=2;
case
1:
case
2:a+=3;
default:a+=5;
所以a=a+2=16+2=18,a=a+3=18+3=21,a=a+5=21+5=26
当i=4时.执行
default:a+=5;
所以a=a+5=26+5=31
当i=5时,退出循环执行
printf("%d\n",a);输出31

C语言求助求助求大佬救命
第一空:int MAX,MIN;int input_function(int *);int sorting_function(int *);int output_function(int *);第二空:array_data 第三空:array_data[i]=value;第四空:array_data[j-1]>array_data[j]第五空:(i+1)%5==0 另每一个函数最后一个}前加一句return 0;或把函数名前的int...

C语言作业求助,十分感谢
C代码和运行结果如下:输如10个数,成功输出了它们的最大值、最小值和平均值,望采纳~附源码:include <stdio.h> int main() { int max, min, sum, num, i;scanf("%d", &num); \/\/ 先输入一1个数 max = min = sum = num;for (i = 0; i < 9; i++) { \/\/ 再输入剩下9...

C语言啊。。。求助。。帅哥美女们,大哥大姐们会的帮下忙。无限感激...
include<stdio.h> int main(){ int a[3];int i,max;int n;scanf("%d",&n);while(n--){ for(i=0;i<3;i++)scanf("%d",&a[i]);max=a[0];for(i=0;i<3;i++)if(a[i]>=max)max=a[i];printf("%d\\n",max);} return 0;} ...

C语言求助,题目有图,希望过程详细一些? 。。
void fun(union data c){ c.n=100;printf("传参后fun函数中c.n赋值%d\\n",c.n);}

c语言求助~~~
int C;int Eng;};struct student stu[5]={{"张",80,75,92},{"王",61,65,71},{"李",59,63,70},{"赵",85,87,90},{"周",76,77,85}};main(){ int aveMath=0,aveC=0,aveEng=0;int avestu[5]={0};int i;for(i=0;i<5;i++){ aveMath+=stu[i].Math;aveC+=stu...

C语言简单的字符串、字符处理问题求助
第一题:简单点的做法是申请个足够大的char数组。比如假定最多1000种字串,每串最大长度为20,就申请word[1000][20],以及一个num[1000],一个字串个数wordNum,初始化置为0。然后每读到一个字串就d到word中检测有没有重复的,有的话就给对应序号的num[i]加一,没有的话就添加,然后num[i]...

C语言的一道题 求助求助
一、统计输入的字符个数 同学们在学习C语言课程中,经常会遇到一道题,就是要求你写一个C程序,这个C程序能够读取你从键盘上输入的字符,并且统计其中的字符个数,最后输出总的字符个数并且把这些输入的字符再输出来。不少同学遇到这道题没啥思路,不知该如何上手。其实需要按照分解题目、每个分解的...

一个简单c语言题目,大神求助!在字符串中查找指定字符
1、打开python语言命令窗口,定义字符串变量s1并进行赋值。2、调用字符串中的count方法,查找字符#在s1中出现的次数。3、count()方法除了第一个参数之外,还可以有第二个参数,代表从什么位置开始查找。4、在count方法,还可以添加第三个参数,结束位置,开始位置到结束位置之间。5、如果需要查找的子字符...

关于C语言有几道题不会,求助大神
C正确,选C——下标从0开始,所以a[2]的值是3,a[a[2]]就是a[3],显然a[3]是第4个数值是4。C A 没有正确选项,输出是23 C C A C C 没有正确选项,应该是fun(10,12.5);这种形式 B

c语言求助
答案是8 过程如下:fun((a++,b++,a+b),c++)先看:(a++,b++,a+b) 这个过程a++相当于1+1=2 b++相当于2+1=3 a+b=5 ,由于逗号表达式选 取的是最后一项的值,所以传入的x值是5 而c++在这里++还未起作用由于后缀的++是先用原值再加1,所以在return (x+y);里y的值仍是...

相似回答
大家正在搜