c语言文件编程题

合集下载

经典C语言编程(20题)

经典C语言编程(20题)

1.请编写一个函数fun,其功能是:删除字符串中的数字字符。

例如,输入字符串为:48CTYP9R6,则输出:CTYPR。

部分源程序已经给出,请勿改动主函数的内容。

main(){ char item[100];gtes(item);fun(item);printf(“The string:%s\n”,item);}解答:#include<stdio.h>#include<string.h>void fun(char s[]){int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]>='0' && s[i]<='9') i++;elses[j++]=s[i]; s[j]='\0';}main(){ char item[100];gets(item);fun(item);printf("The string:%s\n",item); }2. 从键盘上读入一字符串存入字符数组xx中,请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()将结果xx输出。

替代关系如下:f(p)=p*11%256其中,p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于32,则该字符不变,否则用f(p)所对应的字符进行替代。

设字符串的长度小于80个字符,部分源程序已给出。

除增加必要的数据定义、函数参数外,请勿改动主函数的内容。

#include <stdio.h>main(){ char xx[80];gets(xx);encryptChar();WriteDat();}解答:#include<stdio.h>#include<string.h>void encryptChar(char a[]) {int i,j;for(i=j=0;a[i]!='\0';i++) if(a[i]%2==0 ||(a[i]*11%256<32))a[j++]=a[i];elsea[j++]=a[i]*11%256; } WriteDat(char a[]) {puts(a);}main(){ char xx[80];gets(xx);encryptChar(xx); WriteDat(xx);} _3. 设有数组:int a[10]={6012,5099,9012,7025,8088,9096,8080,3046,5082,2345};请编制函数jssort(),其功能是:要求按每个数的后三位的大小进行升序排序,然后调用函数WriteDat()将结果输出。

c语言编程题

c语言编程题
2.任意输入三个字符,要求首先按逆序输出,然后同行原序输出。
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语言编程100题

c语言编程100题

1.程序分析:可先用 '*' 号在纸上写出字母 2.程序源代码: #include "stdio.h"
C,再分行输出。
main()
{
printf("Hello C-world!\n"); printf(" ****\n");
printf(" *\n");
printf(" * \n"); printf(" ****\n");
的结果满足如下条件,即是结果。请看具体分析:
2.程序源代码: #include "math.h"
main() { long int i,x,y,z;
for (i=1;i<100000;i++)
{ x=sqrt(i+100);
/*x 为加上 100 后开方后的结果 */
y=sqrt(i+268);
/*y 为再加上 168 后开方后的结果 */
printf("%c%c%c%c%c\n",b,a,a,a,b);}
----------------------------------------------------------------------------【程序 8】 题目:输出 9*9 口诀。
1.程序分析:分行与列考虑,共 2.程序源代码: #include "stdio.h"
printf("\n"); for(i=1;i<5;i++)
for(j=1;j<5;j++)
/ * 以下为三重循环 */
for (k=1;k<5;k++)

C语言编程习题和答案

C语言编程习题和答案

C语⾔编程习题和答案1题:/*九九乘法表:*/#includeint main(void){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%dx%d=%2d ",i,j,i*j); printf("\n");} return 0;}2题:/*求n的阶乘之和:*/#includeint main(void){int i,n,s,k,j;scanf("%d",&n);for(s=1,i=1;i<=n;i++)s*=i;printf("%d!=%d\n",n,s);for(s=1,i=1;i<=n;i++){for(k=0,s=1,j=1;j<=i;j++)s=s*j,k+=s;}printf("他们的n阶之和为%d\n",k); return 0;}3题:/*求兔⼦繁殖问题:*/#includeint main(void){int a=1,b=1,i=3,n,c;printf("\n请输⼊⼀个繁殖时间(单位为⽉): "); scanf("%d",&n); while(i<=n){c=a+b;a=b;b=c;i++;}printf("他们繁殖的兔⼦数为:%d(只)\n",c); return 0;}1题:/*猴⼦吃桃:*/#includeint main(void){int i,a=1,s=0;for(i=9;i>=1;i--){s=(a+1)*2;a=s;} printf("s=%d个\n",s); return 0;}2题:/*求分数之和:*/#includeint main(void){float k,i,a=1,b=2,sum=0.0;printf("这前20个分数分别是:");for(i=1,sum=0;i<=20;i++){sum+=b/a;printf("%.f/%.f ",b,a);k=b,b=(a+b),a=k;}printf("\n他们的和为:sum=%.2f\n",sum); return 0;}3题/*判断是否是⽔仙花数:*/#includeint main(void){int a,j,k,s;printf("请输⼊⼀个数:");scanf("%d",&a);for(;a<100||a>999;){printf("\n输⼊有误,请重新输⼊⼀个三位数:"); scanf("%d",&a);} j=a/100,k=a%100/10,s=a%10;if(a==j*j*j+k*k*k+s*s*s)printf("\n%d是⽔仙花数。

c语言编程大题

c语言编程大题

三、编程题1.输入一个半径值,分别计算圆周长、圆面积和球的体积。

要求使用符号常量定义圆周率。

#include<stdio.h>int main(){printf("计算圆周长面积求面积\n");floatr,c,s,v;scanf("%f",&r);# define PI 3.14159265c=2*PI*r;s=4*PI*r*r;v=4/3*PI*r*r*r;printf("周长是%.2f\n",c);printf("表面积是%.2f\n”,s);printf("体积是%,2f\n",v);return 0;}2.假设今天是星期三,编程求20天之后是星期几?#include<stdio.h>int main(){printf("今天是星期三,20天后是星期几?\n");int i;i=23%7;printf("20 天后是星期%d\n”,i);return 0;}3.从键盘输入一个字符,然后将其按字符和整数这两种形式输出。

#include<stdio.h>int main(){printf("输入一个字符3");char i;scanf("%c",&i);printf("整数形式是%d\n"』);printf("字母形式是%c\n”,i);return 0;}4.输入一个大写英文字母,将它转化为小写输出。

#include<stdio.h>int main(){printf("请输入一个大写英文字母\n");charch;scanf("%c",&ch);printf("%c\n",ch+32);return 0;}5.求一元二次方程ax A2+bx+c=0方程的两个实根。

c语言文件练习题含答案_(1)

c语言文件练习题含答案_(1)

第十二章文件基础训练一、填空题1、文件是指___________________________________________________________。

2、根据数据的组织形式,C中将文件分为______ASCII码文件________和___二进制文件___________两种类型。

3、现要求以读写方式,打开一个文本文件 stu1 ,写出语句:__FILE *fp fp=fopen(“stu.txt”,”r+”);_______________。

__________________________________。

4、现要求将上题中打开的文件关闭掉,写出语句:___fclose(fp);__________________。

5、若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则打开文件方式字符串应该是___fopen(“a.txt”,”wb+”);__________。

二、选择题1、若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( ) 。

A) fopen("A:\user\abc.txt","r") B) fopen("A:\\user\\abc.txt","r+")C) fopen("A:\user\abc.txt","rb") C) fopen("A:\\user\\abc.txt","w")2、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )。

A) 0 B) 1 C) -1 D) 一个非0值3、当已经存在一个file1.txt文件,执行函数fopen(“file1.txt”,”r+”)的功能是()。

A)打开file1.txt文件,清除原有的内容;B)打开file1.txt文件,只能写入新的内容;C)打开file1.txt文件,只能读取原有内容;D)打开file1.txt文件,可以读取和写入新的内容;4、 fread(buf , 64,2,fp)的功能是:( )A)从fp所指向的文件中,读出整数64,并存放在buf中;B)从fp所指向的文件中,读出整数64和2,并存放在buf中;C)从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中;D)从fp所指向的文件中,读出64个字节的字符,并存放在buf中;5、以下程序的功能是( ) 。

C语言编程题带答案

C语言编程题带答案

C语言编程题带答案题目 1:求两个整数的最大值```cinclude <stdioh>int max(int num1, int num2) {if (num1 > num2) {return num1;} else {return num2;}}int main(){int num1 = 10, num2 = 20;int maxValue = max(num1, num2);printf("最大值为: %d\n", maxValue);return 0;}```分析:在这个程序中,我们定义了一个名为`max` 的函数,它接受两个整数参数`num1` 和`num2` 。

通过使用条件判断语句`if` 来比较这两个数的大小,如果`num1` 大于`num2` ,则返回`num1` ,否则返回`num2` 。

在`main` 函数中,我们给定了两个整数`num1` 和`num2` 的值,并调用`max` 函数来获取它们中的最大值,最后使用`printf` 函数将最大值输出到控制台。

题目 2:计算一个整数数组的平均值```cinclude <stdioh>float average(int arr, int size) {int sum = 0;for (int i = 0; i < size; i++){sum += arri;}return (float)sum / size;}int main(){int arr ={10, 20, 30, 40, 50};int size = sizeof(arr) / sizeof(arr0);float avg = average(arr, size);printf("平均值为: %2f\n", avg);return 0;}```分析:在这个程序中,首先在`average` 函数里,我们初始化一个变量`sum` 为 0 ,用于存储数组元素的总和。

C语言经典编程实例100题+答案

C语言经典编程实例100题+答案

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.程序分析:请利用数轴来分界,定位。

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

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;else 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后再开方,如果开方后的结果满足如下条件,即是结果。

C语言题库-编程

C语言题库-编程

顺序结构1.编写一个程序,从键盘输入一个三位整数,将它们逆序输出。

例如输入127,输出721。

2.#include<stdio.h>3.main()4.{printf("请输入一个三位数/n");5.Scanf("%d",&a);6.B=a%10;7.C=a/10%10;8.D=a/100;9.F=d*100+c*10+b;10.Printf("%d",f);11.}12.13.选择结构1.编程判断输入的正整数是否既是5又是7的整倍数。

若是,输出yes,否则输出no。

2.#include<stdio.h>3.main()4.{5.Int i;6.Scanf("%d",%d);7.If(i%7==0&&i%5==0)8.Printf("yes");9.Else printf("no");10.}11.编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。

设:90分以上为A,12.80~89分为B,70~79分为C,60~69分为D,60分以下为E。

13.#include<stdio.h>14.Main()15.{16.Scandf("'%d",&a);17.If(a>90)18.Printf("A");19.Else if(a<=89&&a<=80)20.Printf("B");21.Else if(a>70&&a<=79)22.Peintf("C");23.Else if(a>60&&a<69)24.Printf("D");25.Else26.Printf("E");27.}28.已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率=0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

C语言 文件练习题

C语言  文件练习题

C语言文件练习题c语言文件练习题c语言文件练习题1.系统的标准输出文件就是指_________.a)键盘b)显示器c)软盘d)硬盘2.若执行fopen函数时发生错误,则函数的返回值是______.a)地址值b)0c)1d)eof3.若要用fopen函数关上一个代莱二进制文件,该文件必须既读也能够写下,则文件方式字符串应当就是______.a)\4.fscanf函数的正确调用形式是______.a)fscanf(fp,格式字符串,输出表列)b)fscanf(格式字符串,输出表列,fp);c)fscanf(格式字符串,文件指针,输出表列于);d)fscanf(文件指针,格式字符串,输出所列);5.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是____.a)只写b)追加c)读或读写d)答案b和c都正确6.函数调用语句:fseek(fp,-20l,2);的含义是_______.a)将文件位置指针移到距离文件头20个字节处b)将文件位置指针从当前位置向后移动20个字节c)将文件位置指针从文件末尾处后退20个字节d)将文件位置指针移到离当前位置20个字节处7.利用fseek函数可实现的操作_______.a)fseek(文件类型指针,起始点,位移量);b)fseek(fp,位移量,起始点);c)fseek(位移量,起始点,fp);d)fseek(初始点,加速度量,文件类型指针);8.在执行fopen函数时,ferror函数的初值是______.a)tureb)-1c)1d)09.fseek函数的恰当调用形式就是_________a)fseek(文件指针,起始点,位移量)b)fseek(文件指针,位移量,起始点)c)fseek(位移量,起始点,文件指针)d)fseek(起始点,位移量,文件指针)10.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是______a)eofb)-1c)1d)null11.下列关于c语言数据文件的叙述中正确的是________a)文件由ascii码字符序列共同组成,c语言就可以读取文本文件b)文件由二进制数据序列共同组成,c语言就可以读取二进制文件c)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件d)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件12.函数fseek(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,size,count,fp),参数buf的含义就是______a)一个整型变量,代表要读入的数据项总数b)一个文件指针,指向要读的文件c)一个指针,指向必须初始化数据的放置地址d)一个存储区,放置爱读的数据项16当顺利执行了文件关闭操作时,fclose函数的返回值是_________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,sizeof(student),3,fp)函数叙述不恰当的_________.a)将3个学生的数据块按二进制形式写入文件;b)将由buffer选定的数据缓冲区内的3*sizeof(student)个字节的数据载入选定文件;c)返回实际输出数据块的个数,若返回0值表示输出结束或发生了错误;d)若由fp指定的文件不存在,则返回0值;23.利用fread(buffer,size,count,fp)函数可实现的操作方式_________.a)从fp指向的文件中,将count个字节的数据读到由buffer指出的数据区中;b)从fp指向的文件中,将size*count个字节的数据读到由buffer指出的数据区中;c)以二进制形式加载文件中的数据,返回值就是实际从文件读取数据块的个数count;d)若文件操作出现异常,则返回实际从文件读取数据块的个数;24.检查由fp指定的文件在读写时是否出错的函数是_________.a)feof()b)ferror()c)clearerr(fp)d)ferror(fp)25.函数调用语句:fseek(fp,-10l,2);的含义就是________。

C语言编程习题及答案

C语言编程习题及答案

1-1. 编写求圆的面积、周长的程序。

圆的半径从键盘输入。

#include<stdio.h>void main(){float r,c,s;scanf("%f",&r);c=2*3.1415926*r;s=3.1415926*r*r;printf("周长为:%f,面积为:%f\n",c,s);}1-2.输入三个正数,计算并输出由此构成的立方体的体积。

#include<stdio.h>void main(){float a,b,c,v;scanf("%f,%f,%f",&a,&b,&c);v=a*b*c;printf("体积为:%f\n", v);}1-3.输入华氏温度h,计算并输出摄氏温度s. (转换公式:s=5 / 9(h - 30) )。

#include<stdio.h>void main(){float h,s;printf("请输入华氏温度:");scanf("%f",&h);s=5.0/9.0*(h-32);printf(" 摄氏温度为:%f\n", s);1-4.用*号输出字母C的图案。

#include<stdio.h>void main(){printf(" **\n");printf(" *\n");printf("*\n");printf("*\n");printf(" *\n");printf(" **\n");}2-1.输入三个正数a,b,c,如果能构成三角形,计算并输出该三角形的面积。

面积公式:(其中:p=(a+b+c)/2)#include<stdio.h>#include<math.h>#define p(a,b,c,x) sqrt(x*(x-b)*(x-c))void main(){double a,b,c,x;scanf("%lf,%lf,%lf",&a,&b,&c);if(a<0||b<0||c<0||a+b<=c||a+c<=b||b+c<=a)printf("不能构成三角形");else{x=(a+b+c)/2;printf("能构成三角形,面积=%lf\n",p(a,b,c,x));}}2-2.分段函数。

C语言经典编程实例100题答案

C语言经典编程实例100题答案

