C语言成长学习题(十)

四十一、编写实现以下功能的程序:若从键盘输入字符Y(或y)或N(或n),则终止循环,否则一直等待输入。

 1 #include <stdio.h>
 2 #include <conio.h>
 3
 4 void main(void)
 5 {
 6     char c;
 7
 8     printf("是否继续(Y/N)?\n");
 9     do
10     {
11         c = getch();
12         if (c == ‘Y‘ || c == ‘y‘ || c == ‘N‘ || c ==‘n‘)
13             break;
14         printf("输入错误,请重新输入一个字符.\n");
15     }while (1);
16     printf("输入正确.\n");
17 }

四十二、在100以内的三个数i、j、k中,找出满足i2 + j2 + k2 > 100的数(只要求找出一个)。

 1 #include <stdio.h>
 2
 3 void main(void)
 4 {
 5     int i, j, k;
 6
 7     for (i = 1; i < 100; i++)
 8         for ( j = 1; j < 100; j++)
 9             for ( k = 1; k < 100; k++)
10                 if ( i * i + j * j + k * k > 100)
11                     goto stop;
12
13 stop:
14     printf("i = %d, j = %d, k = %d\n", i, j, k);
15 }

四十三、输入若干学生的成绩(用负数结束输入),计算其平均成绩,并统计不低于平均分的学生人数。

 1 #include <stdio.h>
 2
 3 #define N 40
 4
 5 void main(void)
 6 {
 7     int i, n = 0, count = 0;
 8     float score, total = 0, a[N], ave;
 9
10     printf("Input data: ");
11     scanf("%f", &score);
12     while ( score >= 0)
13     {
14         a[n++] = score;
15         total += score;
16         scanf("%f", &score);
17     }
18     ave = total / n;
19     for (i = 0; i < n; i++)
20         if (a[i] >= ave)
21             count++;
22     printf("ave = %f, count = %d\n", ave, count);
23 }

结果:

Input data: 55 66 77 88 99 100 -1

ave = 80.833333, count = 3

四十四、定义含有10个元素的数组,并按顺序和逆序输出数组中各元素的值。

 1 #include <stdio.h>
 2
 3 void main(void)
 4 {
 5     int i, j, t;
 6     int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 7
 8     for (i = 0; i < 10; i++)
 9         printf("%4d", a[i]);
10     printf("\n");
11     for (i = 9; i >= 0; i++)
12         printf("%4d", a[i]);
13     printf("\n");
14 }

结果:

1   2   3   4   5   6   7   8   9   10

10  9   8   7   6   5   4   3   2   1

四十五、定义含有10个元素的数组,并将数组中的元素按逆序重新存放后输出。

 1 #include <stdio.h>
 2
 3 void main(void)
 4 {
 5     int i, t, a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 6
 7     for (i = 0; i < 10; i++)
 8         printf("%4d", a[i]);
 9     printf("\n");
10
11     for (i = 0; i < 5; i ++)
12     {
13         t = a[i];
14         a[i] = a[9 - i];
15         a[9 - i] = t;
16     }
17     for (i = 0; i < 10; i++)
18         printf("%4d", a[i]);
19     printf("\n");
20 }
时间: 2024-10-24 00:19:00

C语言成长学习题(十)的相关文章

C语言成长学习题(十四)

六十一.定义4*6的实型数组,并将各行前5列元素的平均值分别放在同一行的第6列上. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 float a[4][6], sum; 6 int i, j; 7 8 for (i = 0; i < 4; i++) 9 for (j = 0; j < 5; j++) 10 a[i][j] = i * j + 1; 11 for (i = 0; i < 4; i++) 12 { 13 sum =

C语言成长学习题(十五)

66.编写字符串复制的程序(用指针变量处理). 1 #include <stdio.h> 2 3 void main(void) 4 { 5 char a[50], b[80], *p, *q; 6 7 p = a; 8 q = b; 9 printf("Input data: "); 10 gets(a); 11 while (*p != '\0') 12 *q++ = *p++; 13 *q = '\0'; 14 puts(b); 15 } Mark: 复制操作结束后,

C语言成长学习题(十六)

72.假设一维数组中存放互不相同的十个整数,要求根据输入的下标值,即可直接删除. 1 #include <stdio.h> 2 3 int mydel (int *a, int n, int k) 4 { 5 int i; 6 7 for (i = k; i < n - 1; i++) 8 *(a+i) = *(a+i+1); 9 n--; 10 11 return n; 12 } 13 14 void myout (int *a, int n) 15 { 16 while (n >

C语言成长学习题(十三)

五十六.编写求字符串长度的程序. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 char a[80]; 6 int i = 0, count = 0; 7 8 gets(a); 9 while (a[i] != '\0') 10 { 11 count++; 12 i++; 13 } 14 printf("%s = %d\n", a, count); 15 } 五十七.编写字符串复制的程序. 1 #include <std

C语言成长学习题(三)

十.编写一个含有逻辑表达式的程序. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 int x; 6 7 x = 1; 8 printf("%d ", x>=0 && x<=2); 9 10 x = 5; 11 printf("%d ", x>=0 && x<=2); 12 printf("%d ", x<-3 || x>

C语言成长学习题(七)

二十六.输出1!.2!.3!.4!.....n!的值. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 int i, n; 6 float fac; 7 8 printf("Input n: "); 9 scanf("%d", &n); 10 for (i = 1; i<=n; i++) 11 { 12 fac = fac * i; 13 printf("%d! = %.0f\n&qu

C语言成长学习题(五)

十七.求一元二次方程ax2+bx+c=0的实根(要求a.b.c的值从键盘输入,a!=0). 1 #include <stdio.h> 2 #include <math.h> 3 4 void main(void) 5 { 6 int a, b, c; 7 float delta, x1, x2; 8 9 printf("Input a, b, c:\n"); 10 scanf("%d%d%d", &a, &b, &c)

C语言成长学习题(四)

十三.编写输出如下分段函数值的程序,要求x的值从键盘输入. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 float x, y; 6 7 printf("Input x:\n"); 8 scanf("%f", &x); 9 if(x <= 0) 10 y = x + 1; 11 else if(x <= 1) 12 y = 1; 13 else 14 y = x; 15 printf(&

NPL ( neuro-linguistic programmers 神经语言程序员) / ( Neuro-Linguistic Programming 神经语言程序学/身心语言程式学/ 神经语言程式学/ 神经语言程式)

Neuro-Linguistic Programmers 神经语言程序员 Neuro-Linguistic Programming  神经语言程序学/身心语言程式学/ 神经语言程式学/ 神经语言程式 NLP是神经语言程序学 (Neuro-Linguistic Programming) 的英文缩写.在香港,也有意译为身心语法程式学的.N (Neuro) 指的是神经系统,包括大脑和思维过程.L (Linguistic) 是指语言,更准确点说,是指从感觉信号的输入到构成意思的过程.P (Program