问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用C语言编写程序,求1+1/(1+2)+1/(1+2+3)+... +1/(1+2+...+n)?

发布网友 发布时间:2022-04-29 17:41

我来回答

1个回答

热心网友 时间:2023-10-25 02:40

一、单选题(每题2分,共60分)
1. C语言源程序扩展名是( )。
A、c B、obj C、exe D、h
2. 算法的空间复杂度是指( )。
A、算法在执行过程中所需要的计算机存储空间
B、算法所处理的数据量
C、算法程序中的语句或指令条数
D、算法在执行过程中所需要的临时工作单元数
3. 系统的标准输入文件是指( )。
A、显示器 B、硬盘 C、键盘 D、软盘
4. 判断char型变量ch是否为大写字母的正确表达式是( )。
A、’A’ <=ch<=’Z’
B、(ch>=’A’)||(ch<=’Z’)
C、(ch>=’A’)&&(ch<=’Z’)
D、(’A’=ch)
5. 对for(表达式1;;表达式3),可理解为( )。
A、for(表达式1;0;表达式3) B、for(表达式1;1;表达式3)
C、语法错误 D、仅执行循环一次
6. 有以下程序段
int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k;
执行该程序段后,k的值是( )。
A、3 B、2 C、1 D、0
7. 以下描述中正确的是( )。
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C、在do-while循环体中,是先执行一次循环,再进行判断
D、do-while循环中,根据情况可以省略while
8. C源程序中不能表示的数制是( )。
A、二进制 B、八进制 C、十进制 D、十六进制
9. 关于C语言的数据类型,下列说法不正确的是( )。
A、C语言包含基本数据类型 B、C语言包含指针类型
C、C语言包含字符串类型 D、C语言包含结构体类型
10. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。
A、必须为字母 B、必须为下划线
C、必须为字母或下划线 D、可以是字母,数字和下划线中任一字符
11. 下面有关C程序书写风格的说法中,错误的是( )。
A、每一对{}上下对齐 B、每一行的C语句尽可能长度一致
C、每一对{}内的语句左对齐 D、不同语句段采用缩进格式以示区别
12. 下列四组选项中,正确的C语言标识符是( )。
A、%x B、a+b C、a123 D、123
13. 计算机能直接执行的程序是( )。
A、源程序 B、目标程序 C、汇编程序 D、可执行程序
14. break语句不能出现在( )语句中
A、switch B、for C、while D、if…else
15. 以下关于简单程序设计的步骤和顺序的说法中正确的是( )。
A、确定算法后,整理并写出文档,最后进行编码和上机调试
B、首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C、先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D、先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
16. 执行下面的程序段后,变量k中的值为( )。
int k=3, s[2];
s[0]=k;
k=s[0]*10;
A、不定值 B、33 C、30 D、10
17. 已知对学生记录的描述为:
struct teacher
{
int sex;
char name[20];
int age;
struct{
int year,month,day;
}birthday;
};
struct teacher li;
设变量li中的“生日”是“1980年3月3日”,对“birthday”正确赋值的程序是( )。
A、year=1980;month=3;day=3;
B、li.year=1980;li.month=3;il.day=3;
C、birthday.year=1980;birthday.month=3;birthday.day=3;
D、li.birthday.year=1980;li.birthday.month=3;li.birthday.day=3;
18. 有以下程序
#include
#define PT 3.5;
#define S(x) PT*x*x;
main()
{ int a=1, b=2; printf("%4.1f\n",S(a+b));}
程序运行后输出的结果是( )。
A、14.0 B、31.5
C、7.5 D、程序有错无输出结果
19. 下列命令或语句中,正确的是( )。
A、#define MYNAME=”ABC”
B、#include stdio.h
C、for(i=0;i<10;i++);
D、struct int stu{int name};
20. 已知枚举类型定义语句为:
enum Token{ NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是( )。
A、枚举常量MINUS的值为6 B、枚举常量PRINT的值为10
C、枚举常量NUMBER的值为1 D、枚举常量NAME的值为1
21. 设有以下说明语句:
typedef struct
int n;
char ch[8];
} PER;
则下面叙述中正确的是( )。
A、PER 是结构体变量名
B、PER是结构体类型名
C、typedef struct 是结构体类型
D、struct 是结构体类型名
22. 以下函数的功能是:求x的y次方,请填空( )。
#include<stdio.h></stdio.h>
void main( )
{ int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++)
z=z*______ ;
printf("x^y=%e\n",z);
}
A、i++ B、x++ C、x D、i
23. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。
A、#define N 10
int a[N];
B、#define n 5
int a [2*n];
C、int a[5+5];
D、int n=10,a[n];
24. 若有以下语句
typedef struct S
{int g ; char h;} T;
以下叙述中正确的是 ( )。
A、可用S 定义结构体变量 B、可用T 定义结构体变量
C、S 是struct 类型的变量 D、T 是struct S 类型的变量
25. 若有定义语句:char s[10]="1234567\0\0";,则 strlen(s)的值是( )。
A、7 B、8 C、9 D、10
26. 若有定义:int a[5], *p=a;,则对a数组元素的正确引用是( )。
A、*&a[5] B、a + 2
C、*(p + 5) D、*(a +2)
27. 若有以下函数首部
int fun(double x[10], int *n)
则下面针对此函数的函数声明语句中正确的是 ( )。
A、int fun(double x, int *n);
B、int fun(double , int );
C、int fun(double *x, int n);
D、int fun(double *, int *);
28. 若有定义:int a[2][3];则对a数组的第i行第j列元素地址的正确引用是( )。
A、*(a[i]+j) B、(a+i)
C、*(a+j) D、a[i]+j
29. 若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是( )。
A、pk=k; B、pk[0]=&k[1][2];
C、pk=k[0]; D、pk[1]=k;
30. 程序段char *s="abcde"; s+=2; printf("%d",s);的运行结果是( )。
A、cde B、字符'c'
C、字符'c'的地址 D、无确定的输出结果
二、是非题(每题1分,共10分)
1. 一维数组在定义时进行初始化,也必须指名数组大小。( )
2. C语言中的字符常量可以像整数一样在程序中参与运算。( )
3. break;语句执行时退出到包含该break;语句的所有循环外。( )
4. 有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。( )
5. 在C程序中,数据只能用二进制的形式进行存放。( )
6. 指针可以加上或减去一个整数。( )
7. 在switch语句中必须使用default。( )
8. C语言的特点是简洁,编译程序小、效率高。( )
9. 字符数组中的字符串可以直接进行比较。( )
10. C程序通过编译之后会产生一个扩展名为exe的可执行程序。( )
三、问答题(每题10分,共30分)
1. 请写出实现选择结构的三种语句。写出关键字,表达式和语句用“表达式”和“语句i”(i=1,2,…)。
2. 请将以下程序中的数组改写成指针形式,并将用户输入的字符串按照单词进行分割后再输出。提示:单词是指用空格、\t或\n分割的部分,同时用二维数组来储存单词。#include<stdio.h>
char text[100],ch;
int i,j;
for(i=0;i<100;i++)
text[i]='\0';
for(i=0;(ch=getchar())!='#';i++)
text[i]=ch;
for(i=0,j=0;text[i]!='\0';i++)
if(text[i]==' '||text[i]=='\t'||text[i]=='\n')
printf(" ");
else
printf("%c",text[i]);
3. 阅读以下程序,并写出900和1250的罗马表示及运算步骤。
int n,i,j,k;
char *roman[4][10]={"","I","II","III","IV","V","VI","VII","VIII","IX",
"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
"","M","MM","MMM"};
scanf("%d", &n);
printf("%d = ", n);
for(j = 0, i = 10000; j < 4; j++, i/=10)
k = (n%i) / (i/10);
printf("%s", roman[3-j][k]);
printf("\n");
三、问答题(每题10分,共30分)
答案:
单分支if选择结构,一般格式为:
if ( 表达式 )
{ 语句;}(2分)
双分支if-else选择结构,一般格式为:
{ 语句1;}
{ 语句2;}(3分)
多分支 switch选择结构,一般格式为:
switch( 表达式 )
case 常量表达式1: [语句序列1;] [break;]
case 常量表达式2: [语句序列2;] [break;]
……
case 常量表达式n: [语句序列n;] [break;]
default: 语句序列n+1;
}(5分)
#include<stdio.h>
char text[100],words[100][20], *t=text,(*w)[20]=words; (2分)
int i,j=0,n=0;
for(i=0;(*(t+i)=getchar())!='#';i++);(2分)
for(i=0;*(t+i)!='#';i++)
if(*(t+i)!=' '&&*(t+i)!='\t'&&*(t+i)!='\n')
*(*(w+n)+j++)=*(t+i); (2分)
n++;
j=0; (2分)
for(i=0;i<=n;i++)
printf("%s ",*(w+i)); (2分)
k=(900%10000)/(10000/10)=0 j=0 roman[3][0]---(空) (1分)
k=(900%1000)/(1000/10)=9 j=1 roman[2][9]---CM (1分)
k=(900%100)/(100/10)=0 j=2 roman[1][0]---(空) (1分)
k=(900%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故900的罗马数字表示为CM (1分)
k=(1250%10000)/(10000/10)=1 j=0 roman[3][1]---M (1分)
k=(1250%1000)/(1000/10)=2 j=1 roman[2][2]---CC (1分)
k=(1250%100)/(100/10)=5 j=2 roman[1][5]---L (1分)
k=(1250%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故1250的罗马数字表示为MCCL (1分)

热心网友 时间:2023-10-25 02:40

一、单选题(每题2分,共60分)
1. C语言源程序扩展名是( )。
A、c B、obj C、exe D、h
2. 算法的空间复杂度是指( )。
A、算法在执行过程中所需要的计算机存储空间
B、算法所处理的数据量
C、算法程序中的语句或指令条数
D、算法在执行过程中所需要的临时工作单元数
3. 系统的标准输入文件是指( )。
A、显示器 B、硬盘 C、键盘 D、软盘
4. 判断char型变量ch是否为大写字母的正确表达式是( )。
A、’A’ <=ch<=’Z’
B、(ch>=’A’)||(ch<=’Z’)
C、(ch>=’A’)&&(ch<=’Z’)
D、(’A’=ch)
5. 对for(表达式1;;表达式3),可理解为( )。
A、for(表达式1;0;表达式3) B、for(表达式1;1;表达式3)
C、语法错误 D、仅执行循环一次
6. 有以下程序段
int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k;
执行该程序段后,k的值是( )。
A、3 B、2 C、1 D、0
7. 以下描述中正确的是( )。
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C、在do-while循环体中,是先执行一次循环,再进行判断
D、do-while循环中,根据情况可以省略while
8. C源程序中不能表示的数制是( )。
A、二进制 B、八进制 C、十进制 D、十六进制
9. 关于C语言的数据类型,下列说法不正确的是( )。
A、C语言包含基本数据类型 B、C语言包含指针类型
C、C语言包含字符串类型 D、C语言包含结构体类型
10. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。
A、必须为字母 B、必须为下划线
C、必须为字母或下划线 D、可以是字母,数字和下划线中任一字符
11. 下面有关C程序书写风格的说法中,错误的是( )。
A、每一对{}上下对齐 B、每一行的C语句尽可能长度一致
C、每一对{}内的语句左对齐 D、不同语句段采用缩进格式以示区别
12. 下列四组选项中,正确的C语言标识符是( )。
A、%x B、a+b C、a123 D、123
13. 计算机能直接执行的程序是( )。
A、源程序 B、目标程序 C、汇编程序 D、可执行程序
14. break语句不能出现在( )语句中
A、switch B、for C、while D、if…else
15. 以下关于简单程序设计的步骤和顺序的说法中正确的是( )。
A、确定算法后,整理并写出文档,最后进行编码和上机调试
B、首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C、先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D、先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
16. 执行下面的程序段后,变量k中的值为( )。
int k=3, s[2];
s[0]=k;
k=s[0]*10;
A、不定值 B、33 C、30 D、10
17. 已知对学生记录的描述为:
struct teacher
{
int sex;
char name[20];
int age;
struct{
int year,month,day;
}birthday;
};
struct teacher li;
设变量li中的“生日”是“1980年3月3日”,对“birthday”正确赋值的程序是( )。
A、year=1980;month=3;day=3;
B、li.year=1980;li.month=3;il.day=3;
C、birthday.year=1980;birthday.month=3;birthday.day=3;
D、li.birthday.year=1980;li.birthday.month=3;li.birthday.day=3;
18. 有以下程序
#include
#define PT 3.5;
#define S(x) PT*x*x;
main()
{ int a=1, b=2; printf("%4.1f\n",S(a+b));}
程序运行后输出的结果是( )。
A、14.0 B、31.5
C、7.5 D、程序有错无输出结果
19. 下列命令或语句中,正确的是( )。
A、#define MYNAME=”ABC”
B、#include stdio.h
C、for(i=0;i<10;i++);
D、struct int stu{int name};
20. 已知枚举类型定义语句为:
enum Token{ NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是( )。
A、枚举常量MINUS的值为6 B、枚举常量PRINT的值为10
C、枚举常量NUMBER的值为1 D、枚举常量NAME的值为1
21. 设有以下说明语句:
typedef struct
int n;
char ch[8];
} PER;
则下面叙述中正确的是( )。
A、PER 是结构体变量名
B、PER是结构体类型名
C、typedef struct 是结构体类型
D、struct 是结构体类型名
22. 以下函数的功能是:求x的y次方,请填空( )。
#include<stdio.h></stdio.h>
void main( )
{ int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++)
z=z*______ ;
printf("x^y=%e\n",z);
}
A、i++ B、x++ C、x D、i
23. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。
A、#define N 10
int a[N];
B、#define n 5
int a [2*n];
C、int a[5+5];
D、int n=10,a[n];
24. 若有以下语句
typedef struct S
{int g ; char h;} T;
以下叙述中正确的是 ( )。
A、可用S 定义结构体变量 B、可用T 定义结构体变量
C、S 是struct 类型的变量 D、T 是struct S 类型的变量
25. 若有定义语句:char s[10]="1234567\0\0";,则 strlen(s)的值是( )。
A、7 B、8 C、9 D、10
26. 若有定义:int a[5], *p=a;,则对a数组元素的正确引用是( )。
A、*&a[5] B、a + 2
C、*(p + 5) D、*(a +2)
27. 若有以下函数首部
int fun(double x[10], int *n)
则下面针对此函数的函数声明语句中正确的是 ( )。
A、int fun(double x, int *n);
B、int fun(double , int );
C、int fun(double *x, int n);
D、int fun(double *, int *);
28. 若有定义:int a[2][3];则对a数组的第i行第j列元素地址的正确引用是( )。
A、*(a[i]+j) B、(a+i)
C、*(a+j) D、a[i]+j
29. 若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是( )。
A、pk=k; B、pk[0]=&k[1][2];
C、pk=k[0]; D、pk[1]=k;
30. 程序段char *s="abcde"; s+=2; printf("%d",s);的运行结果是( )。
A、cde B、字符'c'
C、字符'c'的地址 D、无确定的输出结果
二、是非题(每题1分,共10分)
1. 一维数组在定义时进行初始化,也必须指名数组大小。( )
2. C语言中的字符常量可以像整数一样在程序中参与运算。( )
3. break;语句执行时退出到包含该break;语句的所有循环外。( )
4. 有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。( )
5. 在C程序中,数据只能用二进制的形式进行存放。( )
6. 指针可以加上或减去一个整数。( )
7. 在switch语句中必须使用default。( )
8. C语言的特点是简洁,编译程序小、效率高。( )
9. 字符数组中的字符串可以直接进行比较。( )
10. C程序通过编译之后会产生一个扩展名为exe的可执行程序。( )
三、问答题(每题10分,共30分)
1. 请写出实现选择结构的三种语句。写出关键字,表达式和语句用“表达式”和“语句i”(i=1,2,…)。
2. 请将以下程序中的数组改写成指针形式,并将用户输入的字符串按照单词进行分割后再输出。提示:单词是指用空格、\t或\n分割的部分,同时用二维数组来储存单词。#include<stdio.h>
char text[100],ch;
int i,j;
for(i=0;i<100;i++)
text[i]='\0';
for(i=0;(ch=getchar())!='#';i++)
text[i]=ch;
for(i=0,j=0;text[i]!='\0';i++)
if(text[i]==' '||text[i]=='\t'||text[i]=='\n')
printf(" ");
else
printf("%c",text[i]);
3. 阅读以下程序,并写出900和1250的罗马表示及运算步骤。
int n,i,j,k;
char *roman[4][10]={"","I","II","III","IV","V","VI","VII","VIII","IX",
"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
"","M","MM","MMM"};
scanf("%d", &n);
printf("%d = ", n);
for(j = 0, i = 10000; j < 4; j++, i/=10)
k = (n%i) / (i/10);
printf("%s", roman[3-j][k]);
printf("\n");
三、问答题(每题10分,共30分)
答案:
单分支if选择结构,一般格式为:
if ( 表达式 )
{ 语句;}(2分)
双分支if-else选择结构,一般格式为:
{ 语句1;}
{ 语句2;}(3分)
多分支 switch选择结构,一般格式为:
switch( 表达式 )
case 常量表达式1: [语句序列1;] [break;]
case 常量表达式2: [语句序列2;] [break;]
……
case 常量表达式n: [语句序列n;] [break;]
default: 语句序列n+1;
}(5分)
#include<stdio.h>
char text[100],words[100][20], *t=text,(*w)[20]=words; (2分)
int i,j=0,n=0;
for(i=0;(*(t+i)=getchar())!='#';i++);(2分)
for(i=0;*(t+i)!='#';i++)
if(*(t+i)!=' '&&*(t+i)!='\t'&&*(t+i)!='\n')
*(*(w+n)+j++)=*(t+i); (2分)
n++;
j=0; (2分)
for(i=0;i<=n;i++)
printf("%s ",*(w+i)); (2分)
k=(900%10000)/(10000/10)=0 j=0 roman[3][0]---(空) (1分)
k=(900%1000)/(1000/10)=9 j=1 roman[2][9]---CM (1分)
k=(900%100)/(100/10)=0 j=2 roman[1][0]---(空) (1分)
k=(900%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故900的罗马数字表示为CM (1分)
k=(1250%10000)/(10000/10)=1 j=0 roman[3][1]---M (1分)
k=(1250%1000)/(1000/10)=2 j=1 roman[2][2]---CC (1分)
k=(1250%100)/(100/10)=5 j=2 roman[1][5]---L (1分)
k=(1250%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故1250的罗马数字表示为MCCL (1分)

热心网友 时间:2023-10-25 02:40

一、单选题(每题2分,共60分)
1. C语言源程序扩展名是( )。
A、c B、obj C、exe D、h
2. 算法的空间复杂度是指( )。
A、算法在执行过程中所需要的计算机存储空间
B、算法所处理的数据量
C、算法程序中的语句或指令条数
D、算法在执行过程中所需要的临时工作单元数
3. 系统的标准输入文件是指( )。
A、显示器 B、硬盘 C、键盘 D、软盘
4. 判断char型变量ch是否为大写字母的正确表达式是( )。
A、’A’ <=ch<=’Z’
B、(ch>=’A’)||(ch<=’Z’)
C、(ch>=’A’)&&(ch<=’Z’)
D、(’A’=ch)
5. 对for(表达式1;;表达式3),可理解为( )。
A、for(表达式1;0;表达式3) B、for(表达式1;1;表达式3)
C、语法错误 D、仅执行循环一次
6. 有以下程序段
int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k;
执行该程序段后,k的值是( )。
A、3 B、2 C、1 D、0
7. 以下描述中正确的是( )。
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C、在do-while循环体中,是先执行一次循环,再进行判断
D、do-while循环中,根据情况可以省略while
8. C源程序中不能表示的数制是( )。
A、二进制 B、八进制 C、十进制 D、十六进制
9. 关于C语言的数据类型,下列说法不正确的是( )。
A、C语言包含基本数据类型 B、C语言包含指针类型
C、C语言包含字符串类型 D、C语言包含结构体类型
10. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。
A、必须为字母 B、必须为下划线
C、必须为字母或下划线 D、可以是字母,数字和下划线中任一字符
11. 下面有关C程序书写风格的说法中,错误的是( )。
A、每一对{}上下对齐 B、每一行的C语句尽可能长度一致
C、每一对{}内的语句左对齐 D、不同语句段采用缩进格式以示区别
12. 下列四组选项中,正确的C语言标识符是( )。
A、%x B、a+b C、a123 D、123
13. 计算机能直接执行的程序是( )。
A、源程序 B、目标程序 C、汇编程序 D、可执行程序
14. break语句不能出现在( )语句中
A、switch B、for C、while D、if…else
15. 以下关于简单程序设计的步骤和顺序的说法中正确的是( )。
A、确定算法后,整理并写出文档,最后进行编码和上机调试
B、首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C、先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D、先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
16. 执行下面的程序段后,变量k中的值为( )。
int k=3, s[2];
s[0]=k;
k=s[0]*10;
A、不定值 B、33 C、30 D、10
17. 已知对学生记录的描述为:
struct teacher
{
int sex;
char name[20];
int age;
struct{
int year,month,day;
}birthday;
};
struct teacher li;
设变量li中的“生日”是“1980年3月3日”,对“birthday”正确赋值的程序是( )。
A、year=1980;month=3;day=3;
B、li.year=1980;li.month=3;il.day=3;
C、birthday.year=1980;birthday.month=3;birthday.day=3;
D、li.birthday.year=1980;li.birthday.month=3;li.birthday.day=3;
18. 有以下程序
#include
#define PT 3.5;
#define S(x) PT*x*x;
main()
{ int a=1, b=2; printf("%4.1f\n",S(a+b));}
程序运行后输出的结果是( )。
A、14.0 B、31.5
C、7.5 D、程序有错无输出结果
19. 下列命令或语句中,正确的是( )。
A、#define MYNAME=”ABC”
B、#include stdio.h
C、for(i=0;i<10;i++);
D、struct int stu{int name};
20. 已知枚举类型定义语句为:
enum Token{ NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是( )。
A、枚举常量MINUS的值为6 B、枚举常量PRINT的值为10
C、枚举常量NUMBER的值为1 D、枚举常量NAME的值为1
21. 设有以下说明语句:
typedef struct
int n;
char ch[8];
} PER;
则下面叙述中正确的是( )。
A、PER 是结构体变量名
B、PER是结构体类型名
C、typedef struct 是结构体类型
D、struct 是结构体类型名
22. 以下函数的功能是:求x的y次方,请填空( )。
#include<stdio.h></stdio.h>
void main( )
{ int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++)
z=z*______ ;
printf("x^y=%e\n",z);
}
A、i++ B、x++ C、x D、i
23. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。
A、#define N 10
int a[N];
B、#define n 5
int a [2*n];
C、int a[5+5];
D、int n=10,a[n];
24. 若有以下语句
typedef struct S
{int g ; char h;} T;
以下叙述中正确的是 ( )。
A、可用S 定义结构体变量 B、可用T 定义结构体变量
C、S 是struct 类型的变量 D、T 是struct S 类型的变量
25. 若有定义语句:char s[10]="1234567\0\0";,则 strlen(s)的值是( )。
A、7 B、8 C、9 D、10
26. 若有定义:int a[5], *p=a;,则对a数组元素的正确引用是( )。
A、*&a[5] B、a + 2
C、*(p + 5) D、*(a +2)
27. 若有以下函数首部
int fun(double x[10], int *n)
则下面针对此函数的函数声明语句中正确的是 ( )。
A、int fun(double x, int *n);
B、int fun(double , int );
C、int fun(double *x, int n);
D、int fun(double *, int *);
28. 若有定义:int a[2][3];则对a数组的第i行第j列元素地址的正确引用是( )。
A、*(a[i]+j) B、(a+i)
C、*(a+j) D、a[i]+j
29. 若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是( )。
A、pk=k; B、pk[0]=&k[1][2];
C、pk=k[0]; D、pk[1]=k;
30. 程序段char *s="abcde"; s+=2; printf("%d",s);的运行结果是( )。
A、cde B、字符'c'
C、字符'c'的地址 D、无确定的输出结果
二、是非题(每题1分,共10分)
1. 一维数组在定义时进行初始化,也必须指名数组大小。( )
2. C语言中的字符常量可以像整数一样在程序中参与运算。( )
3. break;语句执行时退出到包含该break;语句的所有循环外。( )
4. 有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。( )
5. 在C程序中,数据只能用二进制的形式进行存放。( )
6. 指针可以加上或减去一个整数。( )
7. 在switch语句中必须使用default。( )
8. C语言的特点是简洁,编译程序小、效率高。( )
9. 字符数组中的字符串可以直接进行比较。( )
10. C程序通过编译之后会产生一个扩展名为exe的可执行程序。( )
三、问答题(每题10分,共30分)
1. 请写出实现选择结构的三种语句。写出关键字,表达式和语句用“表达式”和“语句i”(i=1,2,…)。
2. 请将以下程序中的数组改写成指针形式,并将用户输入的字符串按照单词进行分割后再输出。提示:单词是指用空格、\t或\n分割的部分,同时用二维数组来储存单词。#include<stdio.h>
char text[100],ch;
int i,j;
for(i=0;i<100;i++)
text[i]='\0';
for(i=0;(ch=getchar())!='#';i++)
text[i]=ch;
for(i=0,j=0;text[i]!='\0';i++)
if(text[i]==' '||text[i]=='\t'||text[i]=='\n')
printf(" ");
else
printf("%c",text[i]);
3. 阅读以下程序,并写出900和1250的罗马表示及运算步骤。
int n,i,j,k;
char *roman[4][10]={"","I","II","III","IV","V","VI","VII","VIII","IX",
"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
"","M","MM","MMM"};
scanf("%d", &n);
printf("%d = ", n);
for(j = 0, i = 10000; j < 4; j++, i/=10)
k = (n%i) / (i/10);
printf("%s", roman[3-j][k]);
printf("\n");
三、问答题(每题10分,共30分)
答案:
单分支if选择结构,一般格式为:
if ( 表达式 )
{ 语句;}(2分)
双分支if-else选择结构,一般格式为:
{ 语句1;}
{ 语句2;}(3分)
多分支 switch选择结构,一般格式为:
switch( 表达式 )
case 常量表达式1: [语句序列1;] [break;]
case 常量表达式2: [语句序列2;] [break;]
……
case 常量表达式n: [语句序列n;] [break;]
default: 语句序列n+1;
}(5分)
#include<stdio.h>
char text[100],words[100][20], *t=text,(*w)[20]=words; (2分)
int i,j=0,n=0;
for(i=0;(*(t+i)=getchar())!='#';i++);(2分)
for(i=0;*(t+i)!='#';i++)
if(*(t+i)!=' '&&*(t+i)!='\t'&&*(t+i)!='\n')
*(*(w+n)+j++)=*(t+i); (2分)
n++;
j=0; (2分)
for(i=0;i<=n;i++)
printf("%s ",*(w+i)); (2分)
k=(900%10000)/(10000/10)=0 j=0 roman[3][0]---(空) (1分)
k=(900%1000)/(1000/10)=9 j=1 roman[2][9]---CM (1分)
k=(900%100)/(100/10)=0 j=2 roman[1][0]---(空) (1分)
k=(900%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故900的罗马数字表示为CM (1分)
k=(1250%10000)/(10000/10)=1 j=0 roman[3][1]---M (1分)
k=(1250%1000)/(1000/10)=2 j=1 roman[2][2]---CC (1分)
k=(1250%100)/(100/10)=5 j=2 roman[1][5]---L (1分)
k=(1250%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故1250的罗马数字表示为MCCL (1分)

热心网友 时间:2023-10-25 02:40

一、单选题(每题2分,共60分)
1. C语言源程序扩展名是( )。
A、c B、obj C、exe D、h
2. 算法的空间复杂度是指( )。
A、算法在执行过程中所需要的计算机存储空间
B、算法所处理的数据量
C、算法程序中的语句或指令条数
D、算法在执行过程中所需要的临时工作单元数
3. 系统的标准输入文件是指( )。
A、显示器 B、硬盘 C、键盘 D、软盘
4. 判断char型变量ch是否为大写字母的正确表达式是( )。
A、’A’ <=ch<=’Z’
B、(ch>=’A’)||(ch<=’Z’)
C、(ch>=’A’)&&(ch<=’Z’)
D、(’A’=ch)
5. 对for(表达式1;;表达式3),可理解为( )。
A、for(表达式1;0;表达式3) B、for(表达式1;1;表达式3)
C、语法错误 D、仅执行循环一次
6. 有以下程序段
int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k;
执行该程序段后,k的值是( )。
A、3 B、2 C、1 D、0
7. 以下描述中正确的是( )。
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C、在do-while循环体中,是先执行一次循环,再进行判断
D、do-while循环中,根据情况可以省略while
8. C源程序中不能表示的数制是( )。
A、二进制 B、八进制 C、十进制 D、十六进制
9. 关于C语言的数据类型,下列说法不正确的是( )。
A、C语言包含基本数据类型 B、C语言包含指针类型
C、C语言包含字符串类型 D、C语言包含结构体类型
10. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。
A、必须为字母 B、必须为下划线
C、必须为字母或下划线 D、可以是字母,数字和下划线中任一字符
11. 下面有关C程序书写风格的说法中,错误的是( )。
A、每一对{}上下对齐 B、每一行的C语句尽可能长度一致
C、每一对{}内的语句左对齐 D、不同语句段采用缩进格式以示区别
12. 下列四组选项中,正确的C语言标识符是( )。
A、%x B、a+b C、a123 D、123
13. 计算机能直接执行的程序是( )。
A、源程序 B、目标程序 C、汇编程序 D、可执行程序
14. break语句不能出现在( )语句中
A、switch B、for C、while D、if…else
15. 以下关于简单程序设计的步骤和顺序的说法中正确的是( )。
A、确定算法后,整理并写出文档,最后进行编码和上机调试
B、首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C、先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D、先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
16. 执行下面的程序段后,变量k中的值为( )。
int k=3, s[2];
s[0]=k;
k=s[0]*10;
A、不定值 B、33 C、30 D、10
17. 已知对学生记录的描述为:
struct teacher
{
int sex;
char name[20];
int age;
struct{
int year,month,day;
}birthday;
};
struct teacher li;
设变量li中的“生日”是“1980年3月3日”,对“birthday”正确赋值的程序是( )。
A、year=1980;month=3;day=3;
B、li.year=1980;li.month=3;il.day=3;
C、birthday.year=1980;birthday.month=3;birthday.day=3;
D、li.birthday.year=1980;li.birthday.month=3;li.birthday.day=3;
18. 有以下程序
#include
#define PT 3.5;
#define S(x) PT*x*x;
main()
{ int a=1, b=2; printf("%4.1f\n",S(a+b));}
程序运行后输出的结果是( )。
A、14.0 B、31.5
C、7.5 D、程序有错无输出结果
19. 下列命令或语句中,正确的是( )。
A、#define MYNAME=”ABC”
B、#include stdio.h
C、for(i=0;i<10;i++);
D、struct int stu{int name};
20. 已知枚举类型定义语句为:
enum Token{ NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是( )。
A、枚举常量MINUS的值为6 B、枚举常量PRINT的值为10
C、枚举常量NUMBER的值为1 D、枚举常量NAME的值为1
21. 设有以下说明语句:
typedef struct
int n;
char ch[8];
} PER;
则下面叙述中正确的是( )。
A、PER 是结构体变量名
B、PER是结构体类型名
C、typedef struct 是结构体类型
D、struct 是结构体类型名
22. 以下函数的功能是:求x的y次方,请填空( )。
#include<stdio.h></stdio.h>
void main( )
{ int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++)
z=z*______ ;
printf("x^y=%e\n",z);
}
A、i++ B、x++ C、x D、i
23. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。
A、#define N 10
int a[N];
B、#define n 5
int a [2*n];
C、int a[5+5];
D、int n=10,a[n];
24. 若有以下语句
typedef struct S
{int g ; char h;} T;
以下叙述中正确的是 ( )。
A、可用S 定义结构体变量 B、可用T 定义结构体变量
C、S 是struct 类型的变量 D、T 是struct S 类型的变量
25. 若有定义语句:char s[10]="1234567\0\0";,则 strlen(s)的值是( )。
A、7 B、8 C、9 D、10
26. 若有定义:int a[5], *p=a;,则对a数组元素的正确引用是( )。
A、*&a[5] B、a + 2
C、*(p + 5) D、*(a +2)
27. 若有以下函数首部
int fun(double x[10], int *n)
则下面针对此函数的函数声明语句中正确的是 ( )。
A、int fun(double x, int *n);
B、int fun(double , int );
C、int fun(double *x, int n);
D、int fun(double *, int *);
28. 若有定义:int a[2][3];则对a数组的第i行第j列元素地址的正确引用是( )。
A、*(a[i]+j) B、(a+i)
C、*(a+j) D、a[i]+j
29. 若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是( )。
A、pk=k; B、pk[0]=&k[1][2];
C、pk=k[0]; D、pk[1]=k;
30. 程序段char *s="abcde"; s+=2; printf("%d",s);的运行结果是( )。
A、cde B、字符'c'
C、字符'c'的地址 D、无确定的输出结果
二、是非题(每题1分,共10分)
1. 一维数组在定义时进行初始化,也必须指名数组大小。( )
2. C语言中的字符常量可以像整数一样在程序中参与运算。( )
3. break;语句执行时退出到包含该break;语句的所有循环外。( )
4. 有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。( )
5. 在C程序中,数据只能用二进制的形式进行存放。( )
6. 指针可以加上或减去一个整数。( )
7. 在switch语句中必须使用default。( )
8. C语言的特点是简洁,编译程序小、效率高。( )
9. 字符数组中的字符串可以直接进行比较。( )
10. C程序通过编译之后会产生一个扩展名为exe的可执行程序。( )
三、问答题(每题10分,共30分)
1. 请写出实现选择结构的三种语句。写出关键字,表达式和语句用“表达式”和“语句i”(i=1,2,…)。
2. 请将以下程序中的数组改写成指针形式,并将用户输入的字符串按照单词进行分割后再输出。提示:单词是指用空格、\t或\n分割的部分,同时用二维数组来储存单词。#include<stdio.h>
char text[100],ch;
int i,j;
for(i=0;i<100;i++)
text[i]='\0';
for(i=0;(ch=getchar())!='#';i++)
text[i]=ch;
for(i=0,j=0;text[i]!='\0';i++)
if(text[i]==' '||text[i]=='\t'||text[i]=='\n')
printf(" ");
else
printf("%c",text[i]);
3. 阅读以下程序,并写出900和1250的罗马表示及运算步骤。
int n,i,j,k;
char *roman[4][10]={"","I","II","III","IV","V","VI","VII","VIII","IX",
"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
"","M","MM","MMM"};
scanf("%d", &n);
printf("%d = ", n);
for(j = 0, i = 10000; j < 4; j++, i/=10)
k = (n%i) / (i/10);
printf("%s", roman[3-j][k]);
printf("\n");
三、问答题(每题10分,共30分)
答案:
单分支if选择结构,一般格式为:
if ( 表达式 )
{ 语句;}(2分)
双分支if-else选择结构,一般格式为:
{ 语句1;}
{ 语句2;}(3分)
多分支 switch选择结构,一般格式为:
switch( 表达式 )
case 常量表达式1: [语句序列1;] [break;]
case 常量表达式2: [语句序列2;] [break;]
……
case 常量表达式n: [语句序列n;] [break;]
default: 语句序列n+1;
}(5分)
#include<stdio.h>
char text[100],words[100][20], *t=text,(*w)[20]=words; (2分)
int i,j=0,n=0;
for(i=0;(*(t+i)=getchar())!='#';i++);(2分)
for(i=0;*(t+i)!='#';i++)
if(*(t+i)!=' '&&*(t+i)!='\t'&&*(t+i)!='\n')
*(*(w+n)+j++)=*(t+i); (2分)
n++;
j=0; (2分)
for(i=0;i<=n;i++)
printf("%s ",*(w+i)); (2分)
k=(900%10000)/(10000/10)=0 j=0 roman[3][0]---(空) (1分)
k=(900%1000)/(1000/10)=9 j=1 roman[2][9]---CM (1分)
k=(900%100)/(100/10)=0 j=2 roman[1][0]---(空) (1分)
k=(900%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故900的罗马数字表示为CM (1分)
k=(1250%10000)/(10000/10)=1 j=0 roman[3][1]---M (1分)
k=(1250%1000)/(1000/10)=2 j=1 roman[2][2]---CC (1分)
k=(1250%100)/(100/10)=5 j=2 roman[1][5]---L (1分)
k=(1250%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故1250的罗马数字表示为MCCL (1分)

热心网友 时间:2023-10-25 02:40

一、单选题(每题2分,共60分)
1. C语言源程序扩展名是( )。
A、c B、obj C、exe D、h
2. 算法的空间复杂度是指( )。
A、算法在执行过程中所需要的计算机存储空间
B、算法所处理的数据量
C、算法程序中的语句或指令条数
D、算法在执行过程中所需要的临时工作单元数
3. 系统的标准输入文件是指( )。
A、显示器 B、硬盘 C、键盘 D、软盘
4. 判断char型变量ch是否为大写字母的正确表达式是( )。
A、’A’ <=ch<=’Z’
B、(ch>=’A’)||(ch<=’Z’)
C、(ch>=’A’)&&(ch<=’Z’)
D、(’A’=ch)
5. 对for(表达式1;;表达式3),可理解为( )。
A、for(表达式1;0;表达式3) B、for(表达式1;1;表达式3)
C、语法错误 D、仅执行循环一次
6. 有以下程序段
int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k;
执行该程序段后,k的值是( )。
A、3 B、2 C、1 D、0
7. 以下描述中正确的是( )。
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C、在do-while循环体中,是先执行一次循环,再进行判断
D、do-while循环中,根据情况可以省略while
8. C源程序中不能表示的数制是( )。
A、二进制 B、八进制 C、十进制 D、十六进制
9. 关于C语言的数据类型,下列说法不正确的是( )。
A、C语言包含基本数据类型 B、C语言包含指针类型
C、C语言包含字符串类型 D、C语言包含结构体类型
10. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。
A、必须为字母 B、必须为下划线
C、必须为字母或下划线 D、可以是字母,数字和下划线中任一字符
11. 下面有关C程序书写风格的说法中,错误的是( )。
A、每一对{}上下对齐 B、每一行的C语句尽可能长度一致
C、每一对{}内的语句左对齐 D、不同语句段采用缩进格式以示区别
12. 下列四组选项中,正确的C语言标识符是( )。
A、%x B、a+b C、a123 D、123
13. 计算机能直接执行的程序是( )。
A、源程序 B、目标程序 C、汇编程序 D、可执行程序
14. break语句不能出现在( )语句中
A、switch B、for C、while D、if…else
15. 以下关于简单程序设计的步骤和顺序的说法中正确的是( )。
A、确定算法后,整理并写出文档,最后进行编码和上机调试
B、首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C、先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D、先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
16. 执行下面的程序段后,变量k中的值为( )。
int k=3, s[2];
s[0]=k;
k=s[0]*10;
A、不定值 B、33 C、30 D、10
17. 已知对学生记录的描述为:
struct teacher
{
int sex;
char name[20];
int age;
struct{
int year,month,day;
}birthday;
};
struct teacher li;
设变量li中的“生日”是“1980年3月3日”,对“birthday”正确赋值的程序是( )。
A、year=1980;month=3;day=3;
B、li.year=1980;li.month=3;il.day=3;
C、birthday.year=1980;birthday.month=3;birthday.day=3;
D、li.birthday.year=1980;li.birthday.month=3;li.birthday.day=3;
18. 有以下程序
#include
#define PT 3.5;
#define S(x) PT*x*x;
main()
{ int a=1, b=2; printf("%4.1f\n",S(a+b));}
程序运行后输出的结果是( )。
A、14.0 B、31.5
C、7.5 D、程序有错无输出结果
19. 下列命令或语句中,正确的是( )。
A、#define MYNAME=”ABC”
B、#include stdio.h
C、for(i=0;i<10;i++);
D、struct int stu{int name};
20. 已知枚举类型定义语句为:
enum Token{ NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是( )。
A、枚举常量MINUS的值为6 B、枚举常量PRINT的值为10
C、枚举常量NUMBER的值为1 D、枚举常量NAME的值为1
21. 设有以下说明语句:
typedef struct
int n;
char ch[8];
} PER;
则下面叙述中正确的是( )。
A、PER 是结构体变量名
B、PER是结构体类型名
C、typedef struct 是结构体类型
D、struct 是结构体类型名
22. 以下函数的功能是:求x的y次方,请填空( )。
#include<stdio.h></stdio.h>
void main( )
{ int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++)
z=z*______ ;
printf("x^y=%e\n",z);
}
A、i++ B、x++ C、x D、i
23. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。
A、#define N 10
int a[N];
B、#define n 5
int a [2*n];
C、int a[5+5];
D、int n=10,a[n];
24. 若有以下语句
typedef struct S
{int g ; char h;} T;
以下叙述中正确的是 ( )。
A、可用S 定义结构体变量 B、可用T 定义结构体变量
C、S 是struct 类型的变量 D、T 是struct S 类型的变量
25. 若有定义语句:char s[10]="1234567\0\0";,则 strlen(s)的值是( )。
A、7 B、8 C、9 D、10
26. 若有定义:int a[5], *p=a;,则对a数组元素的正确引用是( )。
A、*&a[5] B、a + 2
C、*(p + 5) D、*(a +2)
27. 若有以下函数首部
int fun(double x[10], int *n)
则下面针对此函数的函数声明语句中正确的是 ( )。
A、int fun(double x, int *n);
B、int fun(double , int );
C、int fun(double *x, int n);
D、int fun(double *, int *);
28. 若有定义:int a[2][3];则对a数组的第i行第j列元素地址的正确引用是( )。
A、*(a[i]+j) B、(a+i)
C、*(a+j) D、a[i]+j
29. 若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是( )。
A、pk=k; B、pk[0]=&k[1][2];
C、pk=k[0]; D、pk[1]=k;
30. 程序段char *s="abcde"; s+=2; printf("%d",s);的运行结果是( )。
A、cde B、字符'c'
C、字符'c'的地址 D、无确定的输出结果
二、是非题(每题1分,共10分)
1. 一维数组在定义时进行初始化,也必须指名数组大小。( )
2. C语言中的字符常量可以像整数一样在程序中参与运算。( )
3. break;语句执行时退出到包含该break;语句的所有循环外。( )
4. 有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。( )
5. 在C程序中,数据只能用二进制的形式进行存放。( )
6. 指针可以加上或减去一个整数。( )
7. 在switch语句中必须使用default。( )
8. C语言的特点是简洁,编译程序小、效率高。( )
9. 字符数组中的字符串可以直接进行比较。( )
10. C程序通过编译之后会产生一个扩展名为exe的可执行程序。( )
三、问答题(每题10分,共30分)
1. 请写出实现选择结构的三种语句。写出关键字,表达式和语句用“表达式”和“语句i”(i=1,2,…)。
2. 请将以下程序中的数组改写成指针形式,并将用户输入的字符串按照单词进行分割后再输出。提示:单词是指用空格、\t或\n分割的部分,同时用二维数组来储存单词。#include<stdio.h>
char text[100],ch;
int i,j;
for(i=0;i<100;i++)
text[i]='\0';
for(i=0;(ch=getchar())!='#';i++)
text[i]=ch;
for(i=0,j=0;text[i]!='\0';i++)
if(text[i]==' '||text[i]=='\t'||text[i]=='\n')
printf(" ");
else
printf("%c",text[i]);
3. 阅读以下程序,并写出900和1250的罗马表示及运算步骤。
int n,i,j,k;
char *roman[4][10]={"","I","II","III","IV","V","VI","VII","VIII","IX",
"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
"","M","MM","MMM"};
scanf("%d", &n);
printf("%d = ", n);
for(j = 0, i = 10000; j < 4; j++, i/=10)
k = (n%i) / (i/10);
printf("%s", roman[3-j][k]);
printf("\n");
三、问答题(每题10分,共30分)
答案:
单分支if选择结构,一般格式为:
if ( 表达式 )
{ 语句;}(2分)
双分支if-else选择结构,一般格式为:
{ 语句1;}
{ 语句2;}(3分)
多分支 switch选择结构,一般格式为:
switch( 表达式 )
case 常量表达式1: [语句序列1;] [break;]
case 常量表达式2: [语句序列2;] [break;]
……
case 常量表达式n: [语句序列n;] [break;]
default: 语句序列n+1;
}(5分)
#include<stdio.h>
char text[100],words[100][20], *t=text,(*w)[20]=words; (2分)
int i,j=0,n=0;
for(i=0;(*(t+i)=getchar())!='#';i++);(2分)
for(i=0;*(t+i)!='#';i++)
if(*(t+i)!=' '&&*(t+i)!='\t'&&*(t+i)!='\n')
*(*(w+n)+j++)=*(t+i); (2分)
n++;
j=0; (2分)
for(i=0;i<=n;i++)
printf("%s ",*(w+i)); (2分)
k=(900%10000)/(10000/10)=0 j=0 roman[3][0]---(空) (1分)
k=(900%1000)/(1000/10)=9 j=1 roman[2][9]---CM (1分)
k=(900%100)/(100/10)=0 j=2 roman[1][0]---(空) (1分)
k=(900%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故900的罗马数字表示为CM (1分)
k=(1250%10000)/(10000/10)=1 j=0 roman[3][1]---M (1分)
k=(1250%1000)/(1000/10)=2 j=1 roman[2][2]---CC (1分)
k=(1250%100)/(100/10)=5 j=2 roman[1][5]---L (1分)
k=(1250%10)/(10/10)=0 j=3 roman[0][0]---(空) (1分)
故1250的罗马数字表示为MCCL (1分)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
生产车间员工岗位职责及权限、任职要求分别是什么 车间普工岗位职责(集合6篇) "上海"的地名是谁起的,什么意思? 老公的爸妈是表亲,我爸妈也是表兄妹,孩子会怎么样吗? 爸妈是近亲结婚他们是表兄妹 我生孩子会有问题吗? 爸妈是亲表兄妹结婚对这代没事。。不知道下一代有问题没。。。_百度... 鉴证实录 法证女朋友怎么死的0 沈阳御通实业有限公司怎么样? 玉环御通广告有限公司御通服务 问御石通效果怎么样啊,治疗结石的 谁有广州赛龙舟的照片 word中表格反了,如何转置90度 如何使word中表格旋转角度 干土豆粉条怎么做好吃窍门 易班请假撤销会提醒班主任吗? 易班请假超时销假怎么办 易班里请假老师同意后会有通知吗? 易班请假撤销老师能否看见- 问一问 梦见别人家死人要我也穿白布 作梦见有人给我一条红布和一块白布什么意思 梦见有人告诉我买十尺红布一尺白布白布上写上开运啥意思? 易班请假在学校门口可以吗 腐化堕落,的意思? 易班请假表单不存在 梦见不认识的人给我黄布和白布什么意思? 快哉苟且偷安,管他高不可攀;勤劳即得温饱,伺机而动盛昌.什么意思 易班请销假被锁了怎么办 唯愿偏安一隅,不问世事纷扰什么意思 易班请假能进行位置追踪吗? 问:梦见亲戚家办喜事 说要按彝家人的规矩 见人就发一条白布 梦见很多人头上都披了白布 别人给了我一 求西游记人物介绍及性格特点 要长一点的 word2003怎么打拼音? word2003汉语拼音表格怎么做 word2003如何给汉字加拼音! word2003拼音指南里怎么没有拼音? 、一个为什么会出现2个头像? 、一个为什么会出现2个头像? 可以帮忙ps图片的网站 南京江宁 车来了软件公交查询怎么不能用了现实尚未开通线路都一个多月了还是不能用 PS中怎样帮1张图片的色彩改的和另外一张差不多 英文版新春祝福语? 怎么开通实时信息? 用英语说过年的问候语,有哪些 vivo21手机摄像头有水雾怎么办! 请问如何破解DW CS6? 求dwcs6破解补丁 武汉骂人最精辟的话 武汉话俚语都有哪些?~~ 湖北话你很漂亮怎么说 &quot;弯管子”是什么意思???