统计一行字符中单词的个数
程序设计1实验习题实验一
输入2个正整数a和n,求a+aa+aaa+aa⋯a(n个a)之和。
(4)求各位数字的立方和等于它本身的数
输入2个正整数m和n(1<=m,n<=1000),输出m到n之间的所有满足各位数字的立方和等于它本身的数。
(5)统计素数并求和
输入2个正整数m和n(1<=m,n<=500),统计并输出m和n之间的素数的个数以及这些素数的和。
{int x = –1;
unsigned u = ;
printf ( “x = %u = %d\n”, x, x);
printf ( “u = %u = %d\n”, u, u);
return 0;
}
(2)运行以下程序,解释运行结果,并修改程序以使结果正确。
# include <stdio.h>
intmain(void)
35910
1234
15276
提示
通过将数组中的每个元素与设定的max,min比较大小,找到最大元素所在的行和最小元素所在的行,然后将两行的元素进行对调。
(4)在给定的字符串中查找指定的字符.
要求:
1)字符串采用直接初始化的方式处理;
输入:
103
输出:
Fishing in day 103
输入:
35
输出:
Dryinginday35
(7)按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
输入格式:
在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
c语言程序设计课程设计选题 (1)
《C语言程序设计》课程设计课题表一、A类1.职工信息管理系统设计2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:3.1、职工信息录入功能(职工信息用文件保存)--输入4.2、职工信息浏览功能--输出5.3、职工信息查询功能--算法6.查询方式:按学历查询、按职工号查询、条件组合查询7.职工信息删除、修改功能(可选项)8.图书信息管理系统设计9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
10.试设计一图书信息管理系统,使之能提供以下功能:11.1、图书信息录入功能(图书信息用文件保存)--输入12.2、图书信息浏览功能--输出13.3、图书信息查询功能--算法14.查询方式:按书名查询、按作者名查询、条件组合查询15.图书信息的删除与修改(可选项)16.图书管理系统设计17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等18.功能描述:19.1、新进图书基本信息的输入。
20.2、图书基本信息的查询。
21.3、对撤消图书信息的删除。
22.4、为借书人办理注册。
23.5、办理借书手续。
24.6、办理还书手续25.要求:使用文件方式存储数据。
26.实验设备管理系统设计27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
28.主要功能:29.1、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。
34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。
统计文件中出现的单词次数
统计⽂件中出现的单词次数这⾥以kevin.txt⽂件内容(单词由⼀个或多个空格字符分隔)为例进⾏简单说明[root@centos6-test06 ~]# cat /root/kevin.txtthe world kevin is theis world grace the kevinart the kevin the is kevin统计kevin.txt⽂件中出现的单词次数第⼀种⽅法:结合grep和awk编写shell脚本脚本内容如下:[root@centos6-test06 ~]# cat count.sh#! /bin/bash# solution 1if [ $# -eq 0 ]thenecho "Usage:$0 args error"exit 0fiif [ $# -ge 2 ]thenecho "analyse the first file $1"fi#get the first filefilename=$1grep -E -o "\b[[:alpha:]]+\b" $filename | awk ' { count[$0]++ }END{printf("%-20s%s\n","Word","Count");for(word in count){printf("%-20s%s\n",word,count[word])}}'=======================================================================脚本参数说明:-eq: 等于-ne: 不等于-le: ⼩于等于-ge: ⼤于等于-lt: ⼩于-gt:⼤于\b backspace,printf参数awk说明awk由内容和动作组成;awk pattern {action}pattern可以是BEGIN、END、expression可以执⾏ for ( var in array ) statement1)BEGIN模块:这个模块包括了⼀个操作块(也就是"{ }"内的内容)。
第01套 给定程序中,函数fun的功能
第01套给定程序中功能是将形参n所指变量中各位上为偶数的数去除剩余的数按原来从高位到低位的顺序组成一个新的数并通过形参指针n传回所指变量。
例如输入一个数27638496新的数为739。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序include ltstdio.hgt void fununsigned long n unsigned long x0 i int t i1 whilen tn __1__ ift2 __2__ xxti ii10 n n /10 n__3__ main unsigned long n-1 whilengt99999999nlt0 printfquotPlease input0ltnlt100000000: quot scanfquotldquotampn funampn printfquotnThe result is: ldnquotn 解题思路第一处t是通过取模的方式来得到n的个位数字所以应填10。
第二处判断是否是奇数所以应填0。
第三处最后通形参n来返回新数x 所以应填x。
给定程序MODI1.C中函数fun 的功能是计算n。
例如给n输入5则输出120.000000。
请改正程序中的错误使程序能输出正确的结果。
注意不要改动main函数不得增行或删行也不得更改程序的结构给定源程序include ltstdio.hgt double fun int n double result 1.0 if n 0 return 1.0 while n gt1 ampamp n lt 170 result n-- return result main int n printfquotInput N:quot scanfquotdquot ampn printfquotnnd lfnnquot n funn 解题思路第一处条件语句书写格式错误应改为if n0。
全国计算机二级C语言上机考试题库(可直接打印)
2012年9月全国计算机考试上机题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n){ t=*n % __1__;if(t%2!= __2__){ x=x+t*i; i=i*10; }*n =*n /10;}*n=__3__;}main(){ unsigned long n=-1;while(n>99999999||n<0){ printf("Please input(0<n<100000000): "); scanf("%ld",&n); } fun(&n);printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n来返回新数x,所以应填:x。
给定程序MODI1.C中函数fun 的功能是:计算n!。
例如,给n输入5,则输出120.000000。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>double fun ( int n ){ double result = 1.0 ;if n = = 0return 1.0 ;while( n >1 && n < 170 )result *= n--return result ;}main ( ){ int n ;printf("Input N:") ;scanf("%d", &n) ;printf("\n\n%d! =%lf\n\n", n, fun(n)) ;}解题思路:第一处:条件语句书写格式错误,应改为:if (n==0)。
(完整版)C语言统计文件中的字符数、单词数以及总行数
C语言统计文件中的字符数、单词数以及总行数统计文件的字符数、单词数以及总行数,包括:每行的字符数和单词数文件的总字符数、总单词数以及总行数注意:空白字符(空格和tab缩进)不计入字符总数;单词以空格为分隔;不考虑一个单词在两行的情况;限制每行的字符数不能超过1000。
代码如下#include <stdio.h>#include <string.h>int *getCharNum(char *filename, int *totalNum);int main(){char filename[30];// totalNum[0]: 总行数totalNum[1]: 总字符数totalNum[2]: 总单词数int totalNum[3] = {0, 0, 0};printf("Input file name: ");scanf("%s", filename);if(getCharNum(filename, totalNum)){printf("Total: %d lines, %d words, %d chars\n", totalNum[0], totalNum[2], totalNum[1]);}else{printf("Error!\n");}return 0;}/*** 统计文件的字符数、单词数、行数** @param filename 文件名* @param totalNum 文件统计数据** @return 成功返回统计数据,否则返回NULL**/int *getCharNum(char *filename, int *totalNum){FILE *fp; // 指向文件的指针char buffer[1003]; //缓冲区,存储读取到的每行的内容int bufferLen; // 缓冲区中实际存储的内容的长度int i; // 当前读到缓冲区的第i个字符char c; // 读取到的字符int isLastBlank = 0; // 上个字符是否是空格int charNum = 0; // 当前行的字符数int wordNum = 0; // 当前行的单词数if( (fp=fopen(filename, "rb")) == NULL ){perror(filename);return NULL;}printf("line words chars\n");// 每次读取一行数据,保存到buffer,每行最多只能有1000个字符while(fgets(buffer, 1003, fp) != NULL){bufferLen = strlen(buffer);// 遍历缓冲区的内容for(i=0; i<bufferLen; i++){c = buffer[i];if( c==' ' || c=='\t'){ // 遇到空格!isLastBlank && wordNum++; // 如果上个字符不是空格,那么单词数加1isLastBlank = 1;}else if(c!='\n'&&c!='\r'){ // 忽略换行符charNum++; // 如果既不是换行符也不是空格,字符数加1isLastBlank = 0;}}!isLastBlank && wordNum++; // 如果最后一个字符不是空格,那么单词数加1isLastBlank = 1; // 每次换行重置为1// 一行结束,计算总字符数、总单词数、总行数totalNum[0]++; // 总行数totalNum[1] += charNum; // 总字符数totalNum[2] += wordNum; // 总单词数printf("%-7d%-7d%d\n", totalNum[0], wordNum, charNum);// 置零,重新统计下一行charNum = 0;wordNum = 0;}return totalNum;}在D盘下创建文件demo.txt,并输入如下的内容:运行程序,输出结果为:上面的程序,每次从文件中读取一行,放到缓冲区buffer,然后遍历缓冲区,统计当前行的字符和单词数。
计算机二级C上机考试题库3
填空:k N a[k][i]
改错:for( i = strlen( t )-1; i; i-- )
if(t[j]>t[j+1])
21.请编写—个函数void fun(char *ss),下标奇数位置子母改大写
c
填空:NULL n head,ch
改错:for (i = 0,t = 0; p[i] ; i++)
删除串中所有*号
i
填空:1 j++j
改错:t=a;a=b;b=t;
return(b);
13.
删除串尾*号
填空:N i -1
改错:a2=k/10;
return i;
14.
除前导*外其他删除*
填空:N k ss[i]
改错:int k=0;
while( *p || *q )
15.
删除前导和尾部*
填空:N substr 0
改错:double fun(double a, double x0)
if( fabs(x1-x0)>0.00001 )
54.
分数最低学生数据放在b所指数组
填空:struct student a.score[i]
改错:if(p==n) return -1;
a[i]=a[i+1];
55.找出成绩最低学生纪录
改错:int fun(int a[],int m)
else if(m > a[mid])
11.请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
只删除中间*号
int j=0; char *q=a;
while(*q && q < h) a[j++] = *q++ ;
国家计算机2级考试题库
第一套、1程序填空给定程序中,函数fun的功能是:有N*N矩阵,将矩阵的外围元素顺时针旋转。
操作顺序是:首先将第一行元素的值存入临时数组r ,然后使第一列成为第一行,最后一行成为第一列,最后一列成为第一行,临时数组中和元素成为最后一列。
第1处t[0][N-j-1]=t[j][0];第2处for(j=N-1;j>=0;j--)第3处t[j][N-1]=r[j];2程序修改给定程序MODI1.C中函数fun的功能是:计算s=f(-n)+f(-n+1)+……+f(0)+f(1)+f(2)+……+f(n)的值。
例如,当n为5时,函数值应为:10.407143。
/*******found******/double f(double x){if(x==0.0||x==2.0)return 0.0;else if(x<0.0)return (x-1)/(x-2);elsereturn (x+1)/(x+2);}double fun(int n){ int i;double s=0.0,y;for(i=-n;i<=n;i++){ y=f(1.0*i);s+=y;}/*******found******/return s;}3程序设计编写函数fun,它的功能是计算:s=根号下(ln(1)+ln(2)+ln(3)+……ln(m))S作为函数返回,在C语言中可调用log(n)函数求ln(n)。
log函数的引用说明是:Double log(double x)例如,若m 的值为:20,fun函数值为:6.506583。
double fun(int m){double s=0.0;int i;for(i=0;i<=m;i++)s+=log(1.0*i);s=sqrt(s);return s;}第二套程序通过定义学生结构体变量,存储了学生学号,姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
C语言考试A1-试卷和答案
电子科技大学网络教育考卷(A 卷)(20 年至20 学年度第 学期)考试时间 年 月 日(120分钟) 课程 C 语言 教师签名_____一、单项选择题(每题2分,共30分) 1.以下描述正确的是( C )A .goto 语句只能用于退缩出多层循环。
B .switch 语句中不能出现continue 语句。
C .只能用continue 语句中来终止本次循环。
D .在循环语句中break 语句不独立出现。
2.一个C 程序的执行是从( A )A .C 程序的main 函数开始,到main 函数结束。
B .本程序的第一个函数开始,到本程序最后一个函数结束。
C .本程序的main 函数开始,到本程序文件的最后一个函数结束。
`D .本程序的第一个函数开始,到本程序main 函数结束。
3.C 语言中,要求运算数必须都是整数的运算符是( C )。
A.* B.- C.% D.+4.假定 int i=3,j=4; 执行语句: printf("%d,%d,%d\n",i+++j,i,j); 之后,其输出结果为:( C ) A.7,4,4 B. 8,4,4 C. 7,3,4 D.7,3,5 5.对break 语句的正确描述。
( A )A .break 语句在while 语句中,立即终止执行while 语句。
B .break 语句不能用于循环语句之外的语句。
C .break 语句与continue 语句功能相同。
D .b reak 语句可以带参数,也可以不带。
6.在C 语言中,下面那一个不是正确的概念( A )A. 所有循环语句都要求至少要执行一次循环体。
B. goto 和if 语句能构成循环语句。
C .循环过程只能包含,不能交叉。
D .循环体可以是一条语句。
7.以下对二维数组a 的正确说明是( C )A. int a[ 3 ] [ ]; B. float a( 3, 4); C. int a[ 3 ] [ 4 ] D.float a( 3, )( 4 ); 8.对函数的正确描述( C )A .在C语言中可以嵌套定义函数。
计算机二级C上机题库答案分类汇总
a 与b 合并成c85 填空 STYPE FILE fp 改错 for(i=0;i<=sl;i++) t[sl*2]='\0'; 将a 数的十位和个位数依次放在c 数的千位和十位上,b 数的十位和个位数依次放在c 数的百位和个位上。
4152*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;56 填空 *fw str str改错 void fun(long s,long *t) sl=sl*10; 将a 数的十位和个位数依次放在c 数的个位和百位上,b 数的十位和个位数依次放在c 数的千位和十位上。
1524*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;22 填空 fp fclose(fp) fname改错 for(i=j+1;i<n;i++) p=i; 将a 数的十位和个位数依次放在c 数的个位和百位上,b 数的十位和个位数依次放在c 数的十位和千位上。
2514*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;33 填空 ”r ” fs ft改错 if(d%2==0) s/=10; 将a 数的十位和个位数依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的百位和个位上。
5142*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;83 填空 0 x t++改错 int i,sl; t[i]=s[sl-i-1]; 将a 数的十位和个位数依次放在c 数的百位和个位上,b 数的十位和个位数依次放在c 数的千位和十位上。
1425*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;80 填空 1 s i*10改错 int fun(int n,int xx[][M])printf("%d",xx[i][j]);将a 数的十位和个位数依次放在c 数的千位和十位上,b 数的十位和个位数依次放在c 数的个位和百位上。
C语言上机编程100题
58请编写一个函数fun,它的功能是:求出一个2M整型二维数组中最大元素的值,并将此值返回调用函数。.txt
59函数fun的功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,.txt
38学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最.txt
39学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据.txt
66请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入.txt
67编写程序,实现矩阵(3行3列)的转置(即行列互换).txt
68编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返.txt
69编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址.(注意主函数中用作为.txt
74请编写函数fun,它的功能是:求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。.txt
75请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。.txt
76请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。.txt
50请编写函数fun,其功能是:计算并输出.txt
51函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中,合成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,.txt
ACM练习题
ACM练习题(1)描述浙江工商大学校园里绿树成荫,环境非常舒适,因此也引来一批动物朋友来此居住。
童心未泯的redraiment就经常带些碎面包什么的去广场喂鸽子和兔子,并和它们玩耍。
一点也不像大学生,还是一副老不正经的样子,呵呵。
随着鸽子和兔子数目的增多,redraiment带的那点食物已经不够它们瓜分了。
为了能让自己的好朋友吃的饱饱的,redraiment决定统计一下有多少只鸽子和有多少只兔子,以便带来足够的食物。
一、二、三、四、五...他开始数了。
现在,他已经知道有这些鸽子和兔子一共有n个头和m只脚。
请你帮他写个程序计算一下一共有多少只鸽子和兔子。
输入输入包括多组数据。
每行包括2个数据:n、m(代表上面题目中提到的意思1≤n, m≤230)。
n、m都是整数。
输入以0 0作为结束。
输出每组数据的输出都只有一行,分别是鸽子的数量和兔子数量。
如果输入的测试数据不能求得结果,那肯定是redraiment这个马大哈数错了,就输出"Error"提示他。
样例输入35 941 30 0样例输出23 12Error(2)念数字时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte总提交: 727 测试通过: 316描述编一个“念数字”的程序,它能让计算机完成以下工作:当你输入一个0至99 之间的数后,计算机就会用汉语拼音印出这个数。
如果输入的数不在0到99 之间,就印出“CUO LE”。
注:为了使不熟悉汉语拼音的同学也能做这个题,把“零,一,二,三,……,九,十”的拼音法写在下面。
零LING 一YI 二ER 三SAN 四SI 五WU六LIU 七QI 八BA 九JIU 十SHI输入输入数据有多组,每组数据占一行,内容为一个数字,数据以EOF作为结束。
输出输出对应的汉语拼音,字母全部为大写。
每组数据占一行样例输入3511100样例输出SAN SHI WULINGSHI YICUO LE(3)University时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte总提交: 698 测试通过: 304描述在大学里,很多单词都是一词多义,偶尔在文章里还要用引申义。
笔试模拟试题二基础部分和C语言程序设计(考试时间120分钟-满分...
笔试模拟试题二基础部分和C语言程序设计(考试时间120分钟,满分100分)一、选择题((1)~(40)题每题1分,(41)~(50)每题2分,四个选项中,只有一个选项是正确的,共60分)(1)IBM微机及其兼容机的性能指标中的内部存储器容量是指()A)高速缓存Cache的容量B)RAM的容量C)RAM和ROM的总容量D)ROM、RAM、Cache的总容量(2)磁盘的存储地址是由()决定的。
A)扇区号B)磁头号C)磁道号` D)盘面号、磁道号、扇区号(3)内存储器存储容量的大小取决于()A)字长B)地址总线的宽度C)数据总线的宽度D)字节数(4)十六进制数4DE。
7转换成二进制数是()A)10011011110。
111 B)10011011110。
1110C)100011011110。
1110 D)1001101110。
0111(5)若用八位二进制补码表示带符号的定点整数,则能表示的范围是()A)-127~+127 B)-128~+128 C)-127~+128 D)-128~+127(6)发现磁盘文件中有计算机病毒后,比较彻底的清除办法是()A)用反病毒软件清除病毒B)格式化含该磁盘文件的磁盘C)删除该磁盘文件D)进行写保护(7)解释程序的功能是()A)将高级语言源程序转换成为目标文件B)将汇编语言源程序转换成为目标文件C)逐条解释并执行高级语言源程序D)逐条解释并执行汇编语言源程序(8)可以实现打印当前盘当前目录下指定文件ZHU。
BA T中的内容的命令行是()。
A)TYPE ZHU>PRN B)COPY ZHU.BAT PRNC)COPY ZHU.BAT>PRN D)COPY ZHU.BAT CON(9)在DOS系统下可以执行的命令文件的扩展名不能是()。
A).BAK B).COM C).EXE D).BAT(10)A盘为DOS系统盘,B盘为格式化的空白盘,去掉A盘当前目录下所有扩展名为.SYS的文件扩展名,可以实现此操作的命令行是()。
编程答题
65-3请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。
fun (int a[][M]){int max=a[0][0],i,j;for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}26-3请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。
double fun(int n){inti,j;double s=0;for(i=3;i<=n;i++)//产生3-n之间的所有数{ for(j=2;j<i;j++)//判断i是否为素数if(i%j==0) break;if(i==j) s+=sqrt(i);//为素数时,对其开平方求和}return s;}30-3int fun(intlim,int aa[MAX]){inti,c=0,j;for(i=2;i<=lim;i++){ for(j=2;j<i;j++)if(i%j==0) break;if(i==j) aa[c++]=i;} return c; }36-3请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。
void fun(intm,int *k,int xx[]) {inti,c=0,j;for(i=2;i<=m;i++) { for(j=2;j<i;j++)if(i%j==0) break;if(i>j) xx[c++]=i;}*k=c;}2-3请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):double fun ( double eps){double s=1,t,fz,fm;inti;fz=fm=1; for(i=1;fz/fm>=eps;i++){fz=fz*i;fm=fm*(2*i+1);t=(double)fz/fm;s+=t;}return 2*s;}47-3编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
东南大学 C++ 第二学期 笔试 期末复习一_含答案
2、31、611系C++ 测验Array课程名称C++程序设计(下) 考试学期06_07_3得分适用专业2、31、611系考试形式闭卷考试时间长度120分钟本试卷满分100分。
一、选择题(共20分。
每题1分)1.若有char *p = "Hello",则以下选项中错误的是:( )A.char &a = *p;B.char *s = *p;C.char *q = p+2;D.p= p+2;2.设有说明int x[5] = {1,2,3,4,5},*p = x;输出值不是5的是:A.cout<<sizeof(x)/sizeof(int)<<'\n';B.cout<<sizeof(x)/sizeof(x[0])<<'\n';C.cout<<sizeof(p)/sizeof(int)<<'\n';D.cout<<sizeof(x)/sizeof(1)<<'\n';3.设有说明语句:char *s[] = {"Student","Teacher","Father","Mother"},*ps = s[2];执行语句:cout<<*s[1]<<','<<ps<<','<<*ps<<'\n';则输出结果是:A.T,Father,FB.Teacher,F,FatherC.Teacher,Father,FatherD.语法错,无输出4.设有语句char s[ ] = "246",*ptr = s;cout<<(char)(*(ptr+1)+1)<<'\n';执行以上语句后输出:A. 46B. 6 C.5 D. 535.设有说明语句:float fun(int &,char *);int x;char s[200];对以下函数fun的调用中正确的调用格式是A.fun(&x,s)B. fun(x,s)C. fun(x,*s) D .fun(&x,*s)6、设s和t分别为指向两个长度相同的字符数组指针,则循环语句while( (7) )可以正确实现字符串t到s的完整复制功能。
统计单词数(find函数)
1、统计单词数(find函数)(stat.cpp/c/pas)【问题描述】一般的文本编辑器都有查找单词的功能,该功能能快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在某篇文章中出现的次数和第一次出现的位置。
注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。
【输入】输入文件名为stat.in,2行。
第1行为一个字符串,其中只含字母,表示给定单词;第2行为一个字符串,其中只可能包含字母和空格,表示给定的文章。
【输出】输出文件名为stat.out。
只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中位置,位置从0开始);如果单词在文章中没有出现,则直接输出一个整数-1。
【数据范围】1≤单词长度≤10。
1≤文章长度≤1,000,000。
2、统计单词数(一个个字符对比)(stat1.cpp/c/pas)【问题描述】一般的文本编辑器都有查找单词的功能,该功能能快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在某篇文章中出现的次数和第一次出现的位置。
注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。
【输入】输入文件名为stat.in,2行。
第1行为一个字符串,其中只含字母,表示给定单词;第2行为一个字符串,其中只可能包含字母和空格,表示给定的文章。
【输出】输出文件名为stat.out。
统计一行字符串中单词的个数
统计⼀⾏字符串中单词的个数请编写函数fun,函数的功能是统计⼀⾏字符串中单词的个数,字符串在主函数中输⼊,规定所有单词由⼩写字母组成,单词之间有若⼲个空格隔开,⼀⾏的开始没有空格。
#include <stdio.h>#include <string.h>#define N 80int fun( char *s){int i,k=0;for(i=0;i<strlen(s);i++){if(s[i]!=''&&s[i+1]==''||s[i]!=''&&s[i+1]=='\0'){k++;}}return k;}main(){ char line[N]; int num=0;void NONO ();printf("Enter a string :\n"); gets(line);num=fun( line );printf("The number of word is : %d\n\n",num);NONO();}void NONO (){/* 请在此函数内打开⽂件,输⼊测试数据,调⽤ fun 函数,输出数据,关闭⽂件。
*/FILE *rf, *wf ; int i, num ; char line[N], *p ;rf = fopen("..\\in.dat","r") ;wf = fopen("..\\out.dat","w") ;for(i = 0 ; i < 10 ; i++) {fgets(line, N, rf) ;p = strchr(line, '\n') ;if(p != NULL) *p = 0 ;num = fun(line) ;fprintf(wf, "%d\n", num) ;}fclose(rf) ; fclose(wf) ;}例如输⼊welcome to visit my blog运⾏结果。
谭填充题.TXT
6.2 填空题【题6.122】至【题6.182】共60道【6.122】一个C语言的语句至少应包含一个〖分号(或;)〗。
【6.123】在C程序中,注释部分以〖/*〗开始,以〖*/〗结束。
【6.124】在16位PC机环境下,字符常量'a'在内存中应占〖1〗个字节,字符串"a"应占〖2〗个字节。
【6.125】在16位PC机环境下,int类型数据应占〖2〗个字节,short类型数据应占〖2〗个字节,long类型数据应占〖4〗个字节,double类型数据应占〖8〗个字节。
【6.126】在16位PC机环境下,short类型数据的取值范围是〖-32768~32767 〗,unsigned int类型数据的取值范围是〖0~65535〗。
【6.127】若采用十进制数的表示方法,则077是〖63〗,0111是〖73〗,0X29是〖41〗,0XAB是〖171〗。
【6.128】若有说明char s1 = '\077', s2 = '\'' ; 则s1中包含〖1〗个字符,s2中包含〖1〗个字符。
【6.129】设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的结果为〖double (或双精度)〗类型。
【6.130】设a, c, x, y, z均为int型变量,请在下面对应的〖〗中写出各表达式的结果。
①a = (c = 5, c+5, c/2) 〖2〗②x = (y = (z = 6)+2)/5 〖1〗③18+(x = 4) * 3 〖31〗【6.131】请在下面对应的〖〗中写出各表达式的结果。
①sqrt(fabs(-25.0)) 〖50〗②strlen ("CHINA")+strlen("C") 〖6〗③strcmp ("CHINA", "china") 〖一个负数〗【题6.132】若有说明int x = 10, y = 20; 请在下面对应的〖〗中写出各printf语句的输出结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h>
int main(void)
{
int count=1;
char ch;
printf("Input rds: ");
while((ch=getchar())!='\n')
{
if(ch==' ')
count++;
}
printf("count=%d",count);
【样例输出1】
count=5
【样例输入2】(下划线部分为键盘输入,其余部分为程序输出)
Input words: You and me are friend.
【样例输出2】
count=5
【样例说明】
输入提示符后要加一个空格。例如“Input integers:”,其中“:”后要加一个且只能一个空格。
英文字母区分大小写。必须严格按样例输入输出。
/*第6次作业第六章控制结构综合程序设计---6-9编程题,统计一行字符中单词的个数
6.
【问题描述】
输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。
【输入形式】
从键盘输入一行字符。
【输出形式】
输出单词的个数。
【样例输入1】(下划线部分为键盘输入,其余部分为程序输出)
Input words: Let’s go to room 209.
return 0;
}