C语言经典编程实例100题答案1. 打印Hello World!#include <stdio.h>int main() {printf("Hello World!");return 0;}2. 计算两个数的和#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个数的和为:%d", sum);return 0;}3. 输入一个数,判断是否为正数、负数或零#include <stdio.h>int main() {int num;printf("请输入一个数:"); scanf("%d", &num);if (num > 0) {printf("正数");}else if (num < 0) {printf("负数");}else {printf("零");}return 0;}4. 判断一个数是否为素数#include <stdio.h>int main() {int num, i, flag = 0;printf("请输入一个数:");scanf("%d", &num);for (i = 2; i <= num / 2; ++i) { if (num % i == 0) {flag = 1;break;}}if (flag == 0)printf("%d是素数", num); elseprintf("%d不是素数", num); return 0;}5. 求斐波那契数列的第n项#include <stdio.h>int fibonacci(int n) {if (n <= 1)return n;return fibonacci(n - 1) + fibonacci(n - 2);}int main() {int n;printf("请输入要求第几项:");scanf("%d", &n);printf("第%d项的值为:%d", n, fibonacci(n));return 0;}6. 判断一个数是否为回文数#include <stdio.h>int main() {int num, reversedNum = 0, remainder, originalNum; printf("请输入一个数:");scanf("%d", &num);originalNum = num;while (num != 0) {remainder = num % 10;reversedNum = reversedNum * 10 + remainder; num /= 10;}if (originalNum == reversedNum)printf("%d是回文数", originalNum);elseprintf("%d不是回文数", originalNum);return 0;}7. 打印九九乘法表#include <stdio.h>int main() {int i, j;for (i = 1; i <= 9; ++i) {for (j = 1; j <= i; ++j) {printf("%d * %d = %d\t", j, i, j * i);}printf("\n");}return 0;}8. 输入一个数,判断是否为偶数#include <stdio.h>int main() {int num;printf("请输入一个数:");scanf("%d", &num);if (num % 2 == 0)printf("偶数");elseprintf("奇数");return 0;}9. 冒泡排序#include <stdio.h>void bubbleSort(int array[], int size) { int i, j, temp;for (i = 0; i < size - 1; ++i) {for (j = 0; j < size - i - 1; ++j) {if (array[j] > array[j + 1]) {temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}}int main() {int array[] = {5, 2, 8, 12, 1};int size = sizeof(array) / sizeof(array[0]); bubbleSort(array, size);printf("排序后的数组:");for (int i = 0; i < size; ++i) {printf("%d ", array[i]);}return 0;}10. 判断一个数是否为完数#include <stdio.h>int main() {int num, i, sum = 0;printf("请输入一个数:");scanf("%d", &num);for (i = 1; i < num; ++i) {if (num % i == 0) {sum += i;}}if (sum == num)printf("%d是完数", num); elseprintf("%d不是完数", num); return 0;}......(一共100题答案)这些是C语言经典编程实例的部分答案,希望对您有所帮助。

C语言编程题

C语言编程题

C语言编程题1.输入整数a和b,若a2+b2大于100,则输出a+b的值,否则输出a-b的值。

(习题集P22 题1)#include<stdio.h>void main(){int a,b;scanf("%d,%d",&a,&b);if(a*a+b*b>100)printf("%d\n",a+b);elseprintf("%d\n",a-b);}2.输入整数n,如果n既是5又是7的整倍数,则输出yes,否则输出no。

(习题集P22 题2)#include<stdio.h>void main(){int n;scanf("%d",&n);if(n%5==0&&n%7==0)printf("yes\n");elseprintf("no\n");}3.输入三个整数,要求按由小到大的顺序输出。

(习题集P22 题3)#include<stdio.h>void main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);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;}printf("%d,%d,%d\n",a,b,c);}4.用if-else-if语言,商场为促销实行打折销售商品。

(习题集P22 题4)#include<stdio.h>void main(){int x;float p,d,sum;scanf("%d,%f",&x,&p);if(x<5)d=0.0;else if(x<10)d=0.01;else if(x<21)d=0.02;else if(x<30)d=0.04;elsed=0.06;sum=p*x*(1-d);printf("sum=%.2f\n",sum);}5.用switch语言编写时间表。

c语言编程题及答案

c语言编程题及答案

1、输入1,7,9,5,8,6,2,用冒泡法进行排序,按从小到大的顺序输出。

#include <stdio.h>main(){int a[7],i,j,t;for(i=0;i<7;i++)scanf("%d",&a[i]);for(i=1;i<=7;i++){for(j=0;j<=7-i;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<7;i++)printf("%d ",a[i]);printf("\n");}2、编程判断输入的字符串是否为“回文”。

所谓“回文”是指顺读和倒读都一样,如abcba。

#include <stdio.h>main(){char s[20],l,i,flag=0;gets(s);l=strlen(s);for(i=0;i<l/2;i++)if(s[i]!=s[l-i-1])flag=1;if(flag==0)printf("输入的字符串是回文\n");elseprintf("输入的字符串不是回文\n");}3、输入5个数,求和并输出。

要求编写求和的函数。

#includevoid main(){ int b(int x[],int n);int sum=0;int a[5];int i;printf("请输入5个数:");for(i=0;i<5;i++)scanf("%d",&a[i]);sum=b(a,5);printf("sum=%d\n",sum);}int b(int x[],int n){ int i,sum=0;for(i=0;i<5;i++)sum=sum+x[i];return sum;}4、编写程序,求满足1*1+2*2+3*3+……n*n<=800的最大n是多少#include "stdio.h"void main(){int n,s=0;for(n=1;s+n*n<=800;n++)s=s+n*n;printf("s=%d,n=%d\n",s,n-1);}5、编程计算1*2*3+4*5*6+...+97*98*99的值。

