C语言 编程试题及答案
更新时间:2024-01-30 09:32:01 阅读量: 教育文库 文档下载
- c语言推荐度:
- 相关推荐
1编程:要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。
#include
printf(\scanf(\printf(\scanf(\if(a*a+b*b>100) {
c=(a*a+b*b)/100; printf(\} else
printf(\}
2编程:根据以下函数关系:当x<=0,y=0;当0
printf(\scanf(\if(x<=0) { y=0; }
else if((0 else if ((10 else y=sin(x); printf(\} 3编程:根据以下函数关系:当x 4编程:输入三个正整数x,y,z,将这三个数由小到大输出。 #include int a[3],i,max,j; printf(\for(i=0;i<3;i++) { scanf(\} for(i=0;i<3;i++) { for(j=0;j<2;j++) if(a[j]>a[j+1]) { max=a[j]; a[j]=a[j+1]; a[j+1]=max; } } printf(\for(i=0;i<3;i++) printf(\printf(\} #include main() { int a,b,c,t; scanf(\ if(a>b) { } if(a>c) { } if(b>c) { } t=b;b=c;c=t; t=a;a=c;c=t; t=a;a=b;b=t; printf(\ } 5编程:从键盘输入一个年号,判断该年号是否为闰年,并输出结果。闰年是能被4整除但不能被100整除;或能被100整除且能被400整除的年号。 练习书上有,第一页 6编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:输入1234,则输出:21234。 #include printf(\scanf(\y=x/1000; switch(y) { case 1: case 3: case 5: case 7: case 9:x=2*10000+x;break; case 2: case 4: case 6: case 8:x=3*10000+x;break; } printf(\} 7编程实现四位电话号码的升位。原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如:输入1234,则输出:31234。 参考6 8编程:已知分段函数:当x>10时,y=2*x+1;当1 9编程:输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。三角形面积公式:area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h) #include printf(\scanf(\if((x+y<=z)||(z+y<=x)||(x+z<=y)) printf(\else { s=(x+y+z)/2; area=sqrt(s*(s-x)*(s-y)*(s-z)); printf(\} } 10编程:已知分段函数,当x<=0时,y=3*x;当0 11编程:判定用户输入一个不大于999的正整数是否为一个回文数。回文数是指正读和反读都相同的数。 #include printf(\scanf(\if(0 printf(\} else if(x==z) printf(\else printf(\} } 12编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较大的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=49,则结果b=94。 #include printf(\ scanf(\if(0=y) { b=a; } else { b=10*y+x; } printf(\} else printf(\} 13编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较小的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=54,则结果b=45。 参考12 14初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。 #include int a[10]={2,3,4,1,5,6,7,8,9,10},i,x,j,k; printf(\scanf(\ for(i=0;i<10;i++) { if(a[i]==x) { for(j=i;j<10;j++) a[j]=a[j+1]; for(k=0;k<9;k++) printf(\break; } else if(i==9) printf(\} } 15初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。 #include char a[7]={\char b[1]; int i,j,k; printf(\gets(b); for(i=0;i<7;i++) { if(a[i]==b[0]) { for(j=i;j<5;j++) { a[j]=a[j+1]; } for(k=0;k<5;k++) printf(\printf(\break; } else if(a[i]=='\\0') { printf(\break; } } } 16计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。要求初始化矩阵,输出计算结果并输出该矩阵。 #include int a[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}}; int i,sum=0,max,j; for(i=0;i<4;i++) sum=sum+a[i][i]; max=a[0][0]; for(i=0;i<4;i++) { for(j=0;j<4;j++) if(max printf(\} 17计算一个3*3矩阵的所有元素之和以及所有元素中的最大元素的值。要求初始化矩阵,输出计算结果并输出该矩阵。 参考16,懒得弄了 18初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。 #include char a[20]={\int i; puts(a); for(i=2;i<7;i++) printf(\printf(\} 19编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及a[3][4]矩阵。要求初始化矩阵。 参考16 20初始化一矩阵a[4][4],计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。 #include int a[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}},i,j,max; for(i=0;i<4;i++) { max=a[i][0]; for(j=0;j<4;j++) { printf(\} printf(\} for(i=0;i<4;i++) { for(j=0;j<4;j++) { if(max printf(\} 21初始化一矩阵a[4][4],计算每列的最大元素值,要求输出原始矩阵以及每列的最大元素值。 参考20 22编程计算a[3][4]数组的最大值所在位置,输出该位置以及a[3][4]矩阵。要求初始化矩阵。 参考20 23编程实现:计算矩阵a[3][4]每行元素的和。要求输出原始矩阵以及每行元素的和值。要求初始化矩阵。 参考20 24编程实现:计算矩阵a[3][4]每列元素的和。要求输出原始矩阵以及每列元素的和值。要求初始化矩阵。参考20 25一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。输出原始数据和移动后的结果。要求初始化数组。 例如:原始数据为:6 10 2 9 8 7 17 18 23 45, 输出结果为:6 10 2 9 9 8 7 17 18 23 45。 #include int a[11]={6,10,2,9,8,7,17,18,23,45},i; printf(\for(i=0;i<10;i++) printf(\printf(\for(i=10;i>3;i--) a[i]=a[i-1]; printf(\for(i=0;i<11;i++) printf(\printf(\} 26编程实现:在任意字符串a中将与字符c相同的所有元素的下标值分别存放在数组b中,输出字符串a和数组b。要求初始化数组a。 懒得弄,太简单 27初始化一个存放10个整数的数组,删除其中所有的小于0的数据。例如:当前的数据为1 –1 –6 8 9 6 6 –5 6 9 ,则输出结果为1 8 9 6 6 6 9。 #include int a[10]={1,-1,-6,8,9,6,6,-5,6,9}; int i; printf(\for(i=0;i<10;i++) printf(\printf(\ printf(\for(i=0;i<10;i++) { if(a[i]>0) printf(\} printf(\} 28已知4X4矩阵,求行下标和列下标均为偶数的元素之和, 要求输出原始矩阵以及和值。提示:例如A[0][0]、A[0][2]的行下标和列下标均为偶数。要求初始化矩阵。 #include int a[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}}; int i,sum=0,j; for(i=0;i<3;i=i+2) { for(j=0;j<3;j++) printf(\} for(i=0;i<3;i=i+2) { for(j=0;j<3;j=j+2) sum=sum+a[i][j]; } printf(\} 29已知4X4矩阵,求行下标和列下标均为奇数的元素之和, 要求输出原始矩阵以及和值。例如A[1][1]、A[1][3]的行下标和列下标均为奇数。要求初始化矩阵。 参考28 30函数void fun(int a[],int n,int *small,int *big),该函数的功能是分别求出一维数组a中所有奇数项中的最小值与所有偶数项中的最大值,形参n给出数组中数据的个数;利用指针small返回奇数项中的最小值,利用指针big返回偶数项中的最大值。要求:在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后,在主调函数中输出结果。 #include void fun(int a[],int n,int *small,int *big) { int max,min,i,j; min=a[0]; max=a[1]; if(n%2==0) { for(i=0;i<=n-2;i=i+2) { if(min>a[i]) min=a[i]; } for(j=1;j<=n-1;j=j+2) { if(max *small=min; *big=max; } else { for(i=0;i<=n;i=i+2) { if(min>a[i]) min=a[i]; } for(j=1;j<=n-1;j=j+2) { if(max } *small=min; *big=max; } } main() { int i=0; int str1,str2; int a[8]={2,13,3,4,54,6,8,4},n; n=8; printf(\ do{ printf(\i++; }while(i<=7); printf(\fun(a,n,&str1,&str2); printf(\} 31函数void fun(int a[],int n,int * big,int * small),该函数的功能是分别求出数组a中所有偶数项中的最小值与所有奇数项中的最大值,形参n给出数组中数据的个数;利用指针small返回偶数项中的最小值,利用指针big返回奇数项中的最大值。要求:在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后在主调函数中输出结果。 #include char newstr[100]; for(i=0;str[i]!='\\0';i++) { if(str[i]%2!=0) { newstr[j]=str[i]; j++; } } newstr[j]='\\0'; for(i=0;i<=j;i++) str[i]=newstr[i]; } void stringcat(char str1[],char str2[]) { char *p1,*p2; p1=str1; p2=str2; while(*p1) p1++; while(*p1++=*p2++); } main() { int i; char str1[]=\char *p,str2[100]; puts(str1); p=str1; for(i=0;*(p+i)!='\\0';i++) str2[i]=*p++; str2[i]='\\0'; newstr(str1); stringcat(str1,str2); puts(str1); } 32编写函数void new(char str []),该函数将字符串str中ASCII值为偶数的字符删除,串中剩余字符形成一个新串。编写函数void stringcat(char str1[],char str2[])将原字符串str链接在新串的后面。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。 #include for(i=0;str[i]!='\\0';i++) { if(str[i]%2==0) { for(j=i;str[j]!='\\0';j++) str[j]=str[j+1]; } } } void stringcat(char str1[],char str2[]) { char *p1,*p2; p1=str1; p2=str2; while(*p1) p1++; while(*p1++=*p2++); } main() { int i; char *p1,*p2; char str1[100]={\for(i=0;str1[i]!='\\0';i++) printf(\printf(\strnew(str1); p1=str1; stringcat(str1,str2); printf(\} 33编写函数void new(char str []),该函数将字符串str中下标值为偶数的字符删除,串中剩余字符形成一个新串。编写函数char strmax(char str [])在新字符串中查找最大的字符。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str ,调用各个函数后在主函数中输出处理后的新字符串str以及最大字符。要求:不允许使用字符串库函数。 #include void newstr(char str[]) { int j=0; char newstr[100]; for(i=1;str[i]!='\\0';i+=2) { newstr[j]=str[i]; j++; } newstr[j]='\\0'; for(i=0;i<=j;i++) str[i]=newstr[i]; } char strmax(char str[]) { char max[1]; max[0]=str[0]; for(i=0;str[i]!='\\0';i++) { if(max[0] return max[0]; } main() { char max[2]; char str[]=\puts(str); newstr(str); puts(str); max[0]=strmax(str); max[1]='\\0'; puts(max); } 34编写函数void new(char str []),该函数将字符串str中ASCII值为奇数的字符删除,串中剩余字符形成一个新串。编写函数int strln(char str [])计算新串的长度。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str以及长度。要求:不允许使用字符串库函数。 参考32 35编写函数void new(char str []),该函数将字符串str中下标值为奇数的字符删除,串中剩余字符形成一个新串。编写函数char strmin(char str [])在新字符串中查找最小的字符。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str以及最小字符。要求:不允许使用字符串库函数。 参考33 36编写函数void new(char str []),该函数将字符串str中下标值为偶数的字符删除,串中剩余字符形成一个新串。编写函数void strstoc(char str [])将新字符串中的小写字母转换为大写字母。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。 参考37 37编写函数void new(char str []),该函数将字符串str中下标值为奇数的字符删除,串中剩余字符形成一个新串。编写函数void strstoc(char str [])将新字符串中的大写字母转换为小写字母。编写程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。 #include lenstr(char str[]) { i=0; do{ i++; }while(str[i]!='\\0'); return i; } void strnew(char str[]) { int n=lenstr(str); char newstr[100]; int j=0; for(i=0;i newstr[j]=str[i]; j++; } newstr[j]='\\0'; for(i=0;i void strstoc(char str[]) { int n=lenstr(str); for(i=0;i { char str[]=\puts(str); strnew(str); puts(str); strstoc(str); puts(str); } 38编写函数void strfun(char str []),该函数功能是把str字符串中的所有字符左移一个位置,串中的第一个字符移到最后。编写主程序,要求在main()函数中初始化字符串str并输出原字符串str,调用函数完成字符串移位后在主函数中输出处理后的新串。要求:不允许使用字符串库函数。 #include for(i=0;str[i]!='\\0';i++) { str[i]=str[i+1]; n=i; } str[n]=a[0]; str[n+1]='\\0'; } main() { char str[]={\puts(str); strfun(str); puts(str); } 39编写函数void revstr (char *str),其功能是把字符串str反序。例如字符串str为”abcde”时,则处理后为”edcba”, 要求:在main()函数中初始化字符串str并输出原字符串str,调用函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。 #include nLen=5; for(i=0;i<2;i++) { t=*(str+i); *(str+i)=*(str+nLen-1-i); *(str+nLen-1-i)=t; } } main() { int i; char str[6]=\puts(str); revstr(str); puts(str); } 40编写函数int strfun(char str[], char a),其功能是计算str所指定字符串中,出现指定字符的个数,并返回此值。例如:若字符串:123412132,输入字符为:1,则返回:3。要求在main()函数中初始化字符串str并输出原字符串str,调用函数strfun()后在主函数中输出处理后的返回值。要求:不允许使用字符串库函数。 #include int i,num=0; for(i=0;str[i]!='\\0';i++) { if(str[i]==a) num++; } return num; } main() { int n; char str[]=\char a; printf(\puts(str); printf(\ printf(\scanf(\n=strfun(str,a); printf(\} 41编制函数void mystrcpy(char *str1,char *str2),其功能是实现将str2字符串中的所有的小写字母拷贝到str1字符串中。编写函数void strln(char str1 [])计算str1串的长度。编写一个程序,调用上述各个函数。要求在main()函数中初始化字符串str并输出原字符串str,调用函数后,在main()函数输出处理后的str1和str1的长度。 #include void mystrcpy(char *str1,char *str2) { int j=0,i; while(*str1) str1++; for(i=0;*(str2+i)!='\\0';i++) if(*(str2+i)>='a'&&*(str2+i)<='z') { *(str1+j)=*(str2+i); j++; } *(str1+j)='\\0'; } strlen(char str[]) { int n=0; do{ n++; }while(str[n]!='\\0'); return n; } main() { int n; char str1[100]=\char str2[]=\char *p1,*p2; p1=str1; p2=str2; n=strlen(str1); printf(\printf(\mystrcpy(p1,p2); printf(\ puts(str1); n=strlen(str1); printf(\printf(\} 42函数void dele(char *str)的功能是删除字符串中的所有数字字符,函数void strcopy(char *str1,char *str2)的功能是将字符串str2存入str1中。要求在main()函数中初始化字符串str并输出原字符串str,先strcopy()函数再调用dele()函数后,在main()函数输出处理后的str1。 #include for(i=0;*(str+i)!='\\0';i++) { if(*(str+i)>='A'&&*(str+i)<='z') continue; else { for(j=i;*(str+j)!='\\0';j++) *(str+j)=*(str+j+1); i--; } } } void strcopy(char *str1,char *str2) { while(*str1) str1++; while(*str1++=*str2++); } main() { char str1[100]=\char str2[]=\char *p1,*p2; p1=str1; p2=str2; strcopy(p1,p2); printf(\puts(str1); printf(\ dele(p1); printf(\puts(str1); printf(\} 43编写函数void strfun(char str[], int n,int k,int m),此函数的功能是:对一个长度为n的字符串str从其第k个字符起,删除m个字符,组成长度为n-m的新串(其中:n、m<=80,k<=n)。要求在main()函数中初始化字符串str并输出原字符串str,调用函数后,在main()函数输出处理后的新串。在输入字符串“we are all students.”,利用此函数进行删除“all”的处理,并输出处理后的字符串。 #include void strfun(char str[],int n,int k,int m) { int i,j; for(i=0;i<=m;i++) { for(j=k;j char str[]=\int n=19,k=7,m=3; printf(\puts(str); strfun(str,n,k,m); printf(\puts(str); }
正在阅读:
C语言 编程试题及答案01-30
在2023年全市经济社会高质量发展座谈会上的讲话范文03-23
八年级数学上册 第十三章 轴对称 微专题 构造等腰三角形技巧(四)截长补短法同步精练 新人教版03-21
我们班的笑话大王作文600字06-23
《新主人翁精神》-高贤峰 - 图文09-19
我爱乒乓球作文600字06-21
合同能源管理的概念03-25
第9章 复习题(1)10-04
我的玩具好朋友作文500字06-20
2014年5月园艺疗法复习材料05-09
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 试题
- 答案
- 语言
- 编程
- 《Java程序设计》课程实验指导书
- 中国民生银行私募基金托管业务管理办法
- 项目管理复习题(1)
- 2013-2014(2)单片机试卷答案 - 图文
- 深圳市2009届高三第二次调研考试(数学文)
- 格力空调市场现状调研及发展前景分析报告(目录)
- 某修理厂安全文明生产管理制度汇编
- 福建省化工工程师专业基础考点:车用汽油牌号考试试题
- 小学语文沪教版《二年级下》《第七单元》《40 喜鹊》精品专题课后练习(含答案考点及解析)
- 老干部局领导班子2011年度述职述廉述报告
- 2016继续教育创新方法……69分
- 怎样用origin在一张图上做多条XRD谱线并画出标准谱图
- 高速公路改沟改线申请报告
- AVR单片机ISP下载线的制作 - 图文
- 上海(沪教版)小学五年级数学下册1-4单元测试卷
- 网络名誉侵权的法律思考
- wifi布网 - 图文
- 人教版五年级语文下册全册教案(含教后感)
- 《团 契 生 活》
- 第2课时电解质在水溶液中的反应