C语言统计其中单词的个数
经典C语言编程题
经典C语⾔编程题选择结构1.编程判断输⼊整数x的正负性和奇偶性。
2.已知银⾏整存整取存款不同期限的⽉息利率分别为:0.63% 期限⼀年0.66% 期限=年⽉息利率= 0.69% 期限三年0.75% 期限五年0.84% 期限⼋年要求输⼊存钱的本⾦和期限,求到期时能从银⾏得到的利息与本⾦的合计。
3.通过键盘输⼊字符,将输⼊的字符分为控制、数字、⼤写字母、⼩写字母和其他字符等五类。
4.简单计算器。
请编写⼀个程序计算表达式:datal op data2的值。
其中op为运算符+、—、*、/。
5.输⼊年份year和⽉month,求该⽉有多少天。
判断是否为闰年,可⽤如下C语⾔表达式:year%4==0 && year%100!=0 || year%400==0。
若表达式成⽴(即表达式值为1),则year为闰年;否则,表达式不成⽴(即值为0),year为平年。
6.对输⼊的⾏、单词和字符进⾏计数。
我们将单词的定义进⾏化简,认为单词是不包含空格、制表符(\t)及换⾏符的字符序列。
例如:“a+b+c”,认为是1个单词,它由5个字符组成。
⼜如:“xy abc”,为2个单词,6个字符。
7.从键盘输⼊任意的字符,按下列规则进⾏分类计数。
第-类'0','1','2','3','4','5','6','7','8','9'第=类'+','-','*','/','%','='第三类其它字符当输⼊字符'\'时先计数,然后停⽌接收输⼊,打印计数的结果。
8.输⼊10个整数,求其中正数的个数及平均值,精确到⼩数点后两位。
9.已知⼀个⾸项⼤于0的等差数列的前四项和为26,前四项的积为880,求此数列。
?10.输⼊a、b、c、d四个整数,求最⼩值min和最⼤值max。
11.编写程序,输⼊三⾓型的三条边长,求其⾯积。
注意:对于不合理的边长输⼊要输出数据错误的提⽰信息。
循环结构1.从键盘输⼊⼗个整数,求这⼗个整数之和。
2.从键盘中读⼊⼀系列字符,直到输⼊字母“a”时才停⽌。
编程实现输入一串英文
编程实现输入一串英文,统计其中各单词出现的个数(不区分大小写字母),以“000”作为字符串输入结束标志,例如:Twinkle twinkle little star 000(回车)twinkle little star2 1 1((这一学期刚学C语言,课后题如上,我的代码如下,总是出错,也不知道为什么,刚学到指针,请高手帮我找一下错误,若错误太多无法更正,就请附上您的代码,谢谢了。
))#include<stdio.h>#include<string.h>int main(){char str[100],ch;char *s2[30]; /*s2存放单词(不重复)*/char s3[30],*p=s3;inti,j,k=0,flag1,flag2,count1=0,white=1,a[30]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};FILE *file;file=fopen("string.txt","w+");printf("Input a string of English:\n");gets(str);fputs(str,file);rewind(file);while((ch=fgetc(file))!='0') /*统计文件中有多少个单词*/{if((ch==' ')||(ch=='\t')||(ch=='\n'))white++;else{if(white){white=0;count1++;}}}rewind(file);for(i=0;i<count1;i++){flag1=0; /*是否有重复单词*/flag2=0; /*是否遇到空白字符*/p=s3;while(ch=fgetc(file)){if((ch!=' ')&&(ch!='\t')&&(ch!='0')){if((ch>64)&&(ch<91)) /*大写字母变小写*/{ch=ch+32;}*p++=ch;}else{flag2=1; /*遇到空白字符*/*p='\0';for(j=0;j<k;j++) /*k为s2中的单词个数*/{if(strcmp(s3,s2[j])==0){flag1=1; /*有重复单词*/a[j]++;break;}}if(flag1==0) /*如果单词不重复*/{s2[k]=s3;a[k]++;k++;}}if(flag2==1) /*如果遇到空白字符,则开始查询下一单词,跳出while循环*/{break;}}while(((ch=fgetc(file))==' ')||(ch=='\t')); /*吞掉多余的空白字符*/fseek(file,-1,1); /*后退一格,继续读*/}for(i=0;i<k;i++){printf("%s\t",s2[i]);}printf("\n");for(i=0;i<k;i++){printf("%d\t",a[i]);}printf("\n");fclose(file);return 0;}我来帮他解答2011-10-29 12:03满意回答。
C语言编程题精选及答案.
C语言编程题精选C语言学习2010-11-30 15:48:25 阅读47 评论0 字号:大中小订阅1. 有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。
2. 任意输入三个字符,要求首先按逆序输出,然后同行原序输出。
3. 在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):************************4. 在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制):***************5. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************6. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):**********7. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************8. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*************************9. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************10. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*************************11. 编写打印如下图形的程序(考虑将输出的行数由输入的值来控制):* * * * ** * * * ** * * * ** * * * *12. 编制程序打印如下图形(考虑将输出的行数由输入的值来控制):ABBBCCCCCDDDDDDDEEEEEEEEEFFFFFFFFFFFGGGGGGGGGGGGG13. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 114. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 115. 编程打印图形(考虑将输出的行数由输入的值来控制):1 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 1116. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 117. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 118. 输入一个大写字母打印菱形。
c语言字符数组oj例题
(1)从键盘上接收一个字符串,保存到一个字符数组中。
(2)然后从后面往前倒序输出这个字符串。
例如:接收字符串为:“Jone”,则输出结果为“enoJ”。
#include <stdio.h>#include <string.h>#include <stdlib.h>int main() {char a[10];int i;int len = strlen(a);memset(a, '\0', 10);printf("输入的字符串为:\n");//强制刷新fflush(stdout);//从键盘上接收一个字符串gets(a);for (i = len-1; i >= 0; i--) {printf("%c",a[i]);return EXIT_SUCCESS;}2分别使用char数组和string类对象实现下面任务:编写一个程序,首先要求用户输入姓,然后输入名,然后使用一个逗号和空格将姓和名组合在一起,并存储和显示组合好的结果和结果的长度。
下面是程序运行时的情形:Enter your first name: LiEnter your last name: MingThe name is: Li, MingThe length of name: 8#include <stdio.h>#include <string.h>#include <stdlib.h>int main() {//定义数组char first[10];char last[10];//提前输出提示printf("Enter your first name:");//强制刷新fflush(stdout);gets(first);printf("\n");printf("Enter your last name:");//强制刷新fflush(stdout);gets(last);printf("\n");//连接逗号strcat(first, ", ");printf("The name is :%s\n", strcat(first, last));printf("The length of name :%d\n", strlen(first)); //求长度return EXIT_SUCCESS;}3从键盘上接收一个字符串,并统计其中字符的个数。
c语言编程题
3.在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):
******
******
******
******
4.在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制):
*
**
***
****
*****
5.编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
1
11
1 2 1
1 331
1 4 6 4 1
1 5 101011
18.输入一个大写字母打印菱形。菱形中间一行由该字母组成,相邻的各行由前面的字母依次组成,直到字母A出现在第一行和最末行为止。例如输入字母D,输出图形如下:
A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
19.打印如下图形。输出行数由键盘输入。
{
inti,j,k,t;
}
main()
{
inti,a[10];
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
putchar(“\n”);
fun(a,10);
for(i=0;i<10;i++)
printf(“%d”,a[i]);
}
2.编写一个函数,从所读入的若干个字符串(用end作为结束的标志)中找出长度最大的一个字符串,并输出该字符串。
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
14.编程打印图形(考虑将输出的行数由输入的值来控制):
C语言程序设计习题集
C语言程序设计习题集来源:/bbs/viewthread.php?tid=122497&fromuid=8725863内容:C语言程序设计习题集1 基础知识1、程序设计3. 已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序来(要求用不使用中间变量和使用中间变量两种方法)。
4. 编写程序,将一个无符号整数a循环右移n位。
所谓循环右移是指将数据右移之后,左端的空位不是以固定数据补位,而是用右端移出位按序补充。
5. 设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆柱表面积,圆柱体积。
用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字,请编写程序。
2 流程控制2、程序设计1. 编写程序,计算正整数num的各位上的数字之积。
例如,若输入:252,则输出应该是:20。
若输入:202,则输出应该是:0。
2. 若以字符A~J对应于数字字符0~9,编写程序,用于接收一个整数,并以各位相反的次序输出转换后的序列。
例如,若输入452,相反次序254,输出CFE。
3.编写程序,4.从键盘接收一个三位整数并输出。
要求:不5.用scanf()函数,6.输入错误字符时响铃。
22. 编写一个简单的循环工作的四则运算计算器程序,它以x,y,+<回车>形式接收输入数据,然后显示运算结果,若运算符为!,则程序结束。
其中x,y和结果都是浮点型数据。
23. 请编写程序,求n以内(不包括n)同时能被3和7整数的所有自然数之和的平方根s,并将结果输出到显示器上。
例如若n为1000时,函数值应为:s=153.909064。
6.从键盘输入一行字符,直到按回车键结束,统计其中的单词个数。
此处认为一个单词是介于空格之间的字符序列。
7.设计程序,将Fibonacci数列前20项中的奇数找出来存放到一维数组中。
8.编写程序,从键盘接收一个浮点数x和一个整数m(m不大于6),将x保留m位小数,第m+1位四舍五入。
c语言题库
96.编写一个函数将给定字符串复制到另一个字符串中去,主函数中输入一个字符串,调用该子函数,复制出另一字符串,将两个串输出。
97.写函数求Cos(x)=1+X2/2!-X4/4!+X6/6!-…+(-1)nX2n/(2n)!。
92.写函数求sin(x)的值。计算公式为:Sin(x)=X-X3/3!+X5/5!-X7/7!+…+(-1)n-1X2n-1/(2n-1)!。
93.编一函数使用冒泡法对若干个整数按从小到大的顺序排序,主函数中输入若干个整数到一个一维数组中,调用排序函数,将其排序,最后将原数组和排好序的数组输出。
94.求一个m行n列的二维数组中的这样一个原素;它在它所在的行为最大,在它所在的列为最小。
21.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。
22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。
23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。
24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。
25.判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。
67.键盘输入的一个两位数XY,X是十位,Y是个位;请编程计算X+Y的值和X*Y的值。
68.用for循环语句计算1到20的和,并将结果输出。
69.从键盘输入一行字符,统计出输入的字符个数(注:不要使用strlun函数编程)。
70.编程实现:任意输入10个数,计算所有正数的和,负数的和以及10个数的和。
1.输入两个正整数,m和n,求其最大公约数和最小公倍数。
C语言上机实验5-12
17.5实验5循环结构程序设计1.实验目的(1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。
(2)掌握在程序设计中循环的方法实现一些常用的算法(如穷举、迭代、递推等)。
(3)进一步学习调试程序。
2.实验内容编程并上机调试运行(1)输入一行字符、分别统计出其中的英文字母、空格、数字和其他字符的个数(本题是教材第5章第4题)在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。
(2)输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其个位数字立方和等于该数本身。
例如,153是一个水仙花数,因为153=1³+5³+3³(本题是教材第五章第8题)。
(3)猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃,只剩一个桃子了。
求第一天共摘了多少桃子(本题是教材第五章第12题)。
再得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。
请修改程序并运行,检查结果是否正确。
(4)用牛顿迭代法求方程2X³=4x²+3x-6=0在1.5附近的根(本题是教材第五章第13题,学过高等数学的读者可选做此题)。
再得到正确结果后,请修改程序所设的X初始值由1.5改为100,1000,1000,再运行,观察结果,分析不同的x初值对结果有什么影响,为什么?修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x初始值对迭代的次数有无影响。
3.预习内容预习教材第5章。
17.6实验6数组1.实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。
(2)掌握字符数组和字符串函数的使用。
(3)掌握与数组有关的算法(特别是排序算法)。
2.实验内容编程序并上机调试运行。
c语言入门100题
c语言入门100题C语言是一种广泛应用于计算机编程的高级编程语言,它简洁、高效、灵活,被广泛应用于软件开发、嵌入式系统、游戏开发等领域。
对于初学者来说,掌握C语言的基本语法和常用函数是非常重要的。
下面将介绍一些C语言入门的100道题目,帮助初学者快速入门。
1. 输出"Hello, World!"。
2. 输入两个整数,计算它们的和并输出。
3. 输入一个整数,判断它是否为偶数。
4. 输入一个字符,判断它是否为字母。
5. 输入一个年份,判断它是否为闰年。
6. 输入一个整数,判断它是否为素数。
7. 输入一个字符串,计算它的长度。
8. 输入一个字符串,将其中的大写字母转换为小写字母。
9. 输入一个字符串,将其中的小写字母转换为大写字母。
10. 输入一个字符串,判断它是否为回文串。
11. 输入一个字符串,统计其中的单词个数。
12. 输入一个字符串,将其中的数字字符删除。
13. 输入一个字符串,将其中的空格字符删除。
14. 输入一个字符串,将其中的标点符号删除。
15. 输入一个字符串,将其中的元音字母删除。
16. 输入一个字符串,将其中的辅音字母删除。
17. 输入一个字符串,将其中的大写字母移到字符串的末尾。
18. 输入一个字符串,将其中的小写字母移到字符串的末尾。
19. 输入一个字符串,将其中的数字字符移到字符串的末尾。
20. 输入一个字符串,将其中的空格字符移到字符串的末尾。
21. 输入一个字符串,将其中的标点符号移到字符串的末尾。
22. 输入一个字符串,将其中的元音字母移到字符串的末尾。
23. 输入一个字符串,将其中的辅音字母移到字符串的末尾。
24. 输入一个字符串,将其中的大写字母移到字符串的开头。
25. 输入一个字符串,将其中的小写字母移到字符串的开头。
26. 输入一个字符串,将其中的数字字符移到字符串的开头。
27. 输入一个字符串,将其中的空格字符移到字符串的开头。
28. 输入一个字符串,将其中的标点符号移到字符串的开头。
C语言实验题
return 0;
}
矩阵转置
题目描述:输入N*N的矩阵,输出它的转置矩阵。
输入:第一行为整数N(1≤N≤100)。
接着是一个N*N的矩阵。
输出:转置矩阵。
样例输入:2
1 2
1 2
样例输出:1 1
2 2
代码:#include<stdio.h>
int main()
{int a[100][100];
输入:输入三边a、b、c
输出:输出面积,保留3位小数。
样例输入:1 2 2.5
样例输出:0.950
代码:int main()
{
float f,c;
scanf("%f",&f);
c=5*(f-32)/9;
printf("%.2f",c);
return 0;
}
一元二次方程
题目描述:解一元二次方程ax2+bx+c=0的解。
scanf("%d",&a[i][j]);}
for(i=0;i<n;i++)
{for(j=0;j<=i;j++)
s=s+a[i][j];}printf("%d",s);return 0;
}
单词统计
题目描述:从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。
输入:输入只有一行句子。仅有空格和英文字母构成。
输出:输出数据只有一个,即摄氏温度,保留2位小数。
样例输入:32.0
样例输出:0.00
(完整版)C语言统计文件中的字符数、单词数以及总行数
C语言统计文件中的字符数、单词数以及总行数统计文件的字符数、单词数以及总行数,包括: 每行的字符数和单词数文件的总字符数、总单词数以及总行数空白字符(空格和tab缩进)不计入字符总数; 单词以空格为分隔;不考虑一个单词在两行的情况;限制每行的字符数不能超过1000。
代码如下#in elude <stdio.h> #in elude <stri ng.h>int *getCharNum(char *filename, int *totalNum);int mai n(){char file name[30];// totalNum[0]: 总行数totalNum[1]: 总字符数totalNum[2]:总单词数int totalNum[3] = {0, 0, 0};prin tf("I nput file n ame:");sca nf("%s", file name);if(getCharNum(filename, totalNum)){printf("Total: %d lines, %d words, %d chars'n", totalNum[0], totalNum[2], totalNum[1]);}else{prin tf("Error!\n");}return 0;}/***统计文件的字符数、单词数、行数* @param file name 文件名* @param totalNum 文件统计数据成功返回统计数据,否则返回NULL* @return**/int *getCharNum(char *file name, i nt *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(file name);return NULL;}prin tf("li ne words chars\n");//每次读取一行数据,保存到buffer,每行最多只能有1000个字符while(fgets(buffer, 1003, fp) != NULL){bufferLe n = strle n( buffer);//遍历缓冲区的内容for(i=0; i<bufferLe n; i++){c = buffer[i];if( c==' '|| c=='\t'){ // 遇到空格!isLastBlank && wordNum++; //如果上个字符不是空格,那么单词数加1isLastBla nk = 1;}else if(c!='\n'&&c!='\r'){ // 忽略换行符charNum++; //如果既不是换行符也不是空格,字符数加1isLastBla nk = 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 ,并输入如下的内容:I am Chin ese. I love my coun try.China has 960 square kilometers of territory.China has a populati on of 1.35 billio n.The capital of China is Beiji ng.By gunge2014-10-12运行程序,输出结果为:In put file n ame: d://demo.txt line words chars1 7 262 7 393 7 334 6 275 0 06 2 77 0 08 1 10Total: 8 lin es, 30 words, 142 chars上面的程序,每次从文件中读取一行,放到缓冲区buffer,然后遍历缓冲区,统计当前行的字符和单词数。
统计文本中单词的个数
江西理工大学软件学院计算机类课程实验报告课程名称:统计文本中单词个数班级:11软件会计4班姓名:黄健学号:11222122江西理工大学软件学院一、目录1、目录--------------------------------------------------------------22、实验目的--------------------------------------------------------33、实验要求--------------------------------------------------------34、实验仪器设备与材料-----------------------------------------35、实验原理--------------------------------------------------------46、实验步骤--------------------------------------------------------57、实验原始记录--------------------------------------------------68、实验数据分析计算结果--------------------------------------109、实验心得体会--------------------------------------------------1110、思考题----------------------------------------------------------12二:实验目的:一个文本可以看成是一个字符序列,在这个序列中,有效字符被空格分隔为一个个单词。
设计出一种算法来去统计出一个文本中单词的个数。
三:实验要求:1.被处理文本的内容可以由键盘读入2.可以读取任意文本内容,包括英文、汉字等3.设计算法统计文本中单词的个数4.分析算法的时间性能四:实验仪器设备和材料参考书籍电脑及其配件Microsoft Visulai C++ 6.0五:实验原理设计一个计数器count 统计文本中单词的个数。
统计单词的数量c语言
统计单词的数量c语言
以下是一个示例函数,可以用来统计一个字符串中的单词数量:```c
#include <stdio.h>
int countWords(char *str) {
int count = 0;
int state = 0;
while (*str) {
if (*str == ' ' || *str == '\n' || *str == '\t') {
state = 0;
} else if (state == 0) {
state = 1;
count++;
}
str++;
}
return count;
}
int main() {
char str[] = "Hello World, how are you?";
int wordCount = countWords(str);
printf("The number of words in the string is: %d\n", wordCount); return 0;
}
```
在这个例子中,我们使用了一个状态变量来跟踪当前是否在一个单词内。
如果遇到空格、换行符或制表符,则将状态更改为0,否则如果之前的状态为0,表示遇到一个新的单词,将计数增加1。
最后,返回计数作为单词数量。
在主函数中,我们使用一个字符串来测试函数,并输出结果。
C语言实验报告(五)
C 语言实验报告(五)一、实验目的1. 掌握使用 C 语言中数组的方法2. 掌握如何定义数组,如何引用数组元素3. 掌握二维数组的元素在内存中的存放方式4. 掌握什么是字符串,字符串结束符的作用5. 实现字符串的存储和操作,包括字符串的输入和输出6. 理解 C 语言将字符串作为一个特殊的一维字符数组二、实验内容描述:津津上初中了。
妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。
此外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。
但是津津如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。
假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。
请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴。
如果会的话,哪天最不高兴。
输入:输入数据有多组,第一行包含一个整数 T,表示有 T 组数据。
每组输入包括七行数据,分别表示周一到周日的日程安排。
每行包括两个小于 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出:输出包括一行,这一行只包含一个数字。
如果不会不高兴则输出 0,如果会则输出最不高兴的是周几 (用 1,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。
如果有两天或者两天以上不高兴的程度相当,则输出时间最靠前的—天。
5 36 27 25 35 40 40 63描述:某公司邀请 40 个顾客参加投票活动,选举他们最爱慕的产品,以决定公司今后的销售策略。
共有编号为 1 号~10 号的 10 个产品,每人只能选择一个产品。
编写程序,在整数数组中设置这 40 个值(投票情况),然后统计投票结果(每一个产品的得票数目)。
输入:40 个数值在 1~10 (含 1 和 10)之间的整数输出:如下所示:1 1 1 1 123 3 3 3 34 45 5 5 56 6 6 6 6 6 6 67 7 7 7 78 8 8 8 89 9 9 10 10如上图所示描述:有 n 个(n<=40)学生,现要统计这 n 个学生一次考试中不及格的人数输入:有两行,第一行为整数n;第二行为 n 个整数成绩(100(含) 以内)输出:一个整数,表示 n 个成绩中低于 60 分的个数样例输入:590 45 67 80 56样例输出:2描述:有一个长度为 n 的整数序列。
c语言编程题经典100例
c语言编程题经典100例下面是经典的c语言编程题100例,每道题目都涵盖了c语言编程的各个方面,包括基本数据类型、条件语句、循环结构、函数与指针等。
通过这100道题目的练习,可以帮助初学者快速掌握c语言编程的基础知识,也有助于进一步深入了解c语言的高级特性。
1. 打印Hello World。
2. 输入一个整数,判断是否为偶数。
3. 输入两个整数,求它们的和、差、积、商和余数。
4. 输入一个整数,求它的绝对值。
5. 输入一个字符,判断它是否为字母。
6. 输入三个整数,找出其中的最大值。
7. 输入一个字符,判断它是否为数字。
8. 输入一个整数,判断它是否为质数。
9. 输入两个字符串,比较它们的大小。
10. 输入一个字符,将它转换为大写或小写。
11. 输入一个浮点数,求它的平方根。
12. 输入一个整数,将它按位取反。
13. 输入一个字符串,翻转它的顺序。
14. 输入一个字符串,统计其中的元音字母个数。
15. 输入一个整数,将它转换为二进制数。
16. 输入两个整数,交换它们的值。
17. 输入一个二维数组,输出它的转置矩阵。
18. 输入一个数组,找出其中的最大值和最小值。
19. 输入一个数组,求它的平均数、中位数和众数。
20. 输入一个数组,判断它是否为回文数。
21. 输入一个字符串,统计其中的单词数量。
22. 输入一个字符串,统计其中的字符数、单词数和行数。
23. 输入两个字符串,判断它们是否为同构字符串。
24. 输入一个字符数组,将它转换为整数。
25. 输入一个浮点数,将它转换为分数。
26. 输入一个浮点数,将它四舍五入到整数。
27. 输入一个字符串,将其中的数字字符替换为其他字符。
28. 输入两个数组,把它们合并成一个新的数组。
29. 输入一个二维数组和一个数值,查找并输出它在二维数组中的位置。
30. 输入一个字符串,判断它是否为回文字符串。
31. 输入两个整数,求它们的最大公约数和最小公倍数。
32. 输入一个表达式,求它的值。
2018C语言技能训练题目(1-28)(暑作)
C语言暑假作业(编程题,不会的自己去网上百度,但必须要验证对与否)技能模拟题:(1-8套)1.计算之和,直到加项小于10-6为止。
2.已知某数列前两项为2,3,其后继项由前两项的乘积按下列规则生成:(1)若乘积为一位数,则该乘积就是后继项;(2)若乘积为两位数,则乘积的十位和个位数字依次作为数列的后继项。
输入整数n,求该数列的前n项。
3.输入3个整数,按从小到大的顺序输出。
4.输入30个整数到数组HK中,然后统计并输出能被3整除但不能被5整除的数及个数。
5.实现输入10个数,输出这组数中数与数的最大差值。
6.输出菲波拉契数列的前20项,要求每5个数一行,数之间用一个空格分开。
(菲波拉契数列的第一二项均为1,从第3项开始的后继项为其相邻前两项之和)7.输入一个数,然后确定它在一个数组中第一次出现的位置,如果没有该数则输出-1,否则输出其下标。
8.实现输入一个字符串到数组alp中,然后把其中所有字母转换为大写字母后输出。
9.输入选举的人数n,然后根据选票输入3个候选人编号1、2、3,统计输出3个候选人各得的选票数和无效票数。
(无效票为选举两人及以上的票)10.编写一个猜数游戏程序,输入一个设定的整数,供玩者猜。
玩者输入一个猜测的数,程序给出“大了”,“小了”的提示信息,或给出玩者经多少次猜中的信息。
11.输出九九乘法表。
12.把一个整数数组中的数按升序排列后输出。
13.输出所有3位整数的回文数,回文数是指从左到右和从右到左所读的数相同,如121、717等。
14.输入一个整数,然后输出其对应的二进制形式的数。
15.计算两个100位的整数之和。
16.统计一个字符串中单词的个数,单词间以一到多个空格分隔。
技能考点:17.对一组数据进行统计处理,求总和、平均值。
18.对一组数据进行统计处理,求最大值和最小值。
19.用选择法对一组数进行排序。
20.用冒泡法对一组数进行排序。
21.用二分查找法在一组数中查找指定的数。
C语言程序设计(第二版)-电子教案-丁亚涛-8587 第8章 指针
8.5.3 指针与二维数组
• 二维数组其实可以看成由一维数组构造而成。就相当于 几个队列构成一个方阵,方阵由队列组成,队列由具体 的元素--人组成。
• 一级指针只能管理队列,如果管理方阵,则需要二级指 针。
•int a=1000,*pa,**ppa; • pa=&a; • ppa=&pa;
• *(*(ppa)) ≡ *(pa) ≡ a ≡ 1000
• p是二级指针 • *p相当于*(p+0),级别降低为一级指针,相当于p[0] • **p相当于*(*(p+0)+0),级别降低为数组元素(普通变量),
也相当于p[0][0]
• p[1][2],相当于*(*(p+1)+2) • &p[1][2], 级别提升为一级指针,相当于:
• p[1]+2,*(p+1)+2 • &p[1],级别提升为二级指针,相当于:
f=f4; printf("a/b=%d\n",f(a,b));
8.5 指针与数组
• 8.5.1 指针与字符数组 • char str[100]= "Hello World"; • char *p=str; • 字符w可以有如下多种表示形式: • str[6] • *(str+6) • p[6] • *(p+6)
【例8-2】演示指针和数组的关系。
#include <stdio.h>
接可存取,由于p中存储的是x的信息。访问p可以获取x的信 息,再对银行存款进行操作。
8.1 借钱的故事
8.2 指针的概念
• C语言允许使用变量名、数组名[下标]、函数名等标 识符来访问内存
C语言文件练习题
C语言文件练习题1.系统的标准输入文件是指_________.a)键盘b)显示器c)软盘d)硬盘2.若执行fopen函数时发生错误,则函数的返回值是______.a)地址值b)0c)1d)EOF3.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是______.a)\4.fcanf函数的正确调用形式是______.a)fcanf(fp,格式字符串,输出表列)b)fcanf(格式字符串,输出表列,fp);c)fcanf(格式字符串,文件指针,输出表列);d)fcanf(文件指针,格式字符串,输入表列);5.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是____.a)只写b)追加c)读或读写d)答案b和c都正确6.函数调用语句:feek(fp,-20L,2);的含义是_______.a)将文件位置指针移到距离文件头20个字节处b)将文件位置指针从当前位置向后移动20个字节c)将文件位置指针从文件末尾处后退20个字节d)将文件位置指针移到离当前位置20个字节处7.利用feek函数可实现的操作_______.a)feek(文件类型指针,起始点,位移量);b)feek(fp,位移量,起始点);c)feek(位移量,起始点,fp);d)feek(起始点,位移量,文件类型指针);8.在执行fopen函数时,ferror函数的初值是______.a)TUREb)-1c)1d)09.feek函数的正确调用形式是_________A)feek(文件指针,起始点,位移量)B)feek(文件指针,位移量,起始点)C)feek(位移量,起始点,文件指针)D)feek(起始点,位移量,文件指针)10.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是______A)EOFB)-1C)1D)NULL11.下列关于C语言数据文件的叙述中正确的是________A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件12.函数feek(pf,OL,SEEK_END)中的SEEK_END代表的起始点是________A)文件开始B)文件末尾C)文件当前位置D)以上都不对13.C语言中,能识别处理的文件为_______A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件14.若调用fputc函数输出字符成功,则其返回值是________A)EOFB)1C)0D)输出的字符15已知函数的调用形式:fread(buf,ize,count,fp),参数buf的含义是______A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项16当顺利执行了文件关闭操作时,fcloe函数的返回值是_________A)-1B)TRUEC)0D)117.如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是______A)fp=fopen(\B)fp=fopen(\C)fp=fopen(\D)fp=fopen(\18.关于文件理解不正确的为_________.a)C语言把文件看作是字节的序列,即由一个个字节的数据顺序组成;b)所谓文件一般指存储在外部介质上数据的集合;c)系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区;d)每个打开文件都和文件结构体变量相关联,程序通过该变量访问该文件;19.关于二进制文件和文本文件描述正确的为_________.a)文本文件把每一个字节放成一个ASCII代码的形式,只能存放字符或字符串数据;b)二进制文件把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放;c)二进制文件可以节省外存空间和转换时间,不能存放字符形式的数据;d)一般中间结果数据需要暂时保存在外存上,以后又需要输入内存的,常用文本文件保存;20.系统的标准输入文件操作的数据流向为_________.a)从键盘到内存b)从显示器到磁盘文件c)从硬盘到内存d)从内存到U盘21.利用fopen(fname,mode)函数实现的操作不正确的为_________.a)正常返回被打开文件的文件指针,若执行fopen函数时发生错误则函数的返回NULL;b)若找不到由pname指定的相应文件,则按指定的名字建立一个新文件;c)若找不到由pname指定的相应文件,且mode规定按读方式打开文件则产生错误;d)为pname指定的相应文件开辟一个缓冲区,调用操作系统提供的打开或建立新文件功能;22.利用fwrite(buffer,izeof(Student),3,fp)函数描述不正确的_________.a)将3个学生的数据块按二进制形式写入文件;b)将由buffer指定的数据缓冲区内的3某izeof(Student)个字节的数据写入指定文件;c)返回实际输出数据块的个数,若返回0值表示输出结束或发生了错误;d)若由fp指定的文件不存在,则返回0值;23.利用fread(buffer,ize,count,fp)函数可实现的操作_________.a)从fp指向的文件中,将count个字节的数据读到由buffer指出的数据区中;b)从fp指向的文件中,将ize某count个字节的数据读到由buffer 指出的数据区中;c)以二进制形式读取文件中的数据,返回值是实际从文件读取数据块的个数count;d)若文件操作出现异常,则返回实际从文件读取数据块的个数;24.检查由fp指定的文件在读写时是否出错的函数是_________.a)feof()b)ferror()c)clearerr(fp)d)ferror(fp)25.函数调用语句:feek(fp,-10L,2);的含义是________。
c语言字符数组、字符串习题
班级学号姓名分数
实验九字符数组、字符串
实验目的:
1、掌握字符数组的定义及数组元素的引用方法。
2、掌握字符数组的赋值、输入输出方法。
3、掌握字符串数据的处理方法。
4、掌握与字符数组有关的基本算法的程序设计。
5、能够应用字符数组进行综合程序设计。
实验内容:
1、输入一行字符,统计其中有多少个单词,单词之间用空格分开。
P165
2、统计出一行字符串中各元音字母的个数(大小写不区分)。
提示:首先从键盘接收一行字符串存放在字符数组中,然后逐个字符判断是否是元音字母,如果是,则数量加1。
3、有一篇文章,共有3行文字,每行有80个字符。
要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
提示:可以定义二维字符数组str,大小为3×80,每行存放一个字符串,可以把str[0]、str[1]、str[2]看作3个一维字符组,用gets函数分别读入3个字符串,赋给3个一维字符数组。
然后逐个字符判断是哪一类,相应数量值加1。
友情提示:部分文档来自网络整理,供您参考!文档可复制、编制,期待您的好评与关注!。