《C语言典型例题集》

合集下载

C语言经典例题及答案

C语言经典例题及答案

一、求一个任意边长的矩形面积。

#include <stdio.h>void main(){int w,h,sum;scanf("%d%d",&w,&h);sum=w*h;printf("area=%d\n",sum);}二、求一个任意半径的圆的面积及周长。

#define PI 3.14159#include <stdio.h>void main(){float r,area,c;scanf("%f",&r);area=PI*r*r;c=2*PI*r;printf("area=%f\ncircle=%f\n",area,c);}三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。

##include <stdio.h>void main(){ int w,y,z,r;w=5;y=4;z=2;r=w*y/z;printf("%5d",r);}一、从键盘上输入三个数,求出其中的最大值,并输出。

#include <stdio.h>void main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf("max=%d\n",max);}二、求sin300。

+sin600+cos300+cos600之和。

(注意:30*3.14159/180)#include <stdio.h>#define PI 3.14159#include <math.h>void main(){float a,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf("total=%f\n",sum);}三、比较两个数的大小。

c语言经典题目100题

c语言经典题目100题

1.寻找数组中的最大值和最小值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.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。

C语言习题集(含答案).

C语言习题集(含答案).

一、单选题:(1) 在C语言提供的合法的关键字是()A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)'\084' B) '\x43'C)'ab' D) "\0"(3)若有定义和语句:char s[10]: s="abcd"; printf("%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p, a=10, b=20;pp=&p; p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10, 20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010, v=0x10,w=10;printf("%d,%d,%d\n", u, v, w);则输出结果是( )A) 8,16,10B) 10,10,10 C)8, 8,10 D) 8,10,10(6) 若有以下定义和语句char c1=' b', c2='e';printf("%d,%c\n", c2-c1,c2-'a'+"A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7) 若有以下定义:char s[20]="programming",*ps=s;则不能代表字符o的表达式是( )A) ps+2 B) s[2] C) ps[2] D) ps+=2,*ps(8) 若i, j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )for (i=5; i; i--)for(j=0; j<4; j++) {...}A) 20B) 25 C) 24 D) 30(9)若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是( )A) 4B) 5 C) 9 D) 10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是( )A) *p B) a[10]C)*a D) a[p-a](11)下面程序的输出是( )main( ){ char *s="121";int k=0, a=0, b=0;do{k++;if(k%2==0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0'; a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);A) k=3 a=2 b=3 B) k=3 a=3 b=2C) k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main( ){ unsigned a=32768;printf("a=%d\n", a);} 运行结果:-32768A)a=-32768 B)a=32767C)a=-32767 D)a=-1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){ case1.0: printf("*\n"); { case1, 2: printf("*\n");case2.0: printf("**\n"); case3: printf("**\n");} }C) switch (a+b)D) switch (a+b);{ case 1: printf("\n"); { case 1: printf("*\n");case 1+2: printf("**\n"); case 2: printf("**\n");} }(14) 以下程序输出的结果是( )main( ){ char w[ ][10]={"ABCD","EFGH","IJKL","MNOP"}, k;for (k=1;k<3;k++)printf("%s\n",&w[k][k]);}A) ABCD B) ABCDFGH EFGKL IJMC) EFG D) FGHJK KLO(15)若数组名作实参而指针变量作形参,函数调用实参传给形参的是( )A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址(16) 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b(17) C语言中运算对象必须是整型的运算符是( )A) %=B) / C) = D) 〈=(18) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( )A) 1 B) 2 C) 2.0 D) 2.5(19) 若变量a、i已正确定义,且i已正确赋值,合法的语句是( )A) a==1 B) ++i; C) a=a++=5; D) a=int(i);(20) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是( )A) 0 B) 0.5 C) 1 D) 2(21) 有如下程序main( ){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是( )A) 3 4 B) 4 2 C) 4 3 D) 3 3(22) 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( )A) a>=10 or a<=0 B) a>=0|a<=10C) a>=10 &&a<=0 D) a>=10 || a<=0main( ){ int x=1, a=0, b=0;switch(x){ case 0: b++;case 1: a++;case 2: a++; b++; }printf(“a=%d,b=%d\n”,a,b); }该程序的输出结果是( )A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(24) 有如下程序main( ){ float x=2.0, y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y); }该程序的输出结果是( )A) 0.000000 B) 0.250000 C) 0.500000D) 1.000000(26) 有如下程序main( ){ int i, sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是( )A) 6 B) 3 C) 死循环D) 0main ( ){ int x=23;do{ printf(“%d”,x--);} while(!x); }该程序的执行结果是( )A) 321 B) 23C) 不输出任何内容D) 陷入死循环(28) 有如下程序main( ){ int n=9;while(n>6) {n--; printf(“%d”,n); } }该程序段的输出结果是( )A) 987 B) 876C) 8765 D) 9876(29) 设有说明语句:char a=’\72’;则变量a( )A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法(30) 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是( )A) 3 B) 4 C) 5 D) 有语法错(31) 有如下程序int func(int a,int b){ return(a+b); }main( ){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r); }该程序的输出的结果是( )A) 12 B) 13 C) 14 D) 15int *p, a=10,b=1;p=&a; a=*p+b;执行该程序段后,a的值为( )A) 12 B) 11 C) 10 D) 编译出错(33) 对于基类型相同的两个指针变量之间,不能进行的运算是( )A) < B) = C) + D) -(34) 有如下程序long fib(int n){ if (n>2) return(fib(n-1)+fib(n-2));else return(2);}main( ){ printf(“%d\n”, fib(3)); }该程序的输出结果是( )A) 2 B) 4 C) 6 D) 8(35) 在C语言中,函数的隐含存储类别是( )A) auto B) static C) extern D) 无存储类别(36) 有如下程序#define N 2#define M N+1#define NUM 2*M+1main( ){ int i;for(i=1;i<=NUM;i++) printf(“%d\n”,i);}该程序中的for循环执行的次数是( )A) 5 B) 6C) 7 D) 8char fun(char *p){ return p; }该函数的返回值是( )A) 无确切的值B) 形参p中存放的地址值B) 一个临时存储单元的地址D) 形参p自身的地址值(38) 有如下程序段int a=14,b=15,x;char c=’A’;x=(a&&b)&&(c<’B’);执行该程序段后,x的值为( )A) true B) false C) 0 D) 1(39) 有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;则数值为9的表达式是( )A) *p+9 B) *(p+8) C) *p+=9 D) p+8(40) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是( )A) &t[3][2] B) t[3] C) t[1] D) t[2](41) 有如下程序main( ){ char ch[2][5]={“6937”,”8254”}, *p[2];int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’; j+=2)s=10*s+p[i][j]-‘0’;printf(“%d\n”,s); }该程序的输出结果是( )A) 69825 B) 63825 C) 6385 D) 693825(42)若有以下的定义:int a[ ]={1,2,3,4,5,6,7,88,9,10}, *p=a;则值为3的表式是( )A) p+=2, *(p++) B) p+=2,*++pC) p+=3, *p++ D) p+=2,++*p(43)假定所有变量均已正确说明,下列程序段运行后x的值是( )a=b=c=0; x=35;if (!a) x--;else if(b) ; if(c) x=3; else x=4;A)34 B)4 C)35 D)3(44)在以下一组运算符中,优先级最高的运算符是( )A)<= B)= C)%D)&&(45)若有以下定义和语句:int w[2][3], (*pw)[3]; pw=w;则对w数组元素非法引用是( )A)*(w[0]+2) =*w[0][2]B)*(pw+1)[2]C)pw[0][0] =*w[0][0]D)*(pw[1]+2) =*w[1][2](46)若有以下程序片段:char str[ ]="ab\n\012\\\"";printf("%d\n", strlen(str));上面程序片段的输出结果是( )A)3 B)4 C)6D)12(47)函数调用strcat(strcpy(str1,str2),str3)的功能是( )A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中(48)以下对C语言函数的有关描述中,正确的是( )A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用解释:C函数可以递归调用,但不允许嵌套定义C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件中(49) 以下叙述中不正确的是( )A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值.B) 在C中,调用函数时,实在参数和对应形参在类型上只需赋值兼容.C) 在C中, 外部变量的隐含类别是自动存储类别.D)在C中, 函数形参可以说明为register变量.(50) 以下程序的输出结果是( )#define sub1(char a, char b) {char c; c=a;a=b;b=c;}#define sub2(char *a, char b) {char c; c=*a;*a=b;b=c;}#define sub3(char *a, char *b) {char c; c=*a;*a=*b;*b=c;}main( ){ char a,b;a='A';b='B';sub3(&a,&b);putchar(a); putchar(b);a='A';b='B';sub2(&a,b);putchar(a); putchar(b);a='A';b='B';sub1(a,b);putchar(a);putchar(b);}A) BABBAB B) ABBBBAC) BABABA D) BAABBA(51)错误的转义字符是( )A) '\091'B) '\\' C) '\0' D) '\''(52)设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a, b 和c的值分别是( )A) 2, 1, 2 B) 2, 0, 3 C) 2, 2, 3 D) 2, 1, 3(53) 在C语言中,错误的常数是( )A) 1E+0.0B) 5 C) 0xaf D) 0L( 54) 设int k; 则语句for(k=0; k=1; k++);和语句for(k=0; k==1;k++);执行的次数分别是( )A) 无限和0B) 0和无限C) 都是无限D) 都是0(55)某文件中定义的静态全局变量(或称静态外部变量)其作用域是( )A) 只限某个函数B) 本文件C) 跨文件D)不限制作用域二、程序填空题:(10) 函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)现在请你在下面的函数中填空,完成求π的功能。

