湖南大学信息科学与工程学院C语言上机部分题库150道题
- 格式:doc
- 大小:214.50 KB
- 文档页数:62
大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言。
B. C语言具有跨平台的特性。
C. C语言是面向对象的编程语言。
D. C语言广泛应用于系统软件的开发。
答案:C2. C语言中,用于定义整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. -variableD. variable$答案:B4. C语言中,用于实现顺序结构的控制语句是:A. ifC. whileD. switch答案:A5. 在C语言中,以下哪个函数用于计算两个数的和?A. max()B. pow()C. sqrt()D. strcat()答案:A6. C语言中,用于定义字符型变量的关键字是:A. intB. floatC. charD. double答案:C7. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C8. C语言中,用于定义浮点型变量的关键字是:B. floatC. doubleD. char答案:B9. 在C语言中,以下哪个关键字用于定义函数?A. classB. functionC. voidD. struct答案:C10. C语言中,用于实现条件选择的控制语句是:A. ifB. forC. whileD. switch答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义布尔型变量的关键字是________。
答案:_Bool2. C语言中,用于定义字符串的字符数组时,最后一个元素必须是________。
答案:'\0'3. C语言中,用于实现循环结构的控制语句是________和________。
答案:for,while4. 在C语言中,________函数用于计算两个数的乘积。
1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2:第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a,int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 ||i%11==0)&& i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回. 答案:void fun(int x, int pp[],int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中”a"到”z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a':pp[0]++;break;case ‘b':pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;break;case ‘e’:pp[4]++;break;case ‘f’:pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’:pp[8]++;break;case ‘j': pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l': pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n': pp[12]++;break;case ‘o’:pp[14]++;break;case ‘p’: pp[15]++;break;case ‘q’:pp[16]++;break;case ‘r’:pp[17]++;break;case ‘s’:pp[18]++;break;case ‘t':pp[19]++;break;case ‘u’:pp[20]++;break;case ‘v’:pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x':pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中.答案:void fun(int m, int k,int xx[]){int g=0,I,j,flag=1;for(i=m+1;i<m*m;i++){for(j=0;j<I;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if (flag==1 &&j〉=i){if (k>=0){xx[g++]=i;k——;}elsebreak;}}}6:第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符.其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。
第一章以下叙述中错误(de)是( )A.一个C语言程序只能有一个主函数B.C语言编写(de)每个函数都可以进行独立(de)编译并执行C.C语言编写(de)函数都可以作为一个独立(de)源程序文件D.C语言编写(de)函数源程序,其文件名后缀可以是C计算机高级语言程序(de)运行方法有编译执行和解释执行两种,以下叙述中正确(de)是( )A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.以上说法都不对D.C语言程序既可以编译执行又可以解释执行C语言规定:在一个源程序中,main(de)位置( )A.可以任意B.必须在最后C.必须在最开始D.必须在系统调用(de)库函数后面一个C语言程序是由( )A.若干过程组成B.若干子程序组成C.函数组成D.一个主程序和若干子程序组成以下关于结构化程序设计(de)叙述中正确(de)是( )A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.在C语言中,程序(de)模块化是利用函数实现(de)C.由三种基本结构构成(de)程序只能解决小规模(de)问题D.结构化程序使用goto语句会很便捷以下叙述正确(de)是( )A.在C程序中,main函数必须位于程序(de)最前面B.在对一个C程序进行编译(de)过程中,可发现注释中(de)拼写错误C.C语言本身没有输入输出语句D.程序(de)每行中只能写一条语句以下叙述中错误(de)是( )A.C语言编写(de)每个函数都可以进行独立(de)编译并执行B.C语言编写(de)函数源程序,其文件名后缀可以是CC.一个C语言程序只能有一个主函数D.C语言编写(de)函数都可以作为一个独立(de)源程序文件以下叙述正确(de)是( )A.C程序(de)书写格式是固定(de),每行只能写一条语句B.C程序中注释部分可以单独占一行C.构成C程序(de)基本单位是函数,所有函数名都可以由用户命名D.在对C语言程序进行编译时,可以发现注释行中(de)拼写错误以下叙述正确(de)是( )A.C语言程序是由过程和函数组成(de)B.C语言函数不可以单独编译C.C语言中除了main函数,其他函数不可作为单独文件形式存在D.C语言函数可以嵌套调用,例如:fun(fun(x))一个C程序(de)执行是从( )A.本程序文件(de)第一个函数开始,到本程序main函数结束B.本程序文件(de)第一个函数开始,到本程序文件(de)最后一个函数结束C.本程序(de)main函数开始,到本程序文件(de)最后一个函数结束D.本程序(de)main函数开始,到main函数结束以下叙述不正确(de)是( )A.在C程序中,注释说明只能位于一条语句(de)后面B.C程序(de)基本组成单位是函数C.一个C源程序可由一个或多个函数组成D.一个C源程序必须包含一个main函数。
第三章1.为表示关系 x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){ int i;for(i=0; i<3; i++)switch(i){ case 1: printf("%d", i);case 2: printf("%d", i);default : printf("%d", i);}}履行后输出结果是3.对 for( 表达式 1; ; 表达式 3) 可理解为()。
A.for( 表达式1;1; 表达式3)B.for( 表达式 1;0; 表达式 3)C.for( 表达式 1; 表达式 1; 表达式 3)D.for( 表达式 1; 表达式 3; 表达式 3)4.若i 为整型变量,则以下循环履行次数是()。
for(i=2;i==0;) printf("%d",i--);A.0 次B.1 次C.无穷次次5.有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处 do-while 循环的结束条件是 ______。
A.p 的值等于 12345而且 n的值大于等于 3B.p 的值不等于 12345而且 n的值小于 3的值不等于 12345或许 n的值小于 3的值等于 12345或许 n的值大于等于 36.有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描绘中正确的选项是()。
循环中,依据状况能够省略whileB. 因为 do-while 循环中循环体语句只好是一条可履行语句 , 因此循环体内不可以使用复合语句C.do-while 循环由 do开始 , 用while 结束 , 在 while( 表达式 ) 后边不可以写分号D. 在 do-while 循环体中 , 必定要有能使 while 后边表达式的值变成零 (" 假 ") 的操作7. 履行语句for(i=1;i++<4;);后变量i的值是()。
c语言上机考试试题C语言上机考试试题在计算机科学领域中,C语言是一门重要的编程语言,广泛应用于软件开发、系统编程等方面。
作为计算机专业的学生,掌握C语言的基本知识和编程技巧是必不可少的。
为了检验学生对C语言的掌握程度,许多学校和培训机构会安排C语言上机考试。
下面,我们来看一些典型的C语言上机考试试题。
1. 编写一个程序,从键盘输入一个整数n,计算并输出1到n的累加和。
这道题考察了学生对循环结构的理解和运用。
学生需要使用循环语句(如for、while等)来实现累加的功能,并且注意输入的合法性。
2. 编写一个程序,从键盘输入一个字符串,统计并输出其中的字母、数字和其他字符的个数。
这道题考察了学生对字符串处理的能力。
学生需要使用字符数组和循环语句来逐个判断输入字符串中的字符,并根据字符的类型进行计数。
3. 编写一个程序,从键盘输入一个正整数n,判断并输出n是否为素数。
这道题考察了学生对素数判断的理解和实现。
学生需要使用循环语句和条件判断语句来判断n是否能被2到sqrt(n)之间的任意整数整除。
4. 编写一个程序,从键盘输入一个正整数n,计算并输出n的阶乘。
这道题考察了学生对递归的理解和应用。
学生可以使用递归函数来实现阶乘的计算,也可以使用循环语句来实现。
5. 编写一个程序,从键盘输入一个字符串,将其中的大写字母转换为小写字母,并输出转换后的字符串。
这道题考察了学生对字符处理的能力。
学生需要使用字符数组和循环语句来逐个判断输入字符串中的字符,并根据字符的ASCII码进行转换。
6. 编写一个程序,从键盘输入一个字符串,判断并输出该字符串是否为回文字符串。
这道题考察了学生对字符串处理和回文判断的能力。
学生需要使用字符数组和循环语句来逐个比较输入字符串中的字符,并判断是否为回文字符串。
通过上述的典型试题,我们可以看到C语言上机考试主要考察学生对基本语法、流程控制、数组和字符串处理等方面的掌握程度。
在解答这些试题时,学生需要注重代码的逻辑性、清晰性和效率性,避免出现死循环、数组越界等常见错误。
第一套给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号、姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
答案: 一、1、STYPE 2、FILE 3、fp二、1、把for(i=0;i<s1;i++)改成for(i=0;i<sl;i++)注意:就是s 后的原来是数字1,应该改成字母l2、把t[sl]=‟\0‟改成t[2*sl]=‟\0‟第二套给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用—1(独立一行)作为字符串输入结束的标志。
然后将文件的内容读出显示在屏幕上。
文件的读写分别由自定义函数ReadText和WriteText实现。
答案:一、1、*fw 2、str 3、str二、1、把void fun(long s,long t)改为void fun(long s,long* t)2、把sl=sl*100改为sl=sl*10第三套给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。
答案:一、1、fp 2、fclose(fp)3、fname二、1、把for(i=j+1;i<n-1;i++)改成for(i=j+1;i<n;i++)2、把t=i;改成p=i;第四套给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。
在复制的过程中,把复制的内容输出到终端屏幕。
主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
答案:一、1、”r”2、fs 3、ft二、1、把if (d%2=0)改为if(d%2==0)2、把s\=10改为s/=10第五套给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。
大一c语言上机考试题及答案下载大一C语言上机考试题及答案下载一、选择题(每题2分,共10分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. returnC. voidD. function答案:A2. 下列哪个选项是正确的C语言变量声明?A. int a = 10, b = 20;B. int a = 10; b = 20;C. int a = 10; int b = 20;D. int a = 10, b = 20;答案:C3. C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. <=答案:A4. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str = "Hello";D. char str[] = {"Hello"};答案:A5. 下列哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A二、填空题(每题2分,共10分)1. C语言中,定义一个整型变量的关键字是________。
答案:int2. 在C语言中,使用________运算符可以连接字符串。
答案:+3. C语言中,________关键字用于定义一个结构体。
答案:struct4. C语言中,________函数用于输入字符串。
答案:gets5. C语言中,________函数用于输出字符串。
答案:puts三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串反转的功能。
第一部分-分支、循环部分1、某一次考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。
#include<stdio.h>#include<conio.h>struct student{char name[10];int score;};main(){int i;int ave,max,min,total=0;struct student stu[10];for(i=0;i<10;i++){scanf("%s %d",&stu[i].name,&stu[i].score);total=total+stu[i].score;}ave=total/10;for(i=0;i<9;i++){if(stu[i].score<stu[i+1].score){max=stu[i+1].score;min=stu[i].score;}else{min=stu[i+1].score;max=stu[i].score;}}printf("%d %d %d ",min,max,ave);getch();}2、从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位。
例如输入355和113,输出3.14159.#include<stdio.h>#include<conio.h>{float a,b;float c;scanf("%d%d",&a,&b);c=a/b;printf("%.5f",c);getch();}3、用while循环结构编写程序打印ASCII码为33-127的字符#include<stdio.h>#include<conio.h>main(){int i=33;while(i<=127){printf("%d->%c\n",i,i);i++;}getch();}4、用do-while,for循环结构编写程序打印ASCII码为33-127的字符#include<stdio.h>#include<conio.h>main(){int i=33;do{printf("%d->%c\n",i,i);i++;}while(i<=127);for(i=33;i<=127;i++){printf("%d->%c\n",i,i);}getch();}5、用for循环结构编写程序打印ASCII码为33-127字符6、在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构#include<stdio.h>#include<conio.h>{int i;for(i=0;i<=500;i++){if(i%3==2&&i%5==3&&i%7==4) printf("%d ",i);}getch();}7、输入一个整数将其倒着输出,如54321——12345#include<stdio.h>#include<conio.h>main(){int a,i,n;scanf("%d",&a);while(a%10!=0){n=a%10;printf("%d",n);a=a/10;}getch();}8、计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4#include<stdio.h>#include<conio.h>main(){int n,a=0,i;scanf("%d",&n);for(i=0;i<=n;i++){a=a+i*i;}printf("%d",a);getch();}9、从键盘输入一整数n,计算1*1+2*2+...+n*n的值#include<stdio.h>#include<conio.h>main(){int n,a=0,i;scanf("%d",&n);for(i=0;i<=n;i++){a=a+i*i;}printf("%d",a); getch();}10、用 while 循环计算1+2+……+100的和11、用 do while循环计算1+2+……+100的和#include<stdio.h>#include<conio.h>main(){int i,s=0;for(i=1;i<=100;i++){s=s+i;}printf("%d",s); s=0;i=1;while(i<=100){s=s+i;i++;}printf("%d",s); s=0;i=1;do{s=s+i;i++;}while(i<=100);printf("%d",s); getch();}12、用 for 循环计算1+2+……+100的和13、输入一个小于等于10的整数n ,计算n!#include<stdio.h>#include<conio.h>main(){int n,i;long s=1;scanf("%d",&n);for(i=1;i<=n;i++){s=s*i;}printf("%d",s);getch();}14、输入两个正整数m和n,计算m!+n!,m和n的值均小于10。
C语言上机题库百科园南信大Company number【1089WT-1898YT-1W8CB-9UUT-92108】第一章以下叙述中错误的是( )A.一个C语言程序只能有一个主函数B.C语言编写的每个函数都可以进行独立的编译并执行C.C语言编写的函数都可以作为一个独立的源程序文件D.C语言编写的函数源程序,其文件名后缀可以是C计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.以上说法都不对D.C语言程序既可以编译执行又可以解释执行C语言规定:在一个源程序中,main的位置( )A.可以任意B.必须在最后C.必须在最开始D.必须在系统调用的库函数后面一个C语言程序是由( )A.若干过程组成B.若干子程序组成C.函数组成D.一个主程序和若干子程序组成以下关于结构化程序设计的叙述中正确的是( )A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.在C语言中,程序的模块化是利用函数实现的C.由三种基本结构构成的程序只能解决小规模的问题D.结构化程序使用goto语句会很便捷以下叙述正确的是( )A.在C程序中,main函数必须位于程序的最前面B.在对一个C程序进行编译的过程中,可发现注释中的拼写错误C.C语言本身没有输入输出语句D.程序的每行中只能写一条语句以下叙述中错误的是( )A.C语言编写的每个函数都可以进行独立的编译并执行B.C语言编写的函数源程序,其文件名后缀可以是CC.一个C语言程序只能有一个主函数D.C语言编写的函数都可以作为一个独立的源程序文件以下叙述正确的是( )A.C程序的书写格式是固定的,每行只能写一条语句B.C程序中注释部分可以单独占一行C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.在对C语言程序进行编译时,可以发现注释行中的拼写错误以下叙述正确的是( )A.C语言程序是由过程和函数组成的B.C语言函数不可以单独编译C.C语言中除了main函数,其他函数不可作为单独文件形式存在D.C语言函数可以嵌套调用,例如:fun(fun(x))一个C程序的执行是从( )A.本程序文件的第一个函数开始,到本程序main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的main函数开始,到main函数结束以下叙述不正确的是( )A.在C程序中,注释说明只能位于一条语句的后面B.C程序的基本组成单位是函数C.一个C源程序可由一个或多个函数组成D.一个C源程序必须包含一个main函数。
信息科学与工程学院C语言上机150道题参考答案001.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。
#include<stdio.h>#include<conio.h>main(){float a[10],ave,max,min,sum=0;int i;printf("请输入10个考生的成绩:\n");for(i=0;i<10;i++)scanf("%f",&a[i]);for(i=0;i<10;i++)sum+=a[i];ave=sum/10;max=a[0];for(i=1;i<10;i++)if(a[i]>max)max=a[i];min=a[0];for(i=1;i<10;i++)if(a[i]<min)max=a[i];printf("平均成绩:%f,最高分:%f,最低分:%f",ave,max,min);getch();}003.用while循环结构编写程序打印ASCII码为33-127的字符。
#include<stdio.h>#include<conio.h>main(){int i=33;while(i<=127){printf("%c ",i);i++;}getch();}004用do-while,for循环结构编写程序打印ASCII码为33-127的字符。
#include<stdio.h>#include<conio.h>main(){int i=33;doi++;}while(i<=127);getch();}006.在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。
#include<stdio.h>#include<conio.h>main(){int i;for(i=1;i<=500;i++){if(i%3==2&&i%5==3&&i%7==5)printf("%d\n",i);}getch();}007.输入一个整数将其倒着输出,如54321——12345。
(方法一)#include<stdio.h>#include<conio.h>#include<string.h>main(){char a[100];int len,i;printf("请输入一个整数:\n");scanf("%s",a);len=strlen(a);for(i=len-1;i>=0;i--)printf("%c",a[i]);getch();}007(方法二)#include<stdio.h>#include<conio.h>main(){int num,t;printf("请输入一个整数:\n");scanf("%d",&num);while(num>0){t=num%10;num=num/10;printf("%d",t);}008.计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4。
#include<stdio.h>#include<conio.h>main(){int n;float t=1,s=0;for(n=1;t>0.0001;n+=2){t=(float)1/n;s=s+t;}printf("s=%f",s);getch();}009.从键盘输入一整数n,计算1*1+2*2+...+n*n的值。
#include<stdio.h>#include<conio.h>main(){int n,i,s=0;printf("请输入一个整数:\n");scanf("%d",&n);for(i=1;i<=n;i++)s=s+i*i;printf("%d",s);getch();}010.用while 循环计算1+2+……+100的和。
#include<stdio.h>#include<conio.h>main(){int s=0,i=1;while(i<=100){s=s+i;i++;}printf("%d",s);getch();}11. 用do while循环计算1+2+……+100的和#include<stdio.h>main()i=1; result=0;while(i<=100){result=i+result;i++;}printf("1+2+...+100=%d",result);while(1);}12.用for 循环计算1+2+……+100的和。
#include<stdio.h>main(){int i,result;for(i=1,result=0;i<=100;i++){result=i+result;}printf("1+2+...+100=%d",result);while(1);}13.输入一个小于等于10的整数n ,计算n!。
#include<stdio.h>long fac(int n){long result;if(n==0||n==1) {result=1;}else {result=n*fac(n-1);}return result;}main(){int n; long result;printf("请输入一个小于等于10的整数\n");scanf("%d",&n);if(n>=0&&n<=10){result=fac(n);printf("%d!=%ld",n,result);}else printf("输入数据错误");while(1);}14.输入两个正整数m和n,计算m!+n!,m和n的值均小于10。
#include<stdio.h>long fac(int n)if(n==0||n==1) {result=1;}else {result=n*fac(n-1);}return result;}main(){int n,m; long result;printf("请输入两个小于等于10的整数\n");scanf("%d%d",&n,&m);if(n>=0&&n<=10&&m>=0&&n<=10){result=fac(n)+fac(m);printf("%d!+%d!=%ld",n,m,result);}else printf("输入数据错误");while(1);}15.用循环语句,计算1~100之间的所有3的倍数之和。
#include<stdio.h>main(){int i,result;for(i=1,result=0;i<=100;i++){if(i%3==0)result=result+i;}printf("1~100之间的所有3的倍数之和为%d",result);while(1);}16.用循环语句,计算100-200之间的所有7的倍数之和。
#include<stdio.h>main(){int i,result;for(i=100,result=0;i<=200;i++){if(i%7==0)result=result+i;}printf("100-200之间的所有7的倍数之和为%d",result);while(1);}17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。
main(){int i,num;for(i=1,num=0;i<=100;i++){if(i%7==0||i%10==7)num++;}printf("1-100之间,7的整数倍数或数字尾数为7的数字个数为%d",num);while(1);}18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
#include <stdio.h>int main(){int i=0, space=0, num=0, n=0, ch=0;char s[1000000];printf("请输入一串字符");gets(s);while(s[i] != '\0'){if(s[i]==' ')space++;else if(s[i]<='9' && s[i]>='0')num++;else if(s[i]<='z' && s[i]>='a' || s[i]<='Z' && s[i]>='A')ch++;elsen++;i++;}printf("刚才输入的字符中英文字符个数为%d\n", ch);printf("刚才输入的字符中空格个数为%d\n", space);printf("刚才输入的字符中数字个数为%d\n", num);printf("刚才输入的字符中其他个数为%d\n", n);while(1);}19.输入一个整数,统计它有几位数。
如输入367,则该数有3位数。
#include<stdio.h>main(){int n,i,j;i=1;j=0;printf("请输入一个整数\n");scanf("%d",&n);while(n>=i){i=10*i;j=j+1;}printf("这个数是%d位数",j);}while(1);}20.编写程序,输出1到50中间所有能被3整除的正整数。