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个回答  2010-03-28
int main()
{
int time1,time2;
int h1,m1,h2,m2,h3,m3,lm;
printf("Enter time1:");
scanf("%d",&time1);
printf("Enter time2:");
scanf("%d",&time2);
h1=time1/100;
m1=time1%100;
h2=time1/100; //应改为h2=time2/100;
m2=time1%100; //应改为m2=time2%100;
lm=h2*60+m2-h1*60-m1;
h3=lm/60;
m3=lm%60;
printf("Enter train journery time is %dhours,%dminutes",h3,m3);
return 0;
}
第2个回答  2019-09-15
#include <stdio.h>
#include <stdlib.h>
main()
{
int y=0;
scanf("%d",&y);
if(y>0){
if(y%400==0||y%100!=0&&y%4==0)
printf("Yes\n");
else
printf("No\n");
}
else
printf("Input error!\n");
system("pause");
}

如果输入了非法字符,scanf不会读取,y会保持原来的数值。

第3个回答  2019-11-09
错误1:宏定义最后没有分号,将#define D 500;改为#define D 500
错误2:l不是整数,因此将l定义为int型就错了
错误3:既然规定输入格式为P=,那么输入时就不能直接输入数值,而应在数值之前输入P=,例如输入P=6000
另外,程序的不妥之处:
1、利润不一定是整数,因此将P定义为int型不妥
2、if-else语句不是这样用的。既然可以确定全部范围,那么这样写:
if(P<1000) number=1;
else if(P<2000) number=2;
else if(P<5000) number=3;
else if(P<10000) number=4;
对应的switch语句这样写:
switch(number)
{
case 1:l=0;break;
case 2: l=0.1;break;
case 3:l=0.15;break;
case 4:l=0.2;break;
default:l=0.25;
}
没有语法错误,只能说明在格式上没有找到错误,还不一定是正确的,更不要说能够正确执行了。没有语法错误,有三种可能:1、格式没问题,但算法错误;2、格式没问题,但不符合要求,导致计算结果错误;3、格式没问题,且算法没问题,能够计算出正确结果。只有符合第3种情况,才是正确的程序。
第4个回答  2018-12-27
while(*s++=*t++); 在语义上等同于(注意条件部分是一个=,不是2个):

while((*t) != 0)
{ *s = *t;
s++;
t++; }
do - while循环是先执行,后判断。
第5个回答  2008-06-12
在哪里?

补充:
为了你这20分,把你的题都做了,有点不值啊!
你能再加点不?

1、
The program's name is c:\toolook.txt
(注意是“toolook”)

2、int d=-5;求:3>d<-1 的值是:0

3、
char UPPER(char c)
{
if(c>=’a’&&c<=’z’)
return c-'a'+'A';
return c;
}

4、
#include <stdio.h>
long func(int n)
{
int x; long y;
y= 1;
for(x=1; x<=n;x++) y=y*x ;
return y;
}
void main( )
{
long s; int t, n;
scanf("%d",&n);
s= 0;
for (t=1;t<=n;t++) s=s+ func(t);
printf("%d\n",s);
}

5、
#include <stdio.h>
void main( )
{
char s[80];
int i, j ;
gets (s);
for (i=j=0;s[i]!='\0' ; i++)
if ( s[i]!= ‘e’) s[j++]=s[i];
s[j]='\0';
puts(s);
}
相似回答