您的位置:首页 > 编程语言 > C语言/C++

C语言成长学习题(十)

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

#include <stdio.h>
#include <conio.h>

void main(void)
{
char c;

printf("是否继续(Y/N)?\n");
do
{
c = getch();
if (c == 'Y' || c == 'y' || c == 'N' || c =='n')
break;
printf("输入错误,请重新输入一个字符.\n");
}while (1);
printf("输入正确.\n");
}


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

#include <stdio.h>

void main(void)
{
int i, j, k;

for (i = 1; i < 100; i++)
for ( j = 1; j < 100; j++)
for ( k = 1; k < 100; k++)
if ( i * i + j * j + k * k > 100)
goto stop;

stop:
printf("i = %d, j = %d, k = %d\n", i, j, k);
}


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

#include <stdio.h>

#define N 40

void main(void)
{
int i, n = 0, count = 0;
float score, total = 0, a
, ave;

printf("Input data: ");
scanf("%f", &score);
while ( score >= 0)
{
a[n++] = score;
total += score;
scanf("%f", &score);
}
ave = total / n;
for (i = 0; i < n; i++)
if (a[i] >= ave)
count++;
printf("ave = %f, count = %d\n", ave, count);
}


结果:

Input data: 55 66 77 88 99 100 -1

ave = 80.833333, count = 3

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

#include <stdio.h>

void main(void)
{
int i, j, t;
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (i = 0; i < 10; i++)
printf("%4d", a[i]);
printf("\n");
for (i = 9; i >= 0; i++)
printf("%4d", a[i]);
printf("\n");
}


结果:

1 2 3 4 5 6 7 8 9 10

10 9 8 7 6 5 4 3 2 1

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

#include <stdio.h>

void main(void)
{
int i, t, a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (i = 0; i < 10; i++)
printf("%4d", a[i]);
printf("\n");

for (i = 0; i < 5; i ++)
{
t = a[i];
a[i] = a[9 - i];
a[9 - i] = t;
}
for (i = 0; i < 10; i++)
printf("%4d", a[i]);
printf("\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: