资源描述
东风一中高中生智能机器人班C语言上机试题
1-2 求两数之和。
# include <stdio.h>
Void main( )
{int a ,b , sum ;
a=6; b=99; sum = a + b ;
printf(“sum is %d”, sum);
}
eg2-1. 用海龙公式求三角形面积(设输入的三边长能构成三角形)
#include “math.h”
main ()
{ float a,b,c,p, area;
scanf (“%f,%f,%f ” ,&a,&b,&c) ;
p= (a+b+c) /2;
area=sqrt(p*(p-a)*(p-b)*(p-c)) ;
printf ( “a=%7.2f, b=%7.2f, c=%7.2f \n” , a, b, c);
printf (“area=%7.2f\n”,area);
}
eg2-2输入三个数,输出其中的最大者
# include <stdio.h>
void main()
{int a,b,c,max;
Printf (“enter a,b,&c:\n”);
scanf(“%d,%d,%d”, &a,&b,&c);
max=a;
if (max<b) max=b;
if (max<c) max=c;
printf (“ max is %d”, max); }
eg2-3输入三个数,按大小顺序输出.
Main()
{ float a,b,c,t;
Scanf (“%f,%f,%f” , &a,&b,&c);
if (a>b) {t=a;a=b;b=t;}
if (a>c) {t=a;a=b;b=t;}
if (b>c) {t=b;b=c;c=t;}
printf(“%5.2f, %5.2f,%5.2f ”, a,b,c);
}
又解# include <stdio.h>
void main()
{ int max(int x, int y) ;
int a,b,c;
printf (“input a,b: ”);
scanf (“%d,%d”, &a,&b);
c=max(a,b);
printf(“max = %d \n”,c”)
}
int max(int x, int y)
{ int z;
if (x>y) z=x;
else z=y;
return(z);
}
void main( ){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d\n",a) ;
else
printf("max=%d\n",b);
}
void main(){
int a,b;
printf ("please input A,B: ");
scanf ("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B\n");
else if (a= = b) printf("A=B\n");
else printf("A<B\n");
}
void main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
printf("max=%d",a>b ? a :b);
}
3-1 输入字符的ASCII码,若为字母或数字,须指出。
#include <stdio.h>
void main(){
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
else if(c>='0'&&c<='9')
printf("This is a digit\n");
else if(c>='A'&&c<='Z')
printf("This is a capital letter\n");
else if(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
}
if(c<32)
printf("This is a control character\n");
else if(c>='0'&&c<='9')
printf("This is a digit\n");
else if(c>='A'&&c<='Z')
printf("This is a capital letter\n");
else if(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
}
3-2输入两个实数,再根据输入的运算符+ - * / 求出运算结果来。
void main ( ) {
float a,b,s;
char c;
printf("input expression: a+(-,*,/)b \n");
scanf("%f%c%f",&a,&c,&b);
switch(c){
case '+': printf("%f\n",a+b);break;
case '-': printf("%f\n",a-b);break;
case '*': printf("%f\n",a*b);break;
case '/': printf("%f\n",a/b);break;
default: printf("input error\n");
} }
3-3:要求按照考试成绩输出百分制分数段
#include “stdio.h”
Void main( )
{ float score;
Char grage;
Printf(“enter a num” );
Scanf(“%f” , &score);
While (score >100 || score <0 )
{ printf(“\n data error”);
Scanf(“%f”, &score);}
switch((int) (score/10)
Case10: grade=’A’;break;
Case9: grade=’A’;break;
Case 8: grade=’B’;break;
Case 7: grade=’C’;break;
Case6: grade=’D’;break;
Case5:
Case4:
Case3:case2:case1:case0: grade=’E’; }
Printf(“成绩%5.1f, 等级%c\n” , score,grade );
}
例4-1 符号常量的使用
• 运行结果:
China!↙
Glmre!
#define price 50
#include <stdio.h>
Void main ( )
{ int num, total;
Num= 10;
Total=num * price;
Printf(“total = %d”, total)
}
#include<stdio.h>
#include<math.h>
void main()
{float a,b,c,s,area;
scanf(“%f,%f,%f,&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n”,a,b,c,s);
printf(“area=%7.2f\n”,area);}
例1.3 求3个数中较大者。
#include <stdio.h>
void main( )
{ int max(int x,int y); /
int a, b, c;
scanf(″%d,%d″,&a,&b);
c=max(a,b);
printf(″max=%d\\n″,c);
}
int max(int x, int y)
{ int z;
if (x>y) z=x;
else z=y;
return (z); }
例6.1 求1到100的和
void main( )
{ int i, sum=0;
for (i=1; i<=100,i++)
sum=sum+i;
printf("%d\\n″,sum);
}
例6.2 求1到100的和
#include <stdio.h>
void main()
{int i,sum=0;
i=1;
while (i<=100)
{ sum=sum+i;
i++; }
printf(″%d\\n″,sum);
}
例6.4 while和do-while循环的比较
(1) #include <stdio.h> (2) #include <stdio.h>
void main ( ) void main( )
{int sum=0,i; {int sum=0,i;
scanf(“%d″,&i); scanf(”%d″,&i);
while (i<=10) do
{sum=sum+I; { sum=sum+i;
i++; i++;
} while (i<=10);
printf(“sum=%d\\n″ ,sum);
}
printf(“sum=%d\n”,sum);
}
C
H
I
N
A
\0
例6.10输入一行字符,要求输出其相应的密码
include <stdio.h>
void main()
{char c;
while((c=getchar())!=′\n′)
{if ( (c>=′a′ && c<=′z′) || (c>=′A′ && c<=′Z′) )
{ c=c+4;
if ( c>′Z′ && c<=′Z′+4 || c>′z′) c=c—26;
}
printf(″%c\n″,c);
}
}
7-1上机练习
#include <stdio.h>
void main()
{ int i,a[10];
for (i=0; i<=9;i++) a[i]=i;
for(i=9;i>=0; i--) printf("%d ″,a[i]);
printf("\n″);
}
7-2:用数组来处理,求解Fibonacci数列。
#include <stdio.h>
void main()
{ int i;
int f[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{ if(i%5==0) printf(″\n″);
printf(″%12d″,f[i])
} /*For循环结束*/
} /*程序结束*/
程序实例7.3:
#include <stdio.h>
void main()
{ int a[10];
int i,j,t;
printf(″input 10 numbers :\n″);
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if (a[i]>a[i+1])
{ t=a[i];a[i]=a[i+1];
a[i+1]=t; }
printf(″the sorted numbers :\n″);
for(i=0;i<10;i++)
printf(″%d ″,a[i]);
printf(″\n″);
}/*程序结束*/
8-1编程九九表
九九表
#include<stdio.h>
#include<math.h>
void main()
{int a,b;
Char cc,dd;
Cc=”*”; dd=”=”;
for (a=1;a<=9;a++)
{for (b=1;b<=a;b++)
printf("%d%c%d%c%d%c",a,cc,b,dd,a*b);
printf("\n");
}
}
8-2百鸡问题
#include<stdio.h>
void main()
{int a,b;
for (a=1;a<=20;a++)
for (b=1;b<=33;b++)
{ c=100-a-b;
If (5*a+3*b+c/3 = =100)
printf("%d10%d10%d10\n",a,b,c);
}
}
展开阅读全文