c语言编程题经典100例

c语言编程题经典100例

c语言编程题经典100例在计算机编程中,C语言是一种非常流行和常用的编程语言。

掌握C语言的编程技巧对于计算机科学和软件开发的学习者来说至关重要。

本文将介绍C语言编程中的100个经典例题,帮助读者提高他们的编程技巧和解决问题的能力。

1. 计算并输出1到100之间所有偶数的和。

```c#include<stdio.h>int main() {int sum = 0;for(int i = 0; i <= 100; i+=2) {sum += i;}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```2. 输入一个整数,判断是否是质数。

```c#include<stdio.h>#include<stdbool.h>bool is_prime(int num) {if(num <= 1) {return false;}for(int i = 2; i <= num / 2; ++i) { if(num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if(is_prime(num)) {printf("%d是质数\n", num);printf("%d不是质数\n", num);}return 0;}```3. 编写一个函数,接受3个整数参数,返回其中最大的一个数。

```c#include<stdio.h>int max_of_three(int a, int b, int c) {int max = a;if(b > max) {max = b;}if(c > max) {max = c;}return max;}int a, b, c;printf("请输入三个整数: ");scanf("%d%d%d", &a, &b, &c);int max = max_of_three(a, b, c);printf("最大的数是: %d\n", max); return 0;}```4. 使用递归函数计算斐波那契数列。

