C语言程序设计作业5
C语言程序设计实验报告模版——实验5 循环控制
#include <stdio.h>
void main( )
{
int i,j ;
/*定义循环控制变量*/
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
prinf(" ");
/*输出4-i个空格*/
for(j=1;j<=2*i-1;j++)
printf("*");
提示:循环条件可在while语句后的括号中出现,也可以用break语句控制。
2)根据分析结果写出源程序。
程序一:
#include<stdio.h>
void main( )
{
int x,xo=0,xj=0 ;
/*将偶数个数xo与奇数个数xj赋0值*/
scanf("%d",&x);
/*先输入一个整数*/
{
int x,xo=0,xj=0 ;
/*在循环内部用break语句控制循环条件*/
while(1)
{
scanf("%d",&x);
if(x=='\n')break ;
if(x%2==0)xo=xo+1;
else xj=xj+1 ;
}
printf("xo:%d,xj:%d",xo,xj);
}
分析:
(2)打印如下图案
printf("\n");
}
}
程序结果如下图:
四、实验心得(体会):
C语言程序设计第五次作业——循环结构(1)
C语⾔程序设计第五次作业——循环结构(1)(⼀)改错题输出华⽒摄⽒温度转换表:输⼊两个整数lower和upper,输出⼀张华⽒摄⽒温度转换表,华⽒温度的取值范围是{lower,upper},每次增加2℉。
计算公式如下:c = 5×(f-32)/9其中,c表⽰摄⽒温度,f表⽰华⽒温度。
输⼊输出样例1: Enter lower:32 Enter upper:35 fahr celsius 32 0.0 34 1.1输⼊输出样例2: Enter lower:40 Enter upper:30 fahr celsius源程序(有错误的程序)#include <stdio.h>int main(void){int fahr , lower, upper; /* fahr表⽰华⽒度 */double celsius; /* celsius表⽰摄⽒度 */printf("Enter lower:");scanf("%d",&lower);printf("Enter upper:");scanf("%d",&upper);printf("fahr celsius\n"); /* 显⽰表头 *//* 温度转换 */for (fahr = lower , fahr <= upper, fahr ++) ;celsius = 5 /9 * (fahr - 32.0);printf("%3.0f %6.1f\n", fahr, celsius);return 0;}对源程序进⾏编译,结果如下:错误信息1:错误原因:for语句后⾯加了分号。
改正⽅法:将分号去掉。
错误信息2:错误原因:for语句下没有加“{}“改正⽅法:在for语句下加上“{}”错误信息3:错误原因:发现for语句内语句⽤逗号隔开了。
C语言程序设计习题5
习题5参考解答1.数组是相同数据类型的集合,分为一维数组、二维数组及多维数组。
在什么情况下使用数组?在什么情况下使用一维数组?解:当需要处理的数据为相同类型的数据的集合时,可以使用数组。
如果这些数据的描述用一个量就可以,这时就用一维数组。
例如,一组学生的学号,就可以使用一维数组。
2.数组元素又称为下标变量,数组元素的下标有何意义?解:下标的意义是对数组的各个数组元素进行标识和区分。
由数组名和下标结合起来形成数组元素的名字。
3.使用字符数组来存储字符串应注意什么问题?解:需要注意的问题是字符数组在存储字符串时是以'\0'作为结束标记的。
这个'\0'是系统自动加上的。
所以字符数组的长度需要比它要存储的字符串的长度至少多1。
例如,要存储字符串"abcd",因为它的长度为4,所以存储它的字符数组的长度至少为5。
4.常用的字符处理函数有哪些?解:常用的字符处理函数有以下8个。
(1)puts(字符串):作用为将一个字符串输出到终端。
(2)gets(字符数组):作用为从终端输入一个字符串到字符数组,并且得一个函数值。
(3)strcat(字符串1,字符串2):作用为进行字符串的连接。
(4)strcpy(字符串1,字符串2):作用为进行字符串的复制。
(5)strcmp(字符串1,字符串2):作用为进行字符串的比较。
(6)strlen(字符串):作用为求字符串的长度。
(7)strlwr(字符串):作用为将字符串中的大写字母转换成小写字母。
(8)strupr(字符串):作用为将字符串中的小写字母转换成大写字母。
5.随机产生10个两位整数存储到一个一维数组中,找出其中的最大数。
解:#include<stdio.h>#include<stdlib.h>#define random(x) (rand()%x) int main(){int a[10],max;int x;for(x=0;x<10;x++)a[x]=random(100);max=a[0];for(x=0;x<10;x++){if(a[x]>max)max=a[x];printf("%4d",a[x]);}printf("\nmax=%d\n",max);return 0;}程序运行结果如下:41 67 34 0 69 24 78 58 62 64 max=786.输入10个整数,要求按照从小到大的顺序输出。
C语言程序设计 (何钦铭 颜晖 著) 高等教育出版社第五章 课后答案
{
double e,x,cos;
printf("Enter two numbers e and x :"); /*输入两个数e,x */
scanf("%lf%lf",&e,&x);
cos=funcos(e,x); /*调用函数funcos */
printf("The result of cos(%lf) is %lf.\n",x,cos);
printf("sign(%lf)=%d\n",x,y); /*输出x的符号*/
}
int sign(double x) /*定义函数sign */
{
int y;
if(x>0)y=1;
else if(x==0)y=0;
else y=-1;
return y;
}
练习5-2
#include <stdio.h>
#include <stdio.h>
int even(int n); /*声明函数even */
void main()
{
int num,sum=0;
printf("Enter the first number :"); /*输入第一个数*/
scanf("%d",&num);
while(num>0)
{
{
int i,j;
for(i=1;i<=n;i++) /*共n行金字塔*/
{
for(j=1;j<=n-i;j++)printf(" "); /*输出每行左边的空格*/
c语言程序设计第五版习题答案
c语言程序设计第五版习题答案1. 基础语法练习1.1 写一个程序,要求用户输入两个整数,然后计算并输出这两个整数的和。
```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);int sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```1.2 写一个程序,要求用户输入一个字符,然后判断该字符是否为数字字符('0'-'9')。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf(" %c", &ch); // 注意空格if (ch >= '0' && ch <= '9') {printf("该字符是一个数字字符。
\n");} else {printf("该字符不是一个数字字符。
\n");}return 0;}```2. 控制流程练习2.1 写一个程序,找出1~100之间所有能被7整除的数,并输出它们的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 7 == 0) {printf("%d ", i);sum += i;}}printf("\n这些数的和为:%d\n", sum); return 0;}```2.2 写一个程序,打印如下图案:```***************``````c#include <stdio.h>int main() {for (int i = 1; i <= 5; i++) {for (int j = 1; j <= i; j++) {printf("*");}printf("\n");}return 0;}```3. 数组和字符串练习3.1 写一个程序,输出一个5x5的矩阵,矩阵元素由用户输入。
第5章作业答案-C语言程序设计(第4版)-马靖善-清华大学出版社
第5章作业题一、单项选择题1.以下叙述不正确的是( B )。
A. 一个C源程序可由一个或多个文件组成B. C程序中,注释说明只能位于语句的后面C. 在对一个C程序进行编译时,编译系统不能发现注释中的拼写错误D. 一个C源程序必须包含一个main函数2.定义为void类型的函数,其含义是(C )。
A. 调用函数后,被调用的函数的返回值为任意的类型B. 调用函数后,被调用的函数不返回C. 调用函数后,被调用的函数没有返回值D. 以上三种说法都是错误的3.在说明语句:int *f();中,标识符f代表的是( C )。
A. 一个用于指向整型数据的指针变量B. 一个用于指向一维数组的行指针C. 一个返回值为指针型的函数名D. 一个用于指向函数的指针变量4.下列说法中错误的是( B )。
A. 静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值B. 静态全局变量可以被其他的编辑单位所引用C. 若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽D. 所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失5.下面对C语言的描述中,正确的是(A )。
A. 在C语言中,调用函数时,只能将实参的值传递给形参B. C语言函数既可以嵌套定义又可以递归调用C. 函数一定有返回值,否则无法使用函数D. C语言程序中有调用关系的所有函数都必须放在同一源程序文件中6.以下说法中不正确的是( B )。
A. 不同的函数中可以使用相同名字的变量B. 主函数main()中定义的变量在整个文件或程序中有效C. 形式参数是局部变量D. 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效7.以下说法中不正确的是( C )。
A. 主函数中定义的变量只在主函数内部有效B. 形式参数是局部变量C. 当全局变量与局部变量同名时,局部变量不起作用D. 在函数内部定义的变量只在本函数范围内有效8.下面关于全局变量的描述中,错误的是( B )。
C语言程序设计试卷5(含答案)
注意事项:1、本试卷共13 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
二、阅读程序题答题处:(每空3分,共30分)三、程序改错题答题处:(每空2分,共12分)四、完善程序填空题答题处:(每空2分,共18分)一、单项单选题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,能够作为变量名使用的是【1】。
A) n_1 B) charC) x(2) D) 2_a2.若有定义语句char ch='\072'; 则变量ch 【2】。
A) 定义错误B) 包含1个字符C) 包含3个字符D) 包含4个字符3.已知字母B的ASCII码值为66,则运行下面程序段后,输出结果是【3】。
char ch1; ch1='B'+'5'-'3'; printf("%d,%c",ch1,ch1);A) D,D B) 68,DC) D,68 D) 68,684.若有如下语句:int x; float y;scanf("k=%d,f=%f",&x,&y);则能够正确的为变量x输入5、为变量y输入3.2的方法是【4】。
说明:备选答案中的<CR>表示回车符A) 5 3.2 <CR> B) 5 <CR> 3.2 <CR>C) k=5,f=3.2 <CR> D) x=5,y=3.2 <CR>5.执行下列程序段后,输出结果是【5】。
int k=10; printf("%d,%o,%x",k,k,k);A) 12,a,10 B) 12,10,aC) 10,12,a D) 10,a,126.判断char 型变量ch 是否为小写字母的正确表达式是【6】。
C语言实验五最简单的C语言程序设计
C语⾔实验五最简单的C语⾔程序设计实验5:最简单的C语⾔程序设计⼀、实验⽬的:(1)掌握C语⾔中使⽤最多的⼀种语句——赋值语句的使⽤⽅法。
(2)掌握各种类型数据的输⼊输出的⽅法,能正确使⽤各种格式转换符。
(3)进⼀步掌握编写程序和调试程序的⽅法。
⼆、实验内容和步骤:1、通过下⾯的程序掌握各种格式转换符的正确使⽤⽅法。
(1)输⼊以下程序:/* Note:Your choice is C IDE */# includeint main( ){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61,b=62;c1='a';c2='b';d=3.56;e=-6.87;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d\np=%u,q=%u\n",f,g,m,n,p,q);显⽰结果:(2)运⾏此程序并分析结果。
(3)在此基础上,将程序第10~14⾏改为c1=a,c2=b;f=3157.890121;g=0.123456789;d=f;e=g;运⾏程序,分析结果。
/* Note:Your choice is C IDE */#include"stdio.h"int main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q);}显⽰结果:(4)⽤sizeof运算符分别检测程序中各类型的数据占多少字节。
《C语言程序设计》教材习题答案第5章
一、选择题1.设有程序段”int k=10;while(k=0)k=k-1;”,则下面叙述正确的是D 循环体语句一次也不执行2.设有程序段”int x=0,s=0;while(!x!=0)s+=++x;printf(“%d”,s);”则A 运行程序段后输出13.若有语句”int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));”,则该程序段C 输出的是1和-24.下面循环语句中,错误的是D int a=1,b=2;do b--while(b= =0);5.已知”int i=5;”,下列do…while循环语句的循环次数为C 5do{printf(“%d\n”,i--);}while(i!=0);6.循环语句”for(int i=0,j=10;i=j=10;i++,j--)”的循环次数是D 无限7.循环语句”while(int i=0;)i--;”的循环次数是A 08.下述有关break语句的描述中,不正确的是C break语句用于if语句的内嵌语句内,它结束该if语句9.下面关于循环语句的描述中,错误的是B 循环体内必须同时出现break语句和continue语句10.以下不是死循环的是D for(;(c=getchar()!=’\n’);)printf(“%c”,c);11.执行语句”for(i=0;i++<3;);”后,变量i的值为C 412.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C 循环4次13.与语句”while(!x);”等价的语句是A while(x= =0);14.执行下列程序段后a的值为B 2int a=1,b=10;do{b-=a;a++;}while(b--<0)二、编程题1.读入用户输入的6个整数并显示其平均值。
#include<stdio.h>main(){float sum=0;int tmp;int i;for(i=0;i<6;i++){printf("输入第%d个数:",i+1);scanf("%d",&tmp);sum=sum+tmp;}printf("平均值是:%f",sum/6);}2.先读入一个正整数n,然后计算并显示前n个偶数的和。
C语言程序设计实验五 参考答案
答案:
#include<stdio.h>
void main()
{
int i,j,num=0;
for(i=3;i<=1000;i++)
{
for(j=2;j<=1000;j++)
if(i%2==0)
break;
5-4从键盘输入一个整数n,计算2n+1与++n之和。要求计算两数之和用函数实现。
答案:
#include<stdio.h>
void main()
{
int a;
int sum(int n);
printf("input n:\n");
scanf("%d",&a);
sum(a);
}
int sum(int n)
if(i%2!=0)
{
printf("%5d",i);
num++;
if(num%10==0)
printf("\n");
}
}
printf("\n");
}
*************************************************************************************************************实验三*******************************************
c语言程序设计实验五参考答案实验解答实验五参考答案编程语言c语言吧c语言答案
C语言程序设计试题第五套-试卷
“C程序设计及实验”试题卷注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题1分,共10分)1. 下列运算符中,优先级最低的是_____。
A.<< B.!= C.&& D.=2. 以下选项中不正确的整型常量是_____。
A.0xa B.010L C.10 D.1.03. 表达式!(x>0||y>0) 等价于_____。
A.!(x>0)&&!(y>0) B.!x>0&&!y>0 C.!x>0||!y>0 D.!(x>0)||!(y>0)4. 表达式______的值不是0。
A.1/2 B.!’\0’C.!EOF D.NULL5. 若x 是浮点型变量,表达式(x=10/4) 的值是_____ 。
A.2.5 B.2.0 C.3 D.26. 若变量已正确定义并赋值,表达式______不正确。
A.a&b B.a^b C.&&x D.a, b7. 对于变量定义int a[10], *p=a;,表达式______是不正确的。
A.a[9] B.p[5] C.*p++ D.a++8. 不正确的赋值或赋初值的方式是______。
A.char str[10]; str="string"; B.char str[ ]="string";C.char *p="string"; D.char *p; p="string";9. 设程序中不再定义和声明变量,写出在函数fun中可以使用的所有变量______。
#include <stdio.h>void fun(int x){ static int y;……return;}int z;void main( ){ int a,b;fun(a);……}A.x, y B.x, y, z C.a,b,y,z D.a,b,x,y,z10. 对于变量定义int p[5], *a[5];,表达式______是正确的。
C程序设计作业
第一章作业答案:一,59,14.4,28.e二1小题,592,15一、将数89、20.25、40.875用十六进制表示二、填空1.在C语言中,数值常量0x3b的十进制值是。
2.字母f的ASCII码为十进制数___________。
第三章作业一、选择题:1、下列变量名中, B 是非法的。
A) Tom B) 3n C) little_boy D) c102、若有以下类型说明char a; int b; float c; double d;则表达式a*b+d-c的结果类型是(A )A)float B)char C)int D)double3、若x为整型,则逗号表达式(x=4*5,x*5),x+25的结果及x的值分别是(C )正确答案是100,45A)45 20 B)125 20 C)125 45 D)100 1004、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)的值是 C 。
A) 5 B) 8 C) 6 D)75、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2的值为 C 。
A) 12 B) 11 C)不确定的值D) 106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型A) int B) float C) double D) char7、C语言中不可用作标识符的字符有( C )A下划线B %C数字D字母8、下面四个选项中,均是合法整型常量的是(D )A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e59、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型A. intB. floatC. doubleD. char10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为( C )A. 20B.22C. 24D. 44第四章作业一、选择题1、若x为int型变量,则执行以下语句后x= C 。
C语言程序设计(PTA习题5-5使用函数统计指定数字的个数)
C语⾔程序设计(PTA习题5-5使⽤函数统计指定数字的个数)/*本题要求实现⼀个统计整数中指定数字的个数的简单函数*/#include <stdio.h>int CountDigit( int number, int digit ); //函数声明int main(){int number, digit;scanf("%d %d", &number, &digit);printf("Number of digit %d in %d: %d\n", digit, number, CountDigit(number, digit));return 0;}/* 你的代码将被嵌在这⾥ */int CountDigit( int number, int digit )//定义CountDigit这个计算数字个数的的函数{int i, number1;int n, count = 0;if(number!=0){if(number<0){number = -number; //将负数转为整数}else{while(number%10!=0){ //当number为个位数时退出循环i = number%10; //取出整数的个位数if(i==digit){ //判断是否为想要寻找的数字count++; //是的话count+1}number = number/10; //去掉最后⼀个数字}return count;}}else{ //如果这个整数为0,则0的个数为1count++; //count⾃增1return count;}}。
c语言选择程序设计(第五章)习题答案
}*/
//*****采用switch语句编写*****//
void main()
{
long i;
float bonus;
scanf("%ld",&i);
int g=i/100000;
switch(g)
else if(i<=1000000)
bonus=(i-600000)*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1; //bonus=(i-600000)*0.015+bonus6;
else
bonus=(i-1000000)*0.01+400000*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1; //bonus=(i-1000000)*0.01+bonus10;
bonus=(i-200000)*0.05+100000*0.075+100000*0.1; //bonus=(i-200000)*0.05+bonus2;
else if(i<=600000)
bonus=(i-400000)*0.03+200000*0.05+100000*0.075+100000*0.1; //bonus=(i-400000)*0.03+bonus4;
case 9:
bonus=(i-600000)*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1;//bonus=(i-600000)*0.015+bonus6;
五C语言程序设计
五《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。
2、掌握选择结构的程序设计。
3、掌握分支结构的嵌套。
二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。
自变量x与函数值均采用双精度类型。
(2)自变量x值从键盘输入,且输入前要有提示信息。
(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。
记录结果。
(5)源程序以sy4_1.c存盘。
2、编程,将一个百分制成绩转换成等级制成绩。
具体要求如下:(1)百分制与等级制的对应关系如下:(2)用switch语句实现该功能。
(3)用键盘输入百分制成绩,输入前要有提示信息。
(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。
(5)输出结果中应包含百分制成绩和成绩等级。
(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。
记录结果。
(7)源程序以sy4_2.c存盘。
三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。
2、掌握三种常用的循环语句的格式和功能。
3、初步掌握循环结构的编程方法。
二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。
要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。
2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。
C语言程序设计教程 第五章 课后习题参考答案
C语言程序设计教程第五章课后习题参考答案一、选择题1. B2. A3. C4. B5. D二、填空题1. while2. binary3. 164. 35. continue6. global三、判断题1. 错误2. 正确3. 错误4. 错误5. 正确四、编程题1.```c#include<stdio.h>int main() {int num;printf("请输入一个整数:"); scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数\n", num); } else {printf("%d是奇数\n", num); }return 0;}```2.```c#include<stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("%d与%d的和为%d\n", num1, num2, num1 + num2); return 0;}```3.```c#include<stdio.h>int isPrime(int num) {int i;if (num <= 1)return 0;for (i = 2; i <= num / 2; i++) {if (num % i == 0) {return 0;}}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num); } else {printf("%d不是素数\n", num); }return 0;}```4.```c#include<stdio.h>int factorial(int num) {int i, result = 1;for (i = 1; i <= num; i++) {result *= i;}return result;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d的阶乘为%d\n", num, factorial(num)); return 0;}```五、简答题1. C语言逻辑与运算符(&&)短路特性是什么?答:C语言逻辑与运算符(&&)具有短路特性,即在进行逻辑与运算时,如果前一个表达式的值为假(0),则后面的表达式将不会被计算,整个逻辑与表达式的值直接为假(0)。
C语言程序设计作业五(指针,文件)
C语言程序设计作业五1.对于类型相同的指针变量,不能进行哪种运算?(单选)A. +B. -C. =D. = =2. 若有以下说明和语句,且0<=i<10, 则下面哪个是对数组元素的错误引用?(单选)int a[]={1,2,3,4,5,6,7,8,9,0}, *p, i;p=a;A. *(a+i)B. a[p-a]C. p+iD. *(&a[i])3. 若有以下说明和语句,且0<=i<10,则下面哪个是对数组元素地址的正确表示?(单选)int a[]={1,2,3,4,5,6,7,8,9,0}, *p,i;p=a;A. &(a+1)B. a++C. &pD. &p[i]4. 以下程序的输出结果是___。
#include <stdio.h>main(){int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf("%d,%d\n",*p,*(p+3));}A. 0,5B. 1,5C. 0,6D. 1,65. 以下程序的输出结果是哪一项?(单选)#include <stdio.h>main(){int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}, *p[4],i;for(i=0;i<4;i++)p[i]=&a[i*3];printf("%d\n",p[3][2]);}A. 输出项不合法B. 6C. 8D. 126. 如果有以下的定义:(多选)struct person{char name[20];int age;char sex;};struct person a={"xiao min",20,'m'},*p=&a;则对字符串"li ning"的引用方式可以是下面哪些?A. (*p).nameB. C. D. p->name7. 下面哪些定义的结构在内存分配是等价的。
c语言程序设计 杨路明 第五章
绵
阳
师
范
学
院
论
坛
ww
w.
mn
ub
} getch();
bs
}
.c
if (n > 1) printf("%d,%d", k1, k2); /* n>1 表示 a 至少有 2 个因子 */ if (n > 2) printf(",%d", k3); /* 注意以下 if 的用法,追加的方法 */ if (n > 3) printf(",%d", k4); if (n > 4) printf(",%d", k5); if (n > 5) printf(",%d", k6); if (n > 6) printf(",%d", k7); if (n > 7) printf(",%d", k8); if (n > 8) printf(",%d", k9); if (n > 9) printf(",%d", k10); printf("\n");
设某县 2000 年工业总产值为 200 亿元,如果该县预计平均年工业总产值增长率为 4.5%, 那么多少年后该县年工业总产值将超 500 亿元。 答 main() { float x=200; int n=0;
绵
阳
师
范
学
院
论
坛
ww
4 ★输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。
ub
bs
.c
n
do { x*=(1+0.045); n++; }while(x<500); printf("n=%d",n); getch();
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Deadline: 12 月 03 日 23:59
1. Palindrome (回文)问题。Palindrome 是指具有如下特性的一个短语:这个短语顺着读和 反过来读所得到的字母序列是完全相同的。例如,” Lisa Bonet ate no basil ” 就是一个 回文。编写一个程序,输入若干个短语,然后判断它们是否是回文。 提示:每一个短语的长度不会超过 80 个字符,忽略掉短语当中的非字母,并且不考虑 字母的大小写。 输入输出样例: 输入数据: Lisa Bonet ate no basil 输出数据: yes
提示:计算一个整数的反置数的代码抽象为函数形式。 输入输出数据: 921
5. 编写一个简单的统计程序。在每一行输入中,首先会包含一个关键字,即 sum(求和)、 average(求平均)、maximum(求最大值)或 minimum(求最小值)。然后是一组整数。你的 任务是对这些数据完成相应的统计功能。 提示:每种运算都要用相应的函数形式来实现。 输入输出样例 : 输入数据: average 1 2 3 输出数据: 2
注意:如果不按照要求规范和时间提交,将没有成绩。
【作业提交规范】 每道题目建立一个 project 命名规范:exercise+第几次作业的序号+题号 例如:第四次作业第一题 exercise0401 每个程序的源文件命名和 project 命名一致 每次作业将文件压缩成一个压缩包,上传至学校服务器系统。 压缩包命名使用学号_姓名 如:20140309_张三
3. 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如,对于 句子” one little two little three little boys ”, 总共有 5 个不同的单词:one, little two, three, boys 。 提示: (1) 由于句子当中包含有空格,所有应该用 gets 函数来输入这个句子。 (2) 输入的句子当中只包含英文字符和空格,单词之间用一个空格隔开。 (3) 不用考虑单词的大小写,假设输入的都是小写字符。 (4) 句子长度不超过 100 个字符 输入输出样例 : 输入数据: one little two little three little boys 输出数据: 5
4. 一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整 数。如果一个整数的末尾是以 0 结尾,那么在它的反置数当中,这些 0 就被省略掉了。 比如说,1245 的反置数是 5421,而 1200 的反置数是 21。请编写一个程序,输入两个 整数,然后计算这两个整数的反置数之和 sum, 然后再把 sum 的反置数打印出来。
6. 一个数如果从左往右读和从右往左读数字是完全相同的,则称这个数为回文数,比如: 898, 1221, 15651 都是回文数。编写一个程序,输入两个整数 min 和 max, 然后对 于 min~max 之间的每一个整数(包含 min 和 max),如果它既是一个回文数又是一个 质数,那么就把它打印出来。 提示:回文数和质数的判断都必须用函数的形式来实现。 输入输出样例 :
2. Anagrams 问题。Anagrams 指的是具有如下特性的两个单词:在这两个单词当中,每 一个英文字符 (不区分大小写) 所出现的次数都是相同的。例如,Unclear 和 Nuclear、 Rimon 和 MinOR 都是 Anagrams。编写一个程序,输入两个单词,然后判断一下这两 个单词是否是 Anagrams。 提示:每一个短语的长度不会超过 80 个字符,并且不考虑字母的大小写。 输入输出样例 : 输入数据: Rimon MinOR 输出数据: yes