C语言题库2015(4)

2019-04-09 09:58

请输入第0行: helloworld

请输入第1行: 12345gogogo 请输入第2行: end bye bye. helloworld 12345gogogo end bye bye.

大写字母数:0 小写字母数:25 数字个数:5 空格个数:2 其它字符:1 参考答案

#include

int main() {

int i, j, uppn, lown, dign, span, othn; char text[3][80];

uppn = lown = dign = span = othn = 0;

for (i = 0; i < 3; i++) {

printf(\请输入第%d行:\\n\ gets(text[i]);

for (j = 0; j < 80 && text[i][j] != '\\0'; j++) {

if (text[i][j] >= 'A' && text[i][j] <= 'Z') {

uppn += 1; }

else if (text[i][j] >= 'a' && text[i][j] <= 'z') {

lown += 1; }

else if (text[i][j] >= '0' && text[i][j] <= '9') {

dign += 1; }

else if (text[i][j] == ' ') {

span += 1; } else {

othn += 1; } } }

for (i = 0; i < 3; i++) {

printf(\ }

printf(\大写字母数:%d\\n\ printf(\小写字母数:%d\\n\ printf(\数字个数:%d\\n\ printf(\空格个数:%d\\n\ printf(\其它字符:%d\\n\

return 0; }

Q559.(10分)一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

**输出格式要求:\程序运行示例如下:

the total of road is 299.609375 the tenth is 0.097656 meter 参考答案

#include int main() {

float sn = 100.0, hn = sn / 2; int n;

for (n = 2; n <= 10; n++) {

sn = sn + 2 * hn; hn = hn / 2; }

printf(\ printf(\ return 0; }

Q498.(20分)对输入的字符串进行长度验证,保证输入的字符串的长度在指定的范围内,如果不在指定的范围内,则一直提示用户输入,直到输入合法长度的字符串为止。 程序的示例运行如下:

请输入一个字符串(长度为[3..5]个字符):a 请输入一个字符串(长度为[3..5]个字符):ab 请输入一个字符串(长度为[3..5]个字符):abcdef 请输入一个字符串(长度为[3..5]个字符):abc 你输入的字符串为:abc 参考答案

#include

void getString(char *str, int min, int max) {

int len;

printf(\请输入一个字符串(长度为[%d..%d]个字符):\\n\ scanf(\ len = strlen(str);

while (len < min || len > max) {

printf(\请输入一个字符串(长度为[%d..%d]个字符):\\n\ scanf(\ len = strlen(str); } }

int main(int argc, char *argv[]) {

char string[100];

getString(string, 3, 5);

printf(\你输入的字符串为:%s\\n\

return 0; }

Q376.(10分)采用递归方法计算x的n次方。 **输入格式要求:\提示信息:\**输出格式要求:\程序运行示例如下: x=? n=?2 8 2**8=256

参考答案

#include main() {

int x,n;

printf(\

scanf(\

printf(\}

power(int x,int n) {

if(n==0) return 1;

else return x*power(x,n-1); }

Q567.(10分)请编写函数fuc(),函数的功能是:根据以下公式求出p的值,结果由函数值返回。m , n 是两个正整数,且 m>n. P= m!/(n!*(n-m))!

**输入格式要求:\提示信息:\请输入m,n的值( m>n ):\\n\**输出格式要求:\项之和为:%lf\\n\程序运行示例如下: 请输入m,n的值( m>n ): 5 3

n项之和为:10.000000 参考答案

#include double fac(int m, int n) {

int i;

long p = 1, q = 1, r = 1; double d = 0.0;

for (i = 1; i <= m; i++) {

p = p * i; }

for (i = 1; i <= n; i++) {

q = q * i; }

for (i = 1; i <= m - n; i++) {

r = r * i; }

d = (double)p / (r * q); return d;

}

main() {

int n, m; double d; do {

printf(\请输入m,n的值( m>n ):\\n\ scanf(\ }

while (m < n); d = fac(m, n);

printf(\项之和为:%lf\\n\}

Q1159.(10分)

下面程序的功能是将数组元素倒置,找出其中的4处错误并改正之。 #include \#define M 5; main()

{ int a[M]={1,2,3,4,5}; int i,j,*t; i=0;j=M-1; while(i) {

t=*(a+i); *(a+i)=*(a+j); *(a+j)=t; i++;j++ }

for(i=0;i

参考答案

#include \#define M 5 main()

{ int a[M]={1,2,3,4,5}; int i,j,t; i=0;j=M-1; while(i<=j) {

t=*(a+i);


C语言题库2015(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:部编版九年级语文上册期中检测卷(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: