C语言程序分支结构题目
及答案
This manuscript was revised by the office on December 22, 2012
01. 从键盘输入一个字符,如果是大写字母,就转换成小写;如果是小写字母,就转换成大写,如果是其他字符原样保持并将结果输出。 #include <> void main() { char c;
scanf(\"%c\
if(c>='A'&&c<='Z') c=c+32; }
02. 从键盘输入一个数,判断其是否是5的倍数而不是7的倍数。如果是,输出Yes,否则输出No。
#include <> void main() { int a;
scanf(\"%d\ }
if(a%5==0&&a%7!=0) printf(\"yes\"); else printf(\"no\");
else if(c>='a'&&c<='z') c=c-32; printf(\"%c\
03. 从键盘输入一个4位正整数,求其逆序数,并输出。例如:若输入1234,则输出应该是4321。
#include <> void main()
{ int n,g,s,b,q,m; scanf(\"%d\
q=n/1000; b=n/100%10; s=n/10%10; g=n%10; m=g*1000+s*100+b*10+q;
printf(\"%d\\n\ }
01. 从键盘输入一个字符,如果是字母,就输出其对应的ASCII码;如果是数字字符,就转换成对应整数并输出。 #include <> void main() { char c;
scanf(\"%c\
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
printf(\"ASCII:%d\
}
else if(c>='0'&&c<='9') printf(\"数字:%d\
02. 从键盘输入一个数,判断其是否能同时被3和5整除。如果是,输出Yes,否则输出No。
#include <> void main() { int a;
scanf(\"%d\ }
if(a%3==0&&a%5==0) printf(\"yes\"); else printf(\"no\");
03. 从键盘输入一个4位正整数,求其各位数字之积,并输出。例如:若输入2523,则输出应该是60。
#include <> void main()
{ int n,g,s,b,q,m; scanf(\"%d\
q=n/1000; b=n/100%10; s=n/10%10; g=n%10; m=g*s*b*q;
printf(\"\\n%d\\n\ }
01. 根据以下函数关系编写一个程序,对输入的每个x值,计算出y的值并输出。
x+10 (-10=10) #include <> void main() { int x,y;scanf(“%d”,&x);
if (x>-10 && x<0 ) y=x+10; else if (x<10) y=2*x; else y=x*x;
printf(“x=%d,y=%d\\n ”,x,y); }
02. 从键盘输入一个数,判断其是否是5的倍数而不是7的倍数。如果是,输出Yes,否则输出No。
#include <> void main() { int a;
scanf(\"%d\ }
if(a%5==0&&a%7!=0) printf(\"yes\"); else printf(\"no\");
03. 从键盘输入一个五位整数,判断它是不是对称数,并输出判断结果。如43234就是对称数。
#include <>
void main()
{ int n,g,s,b,q,w; scanf(\"%d\
w=n/10000; q=n/1000%10; b=n/100%10; s=n/10%10; g=n%10; if(w==g && q==s) printf(\"%d是对称数\\n\
else printf(\"%d不是对称数\\n\ }
01. 编一个C程序,从键盘上输入一个字符:
若该字符是数字字符,则把它转换为对应的整数并输出; 若该字符是大写字母,则转换成小写并输出; 若该字符是小写字母,则转换为大写并输出; 若该字符是其他字符,则不进行任何操作。
#include <> void main() { char c;
scanf(\"%c\
if(c>='0'&&c<='9') printf(\"%d\\n\ else if(c>='A'&&c<='Z') printf(\"%c\\n\ else if(c>='a'&&c<='z') printf(\"%c\\n\ }
02. 输入三个整数,按从大到小的顺序输出。 #include <> void main() { int a,b,c,t;
scanf(\"%d%d%d\ if (a{ t=a;a=b;b=t; } if (a{ t=a;a=c;c=t; } if (b{ t=b;b=c;c=t; } printf(“%d,%d ,%d \ }03. 给出一个百分制的成绩,要求输出成绩等级“A”、“B”,
“C”,“D”,“E”。90分以上的为:“A”级,80~分的为“B”,70~79分的为“C”,60~69分的为“D”,60分以下的为“E”。
#include <> void main() { int grade;
scanf(“%d”,&grade); switch(grade/10) { case 10:
case 9: printf(“A\\n”);break; case 8: printf(“B\\n”);break; case 7: printf(“C\\n”);break;
case 6: printf(“D\\n”);break; default:printf(”E\\n”);break;
} }
01. 有一分段函数:
1 ( x < -1 )
y = 2 x + 9 ( -1 ≤ x ≤ 1 )
5 x -3 ( x > 1 )
从键盘输入 x 的值,输出 y 的值。
#include <> void main() { int x,y;
scanf(“%d”,&x); if (x<-1) y=1;
else if (x<=1) y=2*x+9; else y=5*x-3;
printf(“x=%d,y=%d\\n ”,x,y); }
02. 编写一个C语言程序,要求从键盘输入三个整数,并根据对三个数的比较显示如下信息:
①如果三个数都不相等则显示0; ②如果三个数中有二个数相等则显示1; ③如果三个数都相等,则显示2
#include <> void main()
{ int a,b,c;
scanf(“%d%d%d”,&a,&b,&c);
if (a==b && b==c) printf(“2\\n ”);
else if (a==b || b==c || a==c ) printf(“1\\n ”); else printf(“0\\n ”); }
03. 从键盘输入一个数,判断它是否同时能被5和7整除,如果能输
出“YES”,否则输出“NO”。
#include <> void main() { int a;
scanf(\"%d\ }
if(a%5==0&&a%7==0) printf(\"yes\"); else printf(\"no\");
01.输入三角形三边长,判定是否能够组成三角形,并输出判定结果。 能够组成三角形的条件是:任意两边之和大于第三边(三种情况)
#include <> void main()
{ int a,b,c;
scanf(“%d%d%d”,&a,&b,&c);
if (a+b>c && b+c>a && a+c>b) printf(“YES\\n ”); else printf(“NO\\n ”); }
02. 从键盘输入一个四位正整数,输出其逆序数,并判断是否是对称数,如果是输出“YES”,否则输出“NO”。
提示:如果输入4253,先求出其每位上的数字,再重新组成其逆序数3524。
如果输入4224,求出其逆序数是4224,则其是对称数。
#include <> void main()
{ int n,g,s,b,q,m;
scanf(\"%d\
q=n/1000; b=n/100%10; s=n/10%10; g=n%10; m=g*1000+s*100+b*10+q;
if (n==m) printf(“YES\\n ”); else printf(“NO\\n ”); }
03. 从键盘输入三个数,求其中最小者并输出。 #include <> void main() { int a,b,c,min;
scanf(\"%d%d%d\ if (aelse min=b;
if (min>c) min=c; printf(“min=%d \ }