c语言经典编程试题12例(带答案)

c语言经典编程试题12例(带答案)
{
int i,num=0;
float a[10],sum=0.0;
printf("请输入10个数\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
for(i=0;i<10;i++)
if(i>=0)
{
num++;
sum+=a[i];
}
printf("10个数中非负数的个数为:%d\n",num);
void main()
{
char a[50];
char *p,*q;
printf("请输入一个字符串:");
gets(a);
for(p=a;*p!=0;)
if(*p=='a')
{
q=p;
while(*p)
{
*p=*(p+1);
p++;
}
p=q;
}
else
p++;
printf("%s\n",a);
}
12、一个皮球从100米的高度自由落下,每次落地后反弹回原来高度的一半,再落下,在反弹。求当它第10次落地时,共经过了多少米,第十次反弹多高?
printf("100之内偶数的和位: %d\n",sum);
}
7、求1*2*3+3*4*5+…99*100*101的值。
解题思路:
定义一个变量从1到101,再有标志变量j确定乘够3个数之后便重新开始下一次乘积。跳出循环后加上最后一次乘积。

c语言题库(60道题)

c语言题库(60道题)

第一题:编写一个售货机(POS)计算程序,用于水果店售货员算账。

苹果每千克 3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。

某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。

要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。

#include<stdio.h>main(){float apple=1.5,pear=2.0,banana=3.0,cherry=1.5;float cost,pay=100.0,retern;cost=3.2*apple+1.96*pear+3.0*banana+24.0*cherry;retern=pay-cost;printf("LIST\t重量:\t价钱:\n");printf("apple\t1.5\t%.2f\n",3.2*apple);printf("pear\t2.0\t%.2f\n",1.96*pear);printf("banana\t3.0\t%.2f\n",3.0*banana);printf("cherry\t1.5\t%.2f\n",24.0*cherry);printf("pay=%.2fRMB\ncost=%.2fRMB\nretern=%.2fRMB\n",pay,cost,retern);}第二题:编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。

#include<stdio.h>main(){int a[]={12,1648,500,-322,41,-15,126,-45,0,45,-356},i=0,m=0,n=0;for(i=0;a[i]!=0;i++){if(a[i]<0)m++;else if(a[i]>0)n++;}printf("%d\n%d\n",m,n);}第三题:统计100-500之间各个数字之和为9的三位数,输出这些三位数。

C语言习题集

C语言习题集
2. 提高题:试编写一个C程序,输出如下信息. 试试看,可以输出其他组合图案吗 习题二 一.选择题 1,合法的字符常量是 . A) '\t' B) "A" C) 'a' D)'\x32' 2, 合法的字符常量是 . A) '\084' B) '\84' C) 'ab' D)'\x43' 3,是C,y=4.7, 则x+a%3*(int)(x+y)%2/4为 . 7.设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为 . 8.数学式子 的C语言表达式为 . 9.数学式子 的C语言表达式为 . 10.已知:char a='a',b='b',c='c',i;则表达式i=a+b+c的值为 . 11.已知int a=12,n=5;则:表达式运算后a的值各为 . a+=a a-=2 a*=2+3 a/=a+a n%=(n%=2) a+=a-=a*=a 12.设int a; float f; double i ;则表达式10+'a'+i*f值的数据类型 是. 13.若a为int型变量,则表达式 (a=4*5,a*2) , a+6的值为 . 14.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为 . 15.已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是 . 16.定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是 ,表达式 y+=x++的值是 . 17.定义:int m=5, n=3;则表达式m/=n+4的值是 ,表达式m=(m=1,n=2,nm)的值是 ,表达式m+=m-=(m=1)*(n=2)的值是 . 18.表达式5%(-3)的值是 ,表达式-5%(-3)的值是 . 19.若a是int变量,则执行表达式a=25/3%3后,a的值是 . 20.数学式子 的C语言表达式为: . 三.判断题 1.在C程序中对用到的所有数据都必须指定其数据类型.【 】 2.一个变量在内存中占据一定的存储单元.【 】 3.一个实型变量的值肯定是精确的.【 】 4.对几个变量在定义时赋初值可以写成:int a=b=c=3;【 】 5.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表 达式.【 】 6.在C程序的表达式中,为了明确表达式的运算次序,常使用括号"()".【 】 7.%运算符要求运算数必须是整数.【 】 8.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型 数.【 】

