单片机C语言作业及上机习题及答案 下载本文

.

left_char = 198; right_char = 181; mid_char = 216; break; case 2: /* Bottom line */ left_char = 212; right_char = 190; mid_char = 207; break; default: /* Invalid argument passed to us. */ left_char = ‘-’; right_char = ‘-’; mid_char = ‘+’; } for (a=0; a<71; a++) { (a==0)? left_char:(a==70)?right_char:(a % 14== 0) ? mid_char : 205; ext_char= printf(\ } printf(\ return; } main() {int i; /* Print the top border line */ pretty_line(0); /* Print the heading */ printf(\ printf(\ /* Print the middle border line */ pretty_line(1); /* Print the ASCII table */ for (i=1; i<=51; i++) { if (i < 32) printf(\ else printf(\printf(\= %3x < | = %3x < \i+51, i+51, i+51, i+102, i+102, i+102); printf(\= %3x < | = %3x < |\\n\, i+153, i+153, i+153, i+204, i+204, ;. i+204); } /* Print the bottom border line */ .

最终结果

;.

.

第8次课 1.编程题

(1)将输入数组a[n]中的n个元素,再输入另一个数x,查看a中是否有值为x的元素,若有,则输出其下标,若没有,则输出-1。 #include \#define N 10 int main(void) {

int a[N],x,i,k;

printf(\for(i=0;i

scanf(\printf(\scanf(\k=-1;

for(i=0;i

printf(\ }

if(k==-1)printf(\getch(); }

(2) 输入10个互不相同的数,将10个整数按升序排列输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1 ,则输出:1 3 5 7 8 2 4 6 8 10。(编程提示:可利用2个数组变量,一个用来存放输入的整数,输入后,对这个数组进行排序,然后将数据复制到另一个数组中,先复制奇数再复制偶数)。 #include \#define N 10 main( )

;.

.

{

int f[10],a[10]; int i,j,k;

printf(\for(i=0;i

scanf(\for(i=0;i<=8;i++) {

for(j=i+1;j<10;j++) if(f[i]>f[j])

{ k=f[i]; f[i]=f[j]; f[j]=k;} }

for(i=0;i<=9;i++)

printf(\for(i=0,j=0;i<=9;i++)

if(f[i]%2==1)a[j++]=f[i]; for(i=0;i<=9;i++)

if(f[i]%2==0)a[j++]=f[i]; for(i=0;i<=9;i++)

printf(\getch(); }

(3)求数组int a[n]中奇数的个数和平均值,以及偶数个数和平均值。 #include \#define N 10 int main(void) {

int a[N],i,num_o=0,num_e=0,sum_o=0,sum_e=0;; printf(\for(i=0;i

scanf(\for(i=0;i

num_e++; sum_e+=a[i]; } else {

num_o++; sum_o+=a[i];

;.