C语言的题目

C语言的题目有如下程序段:
int x1, x2;
char y1, y2;
scanf("%d%c%d%c", &x1, &y1, &x2, &y2);
若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是( )。(注:└┘代表空格)
A.10A└┘20B B.10└┘A20B
C.10 └┘A└┘20└┘ B D.10A20└┘B

若变量已正确说明为float类型, 要通过语句scanf("%f %f%f", &a, &b, &c);给a赋予10.0, b赋予22.0, c赋予33.0, 不正确的输入形式为()。
A.10<回车> B.10.0,22.0,33.0<回车>
22<回车>
33
C.10.0<回车> D.10 22<回车>
22.0 33.0<回车> 33<回车>

有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是( )。(注:└┘代表空格)
int x1, x2;
char y1, y2;
scanf("%d%d", &x1,&x2);
scanf("%c%c", &y1,&y2);
A.1020AB B.10└┘20└┘ABC
C.10└┘20<回车> D.10└┘20AB
AB

有如下程序段,对应正确的数据输入是( )。
float x,y;
scanf("%f%f", &x,&y);
printf("a=%f,b=%f", x,y);
A.2.04<回车> B.2.04,5.67<回车>
5.67<回车>
C.A=2.04,B=5.67<回车> D.2.055.67<回车>

第1个回答  2017-10-29
#include <stdio.h>

int main(void) 
{
int y;
if(scanf("%d",&y)==1)
{
if(y<1)
{
printf("Input error!\n");
}
else
{
if(y%400==0||y%100!=0&&y%4==0)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
}
else
{
printf("Input error!\n");
}

return 0;
}

第2个回答  2015-05-18
我是学Pascal的,我的Pascal希望对你有点用。
var
zi,mu:int64;
function gcd(a,b:int64):int64;
begin
if b=0 then
gcd:=a
else
gcd:=gcd(b,a mod b);
end; //最大公约数
begin
read(zi,mu);
zi:=zi div gcd(zi,mu);
mu:=mu div gcd(zi,mu);
write(zi,'/',mu);
end.
第3个回答  2010-11-05
应该是:1到20的阶乘相加吧?运行结果:268040729。程序如下:
#include "stdio.h"
int f(int n);
void main()
{
int i,sum=0;
for(i=1;i<=20;i++)
{
sum=sum+f(i);
}
printf("1到20阶乘相加的和为:sum=%4d\n",sum);
}
int f(int n)
{
int i,f=1;
for(i=1;i<=n;i++)
{
f=f*i;
}
return f;
}
第4个回答  2016-11-04
1.D
C语言中if语句的表达式可以是任意类型,只要表达式的值非0就算作真,是0就作为假。
本题正确答案为D.

2.C
因为条件表达式(k)?(i++):(i--)的含义是k为真时,取表达式i++的值,否则取表达式i--的值,"为真"的意思就是不等于0.
本题正确答案为C.

3.B
ch=’A’,所以ch = !(ch>=’A’&&ch<=’Z’)为假,运行ch+32

4.③①
对于||运算符,一旦其左边的表达式为真,就停止执行,直接整个判断式返回真
所以,由于++a||++b&&++c;中,++a等于2,已经为真了,所以后面的++b,++c也不继续处理了。

以下程序运行结果是:
sum=15

其实就是求sum=1+2+3+4+5的值
第5个回答  2011-11-12
#include "stdio.h"
void main()
{
int k,p,x,y,i=0,j=0;
int a[100]={0},b[100]={0};
while(true){
scanf("%d",&x);
if(x==-1)
break;
a[i++]=x;
}
while(true){
scanf("%d",&y);
if(y==-1)
break;
b[j++]=y;
}
for(k=0;k<i;k++){
for(p=0;p<j;p++){
if(a[k]==b[p])
break;
}
if(p==j)
printf("%d ",a[k]);
}
}
相似回答