c语言经典例题

c语言经典例题

c语言经典例题C语言是一种通用的、面向过程的计算机编程语言,广泛应用于系统软件、应用软件、嵌入式软件等领域。

学习C语言的过程中,解决经典的例题是提高编程能力和深入理解语法规则的有效途径。

下面将介绍几个C语言的经典例题,通过解析这些例题,读者可以更好地掌握和运用C语言。

例题一:整数求和【题目描述】输入两个整数,计算它们的和并输出。

【示例】输入:53输出:8【思路分析】定义两个整型变量a和b,通过scanf函数从输入流中读取两个整数,并使用加法运算符将它们相加,最后使用printf函数输出计算结果。

【代码实现】```c#include <stdio.h>int main() {int a, b;scanf("%d", &a);scanf("%d", &b);int sum = a + b;printf("%d\n", sum);return 0;}```【题目解析】这个例题主要考察了C语言的基本输入输出操作以及算术运算符的应用。

通过读取用户输入的两个整数并将其相加,最后输出结果。

需要注意的是,整数求和的过程中不需要考虑溢出问题。

例题二:判断奇偶【题目描述】输入一个正整数,判断它是奇数还是偶数,并输出相应的提示信息。

【示例】输入:6输出:6是偶数【思路分析】定义一个整型变量num,通过scanf函数从输入流中读取用户输入的正整数。

然后,使用取余运算符判断num是否能被2整除。

如果余数为0,则num是偶数;否则,num是奇数。

最后,使用printf函数输出判断结果。

【代码实现】```c#include <stdio.h>int main() {int num;scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数\n", num);} else {printf("%d是奇数\n", num);}return 0;}```【题目解析】这个例题主要考察了C语言中的条件判断语句和取余运算符的应用。

100个经典c语言例题(带答案)

100个经典c语言例题(带答案)

100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