C语言编程练习题附答案

C语言编程练习题附答案

1.从键盘任意输入20个整数,用冒泡法排序后,由大到小输出显示。

#include<stdio.h>int main(){int a[20],i,j,t;printf("请任意输入20个整数\n");for(i=0;i<20;i++)scanf("%d",&a[i]);printf("\n");for(i=0;i<19;i++)for(j=0;j<19-i;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("按照从大到小的顺序排列为\n");for(i=0;i<20;i++)printf("%d,",a[i]);printf("\n");return 0;}2.从键盘任意输入20个整数,用选择法排序后,由大到小输出显示。

#include<stdio.h>#define N 20int main(){int a[N],i,j,max,k;printf("请任意输入20个整数\n");for(i=0;i<N;i++)scanf("%d",&a[i]);printf("\n");for(i=0;i<N-1;i++){k=i;for(j=i+1;j<N;j++)if(a[i]<a[j])k=j;max=a[k];a[k]=a[i];a[i]=max;}printf("按照从大到小的顺序排列为\n"); for(i=0;i<N;i++)printf("%d,",a[i]);printf("\n");return 0;}3.从键盘任意输入10个实数,用冒泡法排序后,由小到大输出显示。

C语言程序设计试题附答案3篇

C语言程序设计试题附答案3篇

C语言程序设计试题附答案3篇C语言程序设计试题附答案11. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b=4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。

100个C语言的编程题

100个C语言的编程题

关键字:C经典C源程序100例【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:#include<stdio.h>main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n"); /*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/}}==============================================================【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

2.程序源代码:#i nclude "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);}==============================================================【程序3】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

C语言编程实例100题

C语言编程实例100题

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.程序分析:请利用数轴来分界,定位。

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

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;else?if(i<=1000000)bonus=bonus6+(i-600000)*0.015;}?==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

C语言编程题精品

C语言编程题精品

1.短信计费用手机发短信,一般一条短信资费为0.1元,但限定每条短信的内容在70个字以内(包括70个字)。

如果你所发送的一条短信超过了70个字,则大多数手机会按照每70个字一条短信的限制把它分割成多条短信发送。

假设已经知道你当月所发送的每条短信的字数,试统计一下你当月短信的总资费。

#include <set>#include <map>#include <vector>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define ll long long#define inf 2147483647using namespace std;int n;int main(){cin >> n;double ans = 0;for(int i = 1; i <= n; i++){int x;cin >> x;ans = ans + ((x - 1) / 70 + 1) * 0.1;}printf("%.1lf\n", ans);return 0;}2.集体照医学部口腔3班n位同学约定拍集体照,n大于1且不超过100。

摄影师要求同学按照身高站成两排,保证第二排的人身高都要大于等于第一排的人,且第二排的人数和第一排的人数相等或者比第一排多一个人。

输入n位同学的身高,请问第二排中身高最矮的人的身高是多少?#include <set>#include <map>#include <vector>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define ll long long#define inf 2147483647using namespace std;int n;int a[105];int main(){while(scanf("%d", &n)){if(n == 0)return 0;for(int i = 1; i <= n; i++)cin >> a[i];sort(a + 1, a + n + 1);cout << a[n / 2 + 1] << endl;}return 0;}3.1020 跳格问题有一种游戏,在纸上画有很多小方格,第一个方格为起点(S),最后一个方格为终点。

C语言编程实例100题(带解析适合新手超经典)

C语言编程实例100题(带解析适合新手超经典)

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.程序分析:请利用数轴来分界,定位。

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

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;bonus=bonus4+(i-400000)*0.03;else 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)。

1.从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件
“test”中保存。

输入的字符串以!结束。

参考答案
2.有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序
排列),输出到一个新文件C中。

参考答案
3.有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三
门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"
中。

参考答案
4.编一程序,将学生数据(姓名、学号、年龄、性别)以结构体方式输入(追加)、输出一文件,
并能够根据指定条件(如学号)对文件进行查找、插入、删除和修改操作。

参考答案
5.模拟copy 的“连接几个文件”的功能。

copy <源文件1>[+源2+…...] [目的文件]
参考答案。

相关文档
最新文档