1、输入1~10之间的一个数字,输出它对应的英文单词。 #include \main() {
int x;
printf(\); scanf(\,&x); switch(x) {
case 1:printf(\);break; case 2:printf(\);break; case 3:printf(\);break; case 4:printf(\);break; case 5:printf(\);break; case 6:printf(\);break; case 7:printf(\);break; case 8:printf(\);break; case 9:printf(\);break; case 10:printf(\);break; } }
2、用自然语言描述程序逻辑如下,试写程序。 ① 设置环境;
② 定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0; ③ i=1;
④ 如果i≤100,则转⑤,否则转⑧;
⑤ 令s=0,求前i个自然数之和,并放于变量s之中; ⑥ sum=sum+s; ⑦ i增加1,转④; ⑧ 输出和sum,结束。 #include \main() {
int i,j,s; long sum=0;
for(i=1;i<=100;i++) {
s=0;
for(j=1;j<=i;j++) {
s=s+j; }
sum=sum+s; }
printf(\,sum);
}
3、用自然语言描述的程序逻辑为:(假设正确口令为123456) ① 设置环境;
② 定义变量i、flag和password,并令flag=0,i=0; ③ 用户回答口令,将其赋于password变量;
④ 口令正确?如果是,则flag=1,转⑥。否则转⑤; ⑤ 回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥; ⑥ 根据flag之值输出相应信息。 #include \main() {
long i=0,flag=0,password;
printf(\); scanf(\,&password); do {
if(password==123456) flag=1; i++;
}while(i<3); if(flag==1)
printf(\口令正确!\); else
printf(\口令不正确!\);
}
4、用自然语言描述的程序逻辑如下: ① 设置环境;
② 定义变量digit、x、y分别表示原始数、原始数的个位数和逆数; ③ 输入原始正整数x;
④ 从x中分解出个位数字digit; ⑤ 合并个位digit至逆数y中; ⑥ 原始数x缩小10倍:x=x/10; ⑦ 如果x非零,则转④;
⑧ 输出逆数y,结束 #include \ main() {
int digit,x,y=0;
printf(\); scanf(\,&x); do {
digit=x; y=y*10+digit; x=x/10; } while(x);
printf(\,y); }
5、输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构成)。 #include \main() {
float a,b,c;
printf(\); scanf(\,&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&a+c>b) {
if(a==b&&a==c&&b==c) {
printf(\等边三角形!\); } else {
if(a==b||a==c||b==c)
{
printf(\等腰三角形!\); } else {
printf(\任意三角形!\); } } } else {
printf(\不能构成三角形!\); }
}
6、输入10个数,分别统计其中正数、负数、零的个数。 #include \#define N 10 main() {
int i,zsum=0,fsum=0,lsum=0; float x;
for(i=1;i<=N;i++) {
printf(\请输入第%d个数:\,i); scanf(\,&x); if(x>0) zsum++; else if(x==0) lsum++; else fsum++; }
printf(\有%d个正数,%d个负数,%d个零\,zsum,fsum,lsum);
}
7、先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。(设N为100) #include \#include \#include \#define N 100 main() {
int i,x; randomize();
for(i=1;i<=N;i++) {
x=random(900)+100; printf(\,x);
if(x%3==0&&x%5==0&&x%7==0) printf(\,x); }
}
8、已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。 y=0,x=a||x=-a; y=sqrt(a*a-x*x), -a float x,y,a; printf(\从键盘输入a,x:\\n\); scanf(\,&a,&x); if(x==a||x==-a) { y=0; } else if(x>-a&&x y=sqrt(a*a-x*x); } else { y=x; } printf(\,y); } 9、计算:1/2-2/3+3/4-4/5??,前100项。 #include \main() { int i,t=1; float sum=0; for(i=1;i<=100;i++) { sum=sum+(t*i*1.0)/(i+1); t=-t; } printf(\,sum); }