C语言练习题集(带答案解析)

C语言练习题集(带答案解析)
}
运行结果为:5
4.
#i nclude <stdio.h>
main ()
{ float a,b,c,t;
a=3;
b=7;
c=1;
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
prin tf("%5.2f,%5.2f,%5.2f",a,b,c); }
述是B .
A)相同B)x大于y C)x小于y D)
44.下面各函数中能实现打开文件功能的是—A_
A) fope nB) fgetcC) fputcD) fclose
45.下列语句中,把变量fp说明为一个文件型指针的是(A)。
A) FILE *fp; B) FILE fp;
C) file *fp; D) file fp;
10
D.int a[2,3]={1,2,3,4,5,6};
C
24.已知int a[3][4];则对数组元素引用正确的是
A)a[2][4]B)a[1,3] C)a[2][0]
25.C语言中函数返回值的类型是由
A)函数定义时指定的类型
D)a(2)(1)
A_决定的.
语句中的表达式类型
形参的数据类型
B) return
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
4.下列关于C语言的说法错误的是(B)。
A)C程序的工作过程是编辑、编译、连接、运行
B)C语言不区分大小写。
C)C程序的三种基本结构是顺序、选择、循环

C语言经典练习题50道(附答案)

C语言经典练习题50道(附答案)

1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。

#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。

#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。

#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。

#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。

#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。

c语言编程题经典100例

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. 输入一个表达式,求它的值。

c每题都有程序_适合中职技能高考

c每题都有程序_适合中职技能高考

C语言经典案例53题(每题都有程序,适合中职技能高考)1、求100之内自然数中最大的能被17整除的数。

#include<stdio.h>void main(){ int i;for(i=100;i>0;i--)if(i%17==0)break;printf("%d\n",i);}2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。

#include<stdio.h>void main(){int a,b,c;for(a=1;a<=9;a++){for(b=0;b<=9;b++){for(c=1;c<=9;c++)if(a*100+b*10+c+c*100+b*10+a==1333)printf("%d,%d,%d\n",a,b,c);}}}3、计算并输出200-400之间不能被3整除的整数的和。

#include<stdio.h>void main(){ int i,sum=0;for(i=200;i<=400;i++)if(i%3!=0)sum=sum+i;printf("%d\n",sum);}4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。

#include<stdio.h>void main(){ int i,n=0,sum=0;int a[10];printf(“请输入10个数:”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)if(a[i]>=0){ sum=sum+a[i];n++;}printf("非负个数是%d,sum=%d\n",n,sum);}5、求100之内自然数中偶数之和。

#include<stdio.h>void main(){ int i,sum=0;for(i=0;i<=100;i++)if(i%2==0)sum=sum+i;printf("sum=%d\n",sum);}6、输入5个数,求和并输出。

C语言典型例题

C语言典型例题

2010 C语言典型例题.doc1 选择结构 (1)2 循环结构 (2)3 数组 (4)4 函数 (5)5 指针 (6)1 选择结构1有一函数y=x (x<1)y= 2x-1 (1<=x<10)y=3x-11 (x>=10)用scanf函输入x的值,求y值。

#include <stdio.h>main( ){float x, y;printf("please enter x");scanf("%f", &x);if (x<1) y=x ;else if (x>=1 && x<10) y=2*x-1;else y=3*x-11;printf("x=%.2f y=%.2f\n",x,y);}2 输入一个学生成绩,当成绩≥90时,显示“Very Good”;当80≤成绩<90时,显示“Good”;当60≤成绩<80时,显示“Pass”;当成绩<60时,显示“Fail”。

#include <stdio.h>main( ){ float score;printf(“input score”);scanf("%f",&score);if (score>=90) printf("Very Good\n"); else if (score>=80) printf("Good\n");else if(score>=60) printf("Pass\n");else printf("Fail \n"); }2 循环结构1 求阶乘n!#include <stdio.h>main( ){int i, n;double t=1;printf("input n?");scanf("%d", &n);for (i=2; i<=n; i++) t=t*i;printf("%d!=%.0f\n", n , t);}2求1—10之间自然数阶乘之和#include <stdio.h>main( ){int i;double t , sum;sum=0; t=1;for (i=1; i<=10; i++){t=t*i;sum=sum+t; }printf("sum=%.0f\n" ,sum);}3判断m是否素数#include <stdio.h>#include <math.h>main( ){int m, i, k;printf("请输入一个正整数");scanf("%d",&m);k=sqrt(m);for (i=2; i<=k; i++)if (m%i==0) break;if (i>k) printf("%d 是素数\n",m);else printf("%d 不是素数\n",m); }4求100—200之间素数, 每行显示10个素数。

