c语言程序设计 很急!!!

调试下列程序
[1.1] 下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。

#include <stdio.h>
main()
{ char ch,c1,c2;
printf("Enter a character:");
ch=getchar();
if((ch>='a')||(ch<='z')) /*如果是小写字母,则转换成大写字母*/
ch-=32;
c1=ch-1;
c2=ch+1;
if(ch='A') c1=ch+25;
else if(ch='Z') c2=ch-25;
putchar(c1);
putchar(ch);
putchar(c2);
putchar('\n');
}
[1.2]程序的功能为:如果从键盘上分别输入6和4,则输出结果为6和4。
代码如下:
# include <stdio.h>
main( )
{
int x;
scanf("%d",&x);
if (x++>5) printf("%d",x);
else printf ("%d", x--);
}
[1.3]程序的功能为:输入3个整数后,输出其中最大值。
代码如下:
#include "stdio.h"
main()
{
int a,b,c,max;
printf ("请输入3个整数:\n");
scanf ("%d%d%d",&a,&b,&c);
max=a;
if (c>b)
{ if (b>a) max=c;} /* c>b>a */
else /* b>c */
{if (c>a) max=b;} /* b>c>a */
printf("3个数中最大者为:%d\n",max);
}
2.程序填空
[2.1]下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。
若该字符是数字 输出字符串"0-9"
若该字符是大写字母 输出字符串"A-Z"
若该字符是小写字母 输出字符串"a-z"
若该字符是其他字符 输出字符串"!,@,…"
代码如下:
#include <stdio.h>
main()
{ char c;
scanf(_____________________);
if('0'<=c&&c<='9')
__________________________
else if(________________________)
printf("A-Z\n");
_____________ ('a'<=c&&c<='z')
printf("a-z\n");
_____________________________
printf("!,@,…\n");
}
[2.2] 下列程序的功能为:判断用户所输入的年份是否是闰年.
代码如下:
#include<stdio.h>
main()
{ int y,f;
scanf("%d",&y );
if ( y%400==0 ) f=1;
else if (_____________________) f=1;
else________________;
if ( f ) printf("%d is",y );
else printf("%d is not",y );
printf( " a leap year\n" );
}
3.编程题
[3.1]有一函数:

编写程序,输入x的值,输出y的值。
[3.2]编写程序,输入一个三角形的3条边,若能构成一个直角三角形,则输出该三角形面积,反之输出相应提示信息。

1.1完成
#include <stdio.h>
void main()
{ char ch,c1,c2;
printf("Enter a character:");
ch=getchar();
if((ch>='a')&&(ch<='z')) /*如果是小写字母,则转换成大写字母*/
ch-=32;
c1=ch-1;
c2=ch+1;
if(ch=='A') c1=ch+25;
else if(ch=='Z') c2=ch-25;
putchar(c1);
putchar(ch);
putchar(c2);
putchar('\n');
}
1.2
# include <stdio.h>
void main( )
{
int x,y;
scanf("%d",&x);
scanf("%d",&y);
if ((x==6)&&(y==4))
{
printf("%d",x);
printf ("%d",y);
}
}
1.3
#include "stdio.h"
main()
{
int a,b,c,max;
printf ("请输入3个整数:\n");
scanf ("%d%d%d",&a,&b,&c);
max=a;
if (c>b)
max=c;
else
max=b;
if (max<a) max=a; /* c>b>a */
printf("3个数中最大者为:%d\n",max);
}
2.1
#include <stdio.h>
main()
{
char c;
scanf("%s",&c);
if('0'<=c&&c<='9')
printf("0-9");
else if('A'<=c&&c<='Z')
printf("A-Z\n");
else if ('a'<=c&&c<='z')
printf("a-z\n");
else
printf("!,@,…\n");
}
2.2
#include<stdio.h>
main()
{ int y,f;
scanf("%d",&y );
if ( y%400==0 ) f=1;
else if ( (y/4 == 0) && (y/100 != 0) ) f=1;
else f=0;
if ( f ) printf("%d is",y );
else printf("%d is not",y );
printf( " a leap year\n" );
}
其他和楼上相同!加分吧,亲手调试的兄弟。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-02
第一个问题 if((ch>='a')||(ch<='z'))
这个式子永远为真应该把||该成&&
第二个问题 如果用户输入8那么你的程序就打印9了要该成
if (x==6||x==4) printf("%d",x);
第三个问题
if (c>b)
{ if (b>a) max=c;} /* c>b>a */
else /* b>c */
{if (c>a) max=b;} /* b>c>a */
你的判断不完全 如果输入a=11 b=10 c=12 那么就无法判断了
最好该成max=((a>b)?b:a)>c?((a>b)?b:a):c

填空
1 (scanf("%c",&c);) (printf("0-9\n");)
(if('A'<=c&&c<='Z')) (else if) (else)
2 (y%4==0) (f=0)

编程第一个题不知道你什么意思

2
void sanjiaoxing(){
int d1,d2,d3;
scanf("%d%d%d",&d1,&d2,&d3);
if(d1>=0&&d2>=0&&d3>=0){
if(d1*d1+d2*d2==d3*d3){
printf("%d",d1*d2*0.5);
}else if(d1*d1+d3*d3==d2*d2){
printf("%d",d1*d3*0.5);
}else if(d2*d2+d3*d3==d1*d1){
printf("%d",d3*d2*0.5);
}else{
printf("你输入的不是一个直角三角形");
}
}else{
printf("你输入的不是一个三角形");
}
}本回答被提问者采纳
第2个回答  2010-04-02
1. if((ch>='a')||(ch<='z')) /*如果是小写字母,则转换成大写字母*/
这条语句的条件应该用&&,而不是||.

2. 这个程序的功能是什么,没大看明白,是要输入两个数据,再将它们输出?

3.求最大数应该是:if(a>=b) max=a;
else max=b;
if(c>=max) max=c;
这样写简单明了。

4. scanf("%c",&c);
printf("0-9\n");
else if(c>='A'&&c<='Z')
else if(c>='a'&&c<='z')
else

5. ( y%4==0 && y%100!=0 )
f=0;

3.1 没函数

3.2 #include "stdio.h"
main()
{ float a,b,c,max,x,y;
printf("Please input 3 line");
scanf("%f%f%f",&a,&b,&c);
if(a>=b) max=a;
else max=b;
if(c>=max) max=c;
if(max==a) {x=b;y=c;}
if(max==b) {x=a;y=c;}
if(max==c) {x=a;y=b;}
if(max*max==x*x+y*y) printf("OK!\n");
else printf("NO!\n");
}
第3个回答  2010-04-02
太长...看不完 -_-
期待楼下的解答
相似回答