C语言经典例题100条

C语言经典例题100条

C语言经典例题100条
C语言是一种常用的高级编程语言,应用广泛且历史悠久。

为了帮
助初学者熟悉和掌握C语言的语法和基本编程思想,许多经典的例题
被设计出来用于练习和学习。

本文将为您介绍C语言经典例题100条,这些例题涵盖了C语言的各个方面,有助于提高您的编程能力和理解
能力。

1. 判断一个数是奇数还是偶数。

2. 计算一个数的阶乘。

3. 判断一个数是否为素数。

4. 判断一个字符串是否为回文。

5. 计算两个数的最大公约数。

6. 计算两个数的最小公倍数。

7. 将一个字符串反转。

8. 计算一个数的平方根。

9. 判断一个字符串是否为有效的括号匹配。

10. 实现插入排序算法。

...(此处省略91个题目)...
这些例题涵盖了C语言中常见的编程技巧和算法思想。

通过自己动
手实践这些例题,您可以更好地理解和掌握C语言的各种用法和语法
规则。

在解决问题的过程中,您还可以培养分析和思考的能力,提高
编程的效率和质量。

通过对这些经典例题的学习和练习,您将逐渐熟悉C语言的各种语
法和特性,并且能够独立编写出简单到中等难度的C语言程序。

同时,您还可以通过参考其他人的解题思路和代码,拓宽自己的思路和编程
技巧。

总结起来,通过解答C语言经典例题,您可以提高自己的编程能力,加深对C语言的理解,培养解决问题的能力,同时还可以学习和借鉴
他人的思路和代码。

希望本文提供的C语言经典例题能够对您的学习
和实践有所帮助,祝您取得进步!。

c语言经典一百题

c语言经典一百题

c语言经典一百题
以下是一些经典的 C 语言题目,这些题目可以帮助你提高编程技能和加深对 C 语言的理解。

1. 输出 "Hello, World!"
2. 求出 1 到 100 的所有素数
3. 求出斐波那契数列的第 n 项
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. 求出数组中所有数字的绝对值之和。

C语言编程题_经典40题(附解答)

C语言编程题_经典40题(附解答)

9、编写函数,将两个递增有序的表,合并成一 个递增有序的表。
#define N 50
#define SeqList struct seqlist
SeqList
{ int data[N];
int length;
};
合并函数如下: SeqList *mergelist(a,b) SeqList a,b; { SeqList c; int i=0, j=0, k=0; while((i<a.length)&&(j <b.length)) if(a.data[i])<=b.data[j]) c.data[k++]= a.data[i++]); else c.data[k++]= b.data[j++]); while(i<a.length) c.data[k++]= a.data[i++]); while (j <b.length) c.data[k++]= b.data[j++]); c.length=k; return c; }
(6)一旦出现a[i]小于x,则将x插入到i+1位置。
(7)输出插入后的有序序列。
(3)完整的程序如下 #include ―stdio.h‖ #define N 10 main( ) { int i , j, x, n, a[N]; /*数字a的最大容量为N*/ printf(―请输入数组的实际元素个数n:\n‖); scanf(―%d‖, &n ); /*要求实际元素个数n小于N */ printf(―请输入%d个整数:\n‖, n ); for( i=0; i<n; i++) scanf(―%d‖, &a[i]); selectsort(a , n) ; /*排序*/ output ( a, n);/*输出插入前的序列*/ scanf(―%d‖, &x ); /*读入要插入的元素x */ i=n-1; /*从表尾往表头方向搜索插入位置*/ while (( i >=0) && ( x <a[i])) {a[i+1]=a[i]; i--;} /*元素后移*/ a[i+1]=x; /*插入元素x*/ output( a, n);/*输出插入后的序列*/ }

c语言经典例题100道

c语言经典例题100道

c语言经典例题100道经典,源程序100例题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) ,*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);} }==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润,高于10万元的部分,可高于10万元,低于20万元时,低于10万元的部分按10%提成可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数,1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;1else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); }============================================================== 【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少,1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档