中国石油大学C语言程序网络作业题(含大数相加)

合集下载

中国石油大学(华东)C语言习题答案

中国石油大学(华东)C语言习题答案

C语言复习题【设计型】5.1 输出一行星号编写程序在一行中输出 N 个星号。

输入: N值输出:一行中N个星号#include<stdio.h>int main(){int a,i;scanf("%d",&a);for(i=1;i<=a;i++)printf("*");printf("\n");return 0;}【设计型】5.2 打印平行四边形输入图形的高 n ,输出如下例( n=5 )所示的图形 .*************************输入:整数n例如 5由*组成的高为5的平行四边形#include<stdio.h>int main(){int i,j,num;scanf("%d",&num);for(i=0;i<num;i++){for(j=0;j<num;j++)printf("*");printf("\n");}return 0;}【设计型】5.3 编程计算编写程序,输入n的值,求 :1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n (保留四位小数) #include<stdio.h>int main(){double n,i,sum,k=1.0;scanf("%lf",&n);i=1,sum=0;while(i<=n)sum=sum+k/i;i++;k=-k;(用这个式子实现正负交替)}printf("sum=%.4lf\n",sum);return 0;}【设计型】5.4 分数序列有一个分数序列:...............,输入整数n,求出其前n项的和。

输出语句格式为:printf("sum=%16.10f\n",s);#include<stdio.h>int main(){int n,a,b,i,temp;double sum;scanf("%d",&n);i=1,sum=0,a=2,b=1;while(i<=n){sum=sum+a*1.0/b;temp=a;a=a+b;b=temp;(几个式子实现数值的变换)i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.5 求e的值编写程序,从键盘输入整数 n , 求 e 的值 . e=1+1/1!+1/2!+1/3!+..+1/n! 注意:用 double 型数据计算输出语句:printf("sum=%16.10f\n",sum);#include<stdio.h>int main(){int n,i;double sum,jc;scanf("%d",&n);i=1,sum=1.0 jc=1.0;while(i<=n){jc=jc*i;sum=sum+1.0/jc;i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.6 最大公约数输入两个正整数m和n,求它们的最大公约数和最小公倍数比如,输入m和n的值分别为14和21,则最大公约数为7,最小公倍数为42。

中国石油大学(华东)C语言在线测评答案 第10章字符串(2013级亲测正确)

中国石油大学(华东)C语言在线测评答案 第10章字符串(2013级亲测正确)

中国石油大学(华东)C语言在线测评答案第10章字符串(2013级亲测正确)10.1 字符转换描述提取一个字符串中的所有数字字符(‘0’...‘9’)将其转换为一个整数输出。

输入一个以回车符为结束标志的字符串(少于80个字符)。

输出把字符串中的所有数字字符(‘0’...‘9’)转换为一个整数并输出。

#include<stdio.h>#include<string.h>int main(){char s[80];int i,k,n=0;gets(s);k=strlen(s);for(i=0;i<k;i++)if(s[i]>='0'&&s[i]<='9')n=n*10+(s[i]-'0');printf("%d\n",n);return 0;}10.2 合并字符串输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。

输入:两个已经排好顺序(升序)的字符串输出:一个合并在一起的有序(升序)的字符串要求:设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。

如果采用先进行串连接,然后再进行排序的算法,则效率太低了。

#include<stdio.h>#include<string.h>int main(){char a[100],b[100],t;int k,i,j;gets(a); gets(b);strcat(a,b);k=strlen(a);/*冒泡法排序*/for(i=1;i<k;i++) /*不能用字符串数组最后一项'\0'和前面项比较,故i从1开始*/ for(j=0;j<k-i;j++)if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t; }puts(a);return 0;}10.3 删除重复字符背景:输入一个长度不超过 100 的字符串,删除串中的重复字符。

石油大学-C语言-在线考试附答案

石油大学-C语言-在线考试附答案

《C语言》综合复习资料一、单选题1. C语言中基本数据类型有< >A〕整型、实型、逻辑型B〕整型、字符型、逻辑型C〕整型、实型、字符型D〕整型、实型、字符型、逻辑型2. 在C语言中,数字029是一个< >A〕八进制数B〕十进制数C〕十六进制数D〕非法数3. 在以下关于C语言的不严格的叙述中,错误的说法是< >A〕在标识符中,大写字母和小些字母的意义相同B〕有些不同类型的变量可以在一个表达式中运算C〕在赋值表达式中等号"=〞左边的变量和右边的值可以是不同类型D〕同一个运算符号在不同的场合可以有不同的含义4. 已知int a=4,b=5; ,这执行表达式a=a>b 后,变量a的值为< >A〕0 B〕1 C〕 4 D〕 55. 设有定义int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是< >A〕a&&b B〕a<=b C〕a||b+c&&b-c D〕!<<a<b>&&!c||1> 6. 以下不合法的赋值语句是< >A〕x=<1,y=2>; B〕++x; C〕x=y=15; D〕y=int<x>;7. 已定义c为字符型变量,则下列语句中正确的是< >A〕c='97'; B〕c="97"; C〕c="a"; D〕c=97;8. 能将高级语言编写的源程序转换为目标程序的软件是< >A〕汇编程序B〕编辑程序C〕解释程序D〕编译程序9. 设有定义char *p="abcde\0fghjik\0〞; 则printf<"%d\n〞,strlen<p>>;输出结果是< >A> 12 B> 15 C> 6 D> 510.以下选项中合法的实型常数是< >A> 5E2.0 B> E-3 C> .2E0 D> 1.3E11.以下非法的赋值语句是< >A> n=<i=2,++i>; B> j++; C> ++<i+1>; D> x=j>0;12.已定义c为字符型变量,则下列正确的赋值语句是< >A〕c='66'; B〕c="66"; C〕c="B"; D〕c=66;13.设a=3,b=4,c=-5,则逻辑表达式:a || b+c&& b==c 的值是< >A〕1 B〕0 C〕非0 D〕语法错14.以下能正确定义数组并正确赋初值的语句是< >A〕int N=5,b[N][N]; B〕int a[1][2]={{1},{3}};C〕int c[2][]= {{1,2},{3,4}}; D〕int d[3][2]={{1,2},{34}};15.结构化程序设计的三种基本结构是< >A〕顺序结构、选择结构、循环结构B〕if、switch、breakC〕for、while、do-while D〕if、for、continue16.在一个C程序中< >A〕main函数必须出现在所有函数之前B〕main函数可以在任何地方出现C〕main函数必须出现在所有函数之后D〕main函数必须出现在固定位置17.以下合法的字符常量是< >A〕‘\084’B〕‘ab’C〕‘\x43’D〕"\0〞18.用8位无符号二进制数能表示的最大十进制数为< >A〕127 B〕128 C〕255 D〕25619.设有定义:int x=0,y=1,z=1;则运行表达式:x=y++>z--后,x,y,z的值分别是< >A〕1,1,1 B〕1,2,0 C〕0,1,1 D〕0,2,020.设有int x=11;则表达式<x++*1/3>的值是< >A〕3 B〕4 C〕11 D〕1221.若有: int x=1,n=5; 则执行语句x%=<n%2>后,x的值为< >A〕3 B〕2 C〕1 D〕022.结构化程序的3种基本控制结构是< >A> if-else结构、while结构、for结构B> 顺序结构、分支机构、循环结构C> while结构、do-while结构、for结构D> 以上三种都不对23.下面程序段的输出结果是< >int k=11;printf<"%d,%o,%x〞,k,k,k>;A〕11,12,11 B〕11,13,13 C〕11,013,0xb D〕11,13,b24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是< >A> 1 B> 2 C> 3 D> 425.以下非法的赋值语句是< >A> n=<i=2,++i>; B> j++; C> ++<i+1>; D> x=j>0;26.语句:printf<"%d",<a=2>&&<b=-2>>; 的输出结果是< >A〕无输出B〕结果不确定C〕1 D〕227.设有定义语句:charstr[][20]={"Hello","Beijing"},*p=str; < >则printf<"%d\n",strlen<p+20>>; 输出结果是A〕0 B〕5 C〕7 D〕2028.以下选项中,与k=++n完全等价的表达式是< >A> k=n,n=n+1 B> n=n+1,k=n C> k=++n D> k+=n+1二、读程序,写出程序执行结果1. #include <stdio.h>void main<>{ int a=10,b=0;if<a==12>{a++; b++; }else{ a=a+3 ; b=b+3;}printf<"%d,%d\n〞,a,b>;}2. #include <stdio.h>void main<>{ ints,i;for<s=0,i=1;i<5;i++,s+=i> ;printf<"%d\n〞,s>;}3. #include "stdio.h〞void main<>{ char n=‘c’;switch<n++>{ default: printf<"error!〞>; break;case ‘a’: case ‘A’:case ‘b’: case ‘B’: printf<"good!〞>;break; case ‘c’: case ‘C’: printf<"pass!〞>;case ‘d’: case ‘D’: printf<"warm!〞>;}}4. #include <stdio.h>void main<>{ int k=4,n=0;for< ; n<k ; >{ n++;if<n%3!=0> continue;k- -;}printf<"%d,%d\n",k,n>;}5. #include <stdio.h>int f<int b[],intm,int n>{ inti,s=0;for<i=m;i<=n;i+=2> s+=b[i];return s;}void main<>{ intx,a[]={1,2,3,4,5,6,7,8,9,10};x=f<a,3,8>;printf<"%d\n〞,x>;}6. #include <stdio.h>voidcopy_str<char from[ ],char to[ ]>{ int k=0;while<from[k]!=‘\0’>{ to[k]=from[k];k++;}to[k]=‘\0’;/*末尾加上串结束标志*/}void main<>{ char str1[80]=〞red〞,str2[80]=〞green〞;copy_str <str1,str2>;puts<str2>;}7. #include <stdio.h>int d=1;void fun<int p>{ int d=5;d+=p++;printf<"%d〞,d>;}void main<>{ int a=3;fun<a>; d+=a++;printf<"%d\n", d>;}8.#include <stdio.h>void main<>{ int i,j;for<i=0;i<3;i++>{for<j=0;j<=i;j++>printf<"*">;printf<"\n">;}}9. #include <stdio.h>void main<>{ inti;for <i=0; i<3; i++>switch <i>{ case 1: printf<"%d ", i>;case 2: printf<"%d ", i>;default :printf<"%d ", i>;}}10.#include <stdio.h>intws<int x>{ if<x/100>0>return<3>;else if<x/10>0 >return<2>;elsereturn<1>;}void main<>{ int a=123;printf<"%d是%d位数\n",a,ws<a>>;}11. #include <stdio.h>#include <string.h>void main<>{ char a[10]="abc";char b[]="defg";puts<a>;puts<b>;puts<strcat<a,b>>;}12.#include <stdio.h>void main<>{ int i,n[]={1,2,3,4,5};for<i=0;i<2;i++>{ n[i]=n[4-i]+1;printf<"%d ",n[i]>;}for<i=0;i<5;i++>printf<"%d ",n[i]>;}13.#include <stdio.h>void main<>{ int a[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};int i,j,row=0,colum=0,max;max=a[0][0];for<i=0;i<=2;i++>for<j=0;j<=3;j++>if<a[i][j]>max>{ max=a[i][j];row=i;colum=j;}printf<"max=%d,row=%d,colum=%d",max,row,colum>;}14.#include <stdio.h>voidcopy_str<char from[ ],char to[ ]>{ int k=0;while<from[k]!= ‘\0’>{ to[k]=from[k];k++;}to[k]=‘\0’;/*末尾加上串结束标志*/}void main<>{ char str1[80]= "good",str2[80]= "abcdef";copy_str<str1,str2>;puts<str2>;}15. #include <stdio.h>void main<>{ int a=0;a+=<a=8>;printf<"%d\n〞,a>;}16. #include <stdio.h>void main<>{ int x=4;if<x++>=5>printf<"%d\n〞, x> ;elseprintf<"%d\n〞, x--> ;}17. #include <stdio.h>#define MAX<a,b> <a>b ? a : b>+1void main<>{ int i=6,j=8;printf<"%d\n〞,MAX<i,j>>;}18.#include <stdio.h>void main<>{ int i,j,m=0,n=0,k=0;for<i=6; i<=9;i++>for<j=2; j<=3;j++>switch<i%j >{ case 0: m++; break;case 1: n++; break;case 2: k++; break;default: k++;n++;m++;}printf<"%d %d %d\n",m,n,k>;}19. #include <stdio.h>void main<>{ inti;for<i=1;i<5;i++>{ if<i%2>putchar<‘<’>;elsecontinue;putchar<‘>’>;}putchar<‘#’>;}20.#include <stdio.h>void main<>{ int i,n[]={1,2,3,4,5};for<i=0;i<2;i++>{ n[i]=n[4-i]+1;printf<"%d ",n[i]>;}for<i=0;i<5;i++>{ printf<"%d ",n[i]>;}}21. #include <stdio.h>int m=13;int fun<int x,int y>{ int m=3;return<x*y-m>;}void main<>{ int a=7, b=5;printf<"%d\n", fun<a,b>/m>;}22. #include <stdio.h>void main<>{ int n=2;printf<"%d,%d,%d\n〞, ++n , n+=2 , --n> ;}23. #include <stdio.h>void main<>{ 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>;}24. #include <stdio.h>void main<>{ ints,t,a=-2,b=6;s=t=1;if<a>0> s=s+1;if<a>b> t=s+t;else if<a==b> t=5;else t=2*s;printf<"t=%d ", t>;}25. #include <stdio.h>#define S<a,b> <a>*<b>void main<>{ int a=3 ,area;area=S<a,a+3> ;printf<"area=%d\n",area>;}26. #include <stdio.h>void main<>{ inti=0,a=0;while<i<20 >{ for<;;>if<<i%10>==0> break;elsei--;i+=11;a+=i;}printf<"%d\n",a>;}27. #include <stdio.h>void main<>.{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0 ;for<i=0;i<4;i++> s+=aa[i][2];printf<"%d\n 〞,s>;}28. #include <stdio.h>fun<int a, int b>{ if<a>b> return<a>;else return<b>;}void main<>{ int x=3, y=8, z=6, r;r=fun<fun<x,y>, 2*z>;printf<"%d\n", r>;}三、编程题1. 设有分段函数:x <x <1>Y= 2x-1 <1≤x <10> 写一程序,输入 x,输出 y 的值.3x-11 <x≥10>2.编程任意输入两个实数a 和b,计算下面函数的值,并输出y 值.a-b a>by= ba a<b a*b a=b3.编程序求如下分段函数的值4.写一个判断素数的函数.要求在主函数中输入一个整数并输出相应的判断信息.5.编程序计算 s=1!-2!+3!-4!+ …… -10!,并输出结果.6.编写一个函数,将一个字符串〔最多80个字符〕中的大写字母变为小写字母,小写字母变为大写字母.要求字符串的输入与输出在主函数中完成.7.编程计算:s=1+12+123+1234+12345+123456 〔必须用循环控制语句实现〕8.编写函数change 使输入的字符串按反序存放,在主函数中输入和输出字符串.例如输入是:12345abcde,则输出为:edcba543219.编程,在N×N 矩阵中〔即N 行N 列的数组〕,求主对角线和次对角线上的各元素之和. 10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分<平均分>《C语言》综合复习资料参考答案一、单选题二、读程序写出程序执行结果题1、13,32、143、pass!warm!4、3,35、186、red7、848、***9、01112210、123是3位数11、abcdefgabcdefg12、656534513、max=10,row=1,colum=214、good15、1616、517、918、4 3 119、<><>#20、656534521、222、4,3,123、a=2,b=124、t=225、area=1826、3227、2928、12三、编程题1. 设有分段函数:x <x<1>Y= 2x-1 <1≤x<10> 写一程序,输入x,输出y 的值.3x-11 <x≥10>#include <stdio.h>void main<>{intx,y;printf<"输入x:〞>;scanf<"%d\n〞,&x>;if<x<1>{y=x;printf<"x=%3d,y=x=%d\n〞,x,y>;}else if<x<10>{y=2*x-1;printf<"x=%3d,y=2*x-1=%d\n〞,x,y>;}else{y=3*x-11;printf<"x=%3d,y=3*x-11=%d\n〞,x,y>;}}2.编程任意输入两个实数a和b,计算下面函数的值,并输出y值.a-b a>b y=baa<b a*b a=b#include <stdio.h> void main<> { floata,b,y;scanf<"%f,%f 〞,&a,&b>; if<a<b> y=a/b; elseif<a==b>y=a*b; else y=a-b; printf<"y=%f\n 〞,y>; }3.编程序求如下分段函数的值 #include<stdio.h> #include<math.h> void main<> { floatx,y;scanf<"%d 〞,&x>; if<x<=0> y=fabs<x>+3; else if<x<1&&x>=0> {y=1+x*x;} else{y=2*x+sqrt<x>; printf<"x=%f,y=%f\n 〞,x,y>; }4.写一个判断素数的函数.要求在主函数中输入一个整数并输出相应的判断信息. #include <stdio.h> void main<> {intn,i;printf<"please enter a integer number,n=?〞>;scanf<"%d〞,&n>;for<i=2;i<=n-1;i++>if<n%i==0>break;if<i<n> printf<"%d is not a prime number.\n〞,n>;elseprintf<"%d is a prime number.\n〞,n>;}求素数的问题方法有很多,同学们可以到教材或网络上进行查找学习.5.编程序计算s=1!-2!+3!-4!+ …… -10!,并输出结果.#include <stdio.h>void main<>{inti,k=1,njie=1;float sum=0;for<i=1;i<=10;i++>{njie=njie*i;sum=sum+njie*k;k=-1*k;}printf<"%f\n",sum>;}6.编写一个函数,将一个字符串〔最多80个字符〕中的大写字母变为小写字母,小写字母变为大写字母.要求字符串的输入与输出在主函数中完成.#include <stdio.h>void main<>{inti;char a[80];gets<a>;puts<a>;for<i=0;i<80;i++>if<a[i]>=65&&a[i]<=90>a[i]=a[i]+32;puts<a>;}7.编程计算:s=1+12+123+1234+12345+123456 〔必须用循环控制语句实现〕#include <stdio.h>void main<>{longint t=0,s=0,i;for<i=1;i<=6;i++>{t=i+t*10;s=s+t;}printf<〞s=%ld\n〞,s>;}本题请注意s数据类型的定义.8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串.例如输入是:12345abcde,则输出为:edcba54321void main<>{char a[100];gets<a>;change<a>;puts<a>;}#include<stdio.h>#include<string.h>void change<char a[]>{inti,j,k;char temp;k=strlen<a>;for<i=0;i<k;i++>for<j=i+1;j<k;j++>{temp=a[i];a[i]=a[j];a[j]=temp;}}9.编程,在N×N矩阵中〔即N行N列的数组〕,求主对角线和次对角线上的各元素之和. #define N 10;main<>{inti,j;int a[N][N];int sum=0;for<i=0;i<N;i++>for<j=0;j<N;j++>scanf<"%d",&a[i][j]>;for<i=0;i<N;i++>for<j=0;j<N;j++>if<i==j||<i+j==N>>//i==j是判断是否主对角线的元素i+j==N 是判断是否是次对角线的元素sum+=a[i][j];printf<"%d",sum>;}10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分<平均分>#include <stdio.h>int main<>{int a[10],i,max,min;float sum;for<i=0;i<10;i++ >{scanf<"%d",&a[i]>;}max=a[0];min=a[0];for<i=1;i<=9;i++>{if<max<a[i]>max=a[i];else if<min>a[i]>min=a[i];}for<i=0;i<=9;i++>{sum=sum+a[i];}sum=<sum-max-min>/8;printf<"%f\n",sum>;}}。

中国石油大学C语言在线作业参考

中国石油大学C语言在线作业参考

中国石油大学C语言在线作业参考一、单项选择题答题要求:每题只有一个正确的选项。

1(5.0分)在下面几组数据类型中, 全为最常用的基本数据类型的是()•A)整型实型字符型••B)整型数组指针••C)数组结构体共用体••D)指针逻辑型空类型•参考答案: A收起解析解析:无2(5.0分)在C语言中,十进制数47可等价地表示为()•A)••B)02f••C)57••D)057•参考答案: D收起解析解析:无3(5.0分)执行下面程序:main(){int x=1,y=1,z=1;x=x++ +y++ +z++;printf("%d, %d , %d",x,++y,z++);输出的结果为()•A)4,3,2••B)3,3,2••C)3,3,3••D)3,2,2•参考答案: A收起解析解析:无4(5.0分)在下列描述中,正确的一条是()•A)if(表达式)语句中,表达式的类型只限于逻辑表达式••B)语句“goto 12;”是合法的••C)for(;;)语句相当于while(1)语句••D)break语句可用于程序的任何地方,以终止程序的执行•参考答案: C收起解析解析:无5(5.0分)语句:printf("%d",(a=2)&&(b=-2));的输出结果是()•A)无输出••B)结果不确定••C)1••D)2•参考答案: C收起解析解析:无6(5.0分)有如下定义:long m;char c;float x;double y;则表达式c m*x/y的值的类型是()•A)long••B)char••C)float••D)double•参考答案: D收起解析解析:无7(5.0分)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()•A)地址传递••B)由实参传给形参,再由形参返回实参••C)值传递••D)传递方式由用户指定•参考答案: C收起解析解析:无8(5.0分)有以下函数定义:void fun( int n ,double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()•A)fun( int y ,double m );••B)k=fun( 10 ,12.5 );••C)fun(x ,n);••D)void fun( 10 ,12.5 );•参考答案: C收起解析解析:无9(5.0分)在计算机中,C语言是属于()•A)机器语言••B)高级语言••C)汇编语言••D)自然语言•参考答案: B收起解析解析:无10(5.0分)在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()•A)1••B)2••C)3••D)4•参考答案: B收起解析解析:无11(5.0分)执行int j,i=1; j=-i ; 后j的值是()•A)-1••B)-2••C)1••D)2•参考答案: A收起解析解析:无12(5.0分)在“while(!a)”中,其中“!a”与表达式()等价。

2020年中国石油大学北京网络学院 C语言程序设计-第二次在线作业 参考答案

2020年中国石油大学北京网络学院 C语言程序设计-第二次在线作业 参考答案

中国石油大学北京网络学院
C语言程序设计-第二次在线作业
参考答案
1.(
2.5分)以下关于数组的描述正确的是()。

A、A. 数组的大小是固定的,但可以有不同的类型的数组元素。

B、B. 数组的大小是可变的,但所有数组元素的类型必须相同。

C、C. 数组的大小是固定的,但所有数组元素的类型必须相同。

D、D. 数组的大小是可变的,但可以有不同的类型的数组元素。

我的答案:C 此题得分:2.5分
2.(2.5分)在定义int a[10];之后,对a的引用正确的是()。

A、A.a[10]
B、B.a[6.3]
C、C.a(6)
D、D.a[10-10]
我的答案:D 此题得分:2.5分
3.(2.5分)以下能正确定义数组并正确赋初值的语句是()。

A、A. int n=5,b[n][n];
B、B. int a[1][2]={{1},{3}};
C、C. int c[2][]={{1,2},{3,4}}
D、D. int a[3][2]={{1,2},{3,4}}。

最新中国石油大学华东C语言习题答案

最新中国石油大学华东C语言习题答案

中国石油大学华东C 语言习题答案C语言复习题【设计型】5.1 输出一行星号编写程序在一行中输出 N 个星号。

输入: N值输出:一行中N个星号#include<stdio.h>int main(){int a,i;scanf("%d",&a);for(i=1;i<=a;i++)printf("*");printf("\n");return 0;}【设计型】5.2 打印平行四边形输入图形的高 n ,输出如下例( n=5 )所示的图形 .*************************输入:整数n例如 5输出:由*组成的高为5的平行四边形#include<stdio.h>int main(){int i,j,num;scanf("%d",&num);for(i=0;i<num;i++){for(j=0;j<num;j++)printf("*");printf("\n");}return 0;}【设计型】5.3 编程计算编写程序,输入n的值,求 :1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n (保留四位小数)#include<stdio.h>int main(){double n,i,sum,k=1.0;scanf("%lf",&n);i=1,sum=0;while(i<=n){sum=sum+k/i;i++;k=-k;(用这个式子实现正负交替)}printf("sum=%.4lf\n",sum);return 0;}【设计型】5.4 分数序列有一个分数序列:...............,输入整数n,求出其前n项的和。

输出语句格式为:printf("sum=%16.10f\n",s);#include<stdio.h>int main(){int n,a,b,i,temp;double sum;scanf("%d",&n);i=1,sum=0,a=2,b=1;while(i<=n){sum=sum+a*1.0/b;temp=a;a=a+b;b=temp;(几个式子实现数值的变换)i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.5 求e的值编写程序,从键盘输入整数 n , 求 e 的值 . e=1+1/1!+1/2!+1/3!+..+1/n! 注意:用 double 型数据计算输出语句:printf("sum=%16.10f\n",sum);#include<stdio.h>int main(){int n,i;double sum,jc;scanf("%d",&n);i=1,sum=1.0 jc=1.0;while(i<=n){jc=jc*i;sum=sum+1.0/jc;i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.6 最大公约数输入两个正整数m和n,求它们的最大公约数和最小公倍数比如,输入m和n的值分别为14和21,则最大公约数为7,最小公倍数为42。

2020年中国石油大学北京网络学院 C语言程序设计-第一次在线作业 参考答案

2020年中国石油大学北京网络学院 C语言程序设计-第一次在线作业 参考答案

中国石油大学北京网络学院
C语言程序设计-第一次在线作业
参考答案
1.(
2.5分)一个C语言程序总是从()开始执行。

A、A. 主过程
B、B. 主函数
C、C. 子程序
D、D.主程序
我的答案:B 此题得分:2.5分
2.(2.5分)以下叙述不正确的是:()。

A、A. 在C程序中,语句之间必须要用分号" ;" 分隔
B、B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数
C、C. 在C程序中,无论是整数还是实数都能正确无误地表示
D、D. 在C程序中,%是只能用于整数运算的运算符
我的答案:C 此题得分:2.5分
3.(2.5分)以下不正确的C语言标识符是()。

A、A. ABC
B、B. abc
C、C. a_bc。

2023年秋石油大学华东C语言第四阶段在线作业自测

2023年秋石油大学华东C语言第四阶段在线作业自测

1.第1题单项选择题若二维数组a有m列,则a[I][j]元素前旳数组元素个数为:A、j*m iB、i*m jC、i*m j-113D、i*m j 1原则答案:D您旳答案:题目分数:5此题得分:0.0批注:2.第2题单项选择题下面有关for循环旳对旳描述是A、for循环只能用于循环次数已经确定旳状况B、for循环是先执行循环体语句,后判断体现式C、在for循环中,不能用break语句跳出循环体D、for循环旳循环体语句中,可以包括多条语句,但必须用花括号括原则答案:D您旳答案:题目分数:5此题得分:0.0批注:3.第3题单项选择题若有如下语句: int *p1,*p2; 则其中int所指旳是A、p1旳类型B、*p1和*p2旳类型C、p2旳类型D、p1和p2所能指向变量旳类型原则答案:D您旳答案:题目分数:5此题得分:0.0批注:4.第4题单项选择题设有如下定义和执行语句,其输出成果为:int a=3,b=3; a = --b + 1; printf(“%d %d”,a,b);A、3 2B、4 2C、2 2D、2 3原则答案:A您旳答案:题目分数:5此题得分:0.0批注:5.第5题单项选择题若有阐明语句:char c= ‘\64’ ; 则变量C包括:A、1个字符B、2个字符C、3个字符D、阐明不合法,C值不确定原则答案:A您旳答案:题目分数:5此题得分:0.0批注:6.第6题单项选择题不是给数组旳第一种元素赋值旳语句是A、int a[2]={1};B、int a[2]={1*2};C、int a[2];scanf (“%d”,a);D、a[1]=1;原则答案:D您旳答案:题目分数:5此题得分:0.0批注:7.第7题单项选择题判断字符串s1与否不小于字符串s2,应当使用A、if(s1>s2)B、if(strcmp(s1,s2))C、if(strcmp(s2,s1)>0)D、if(strcmp(s1,s2)>0)原则答案:D您旳答案:题目分数:5此题得分:0.0批注:8.第8题单项选择题若有定义:int a[5];则a数组中首元素旳地址可以表达为A、&aB、a 1C、aD、&a[1]原则答案:C您旳答案:题目分数:5此题得分:0.0批注:9.第9题单项选择题在执行int a[ ][3]={{1,2},{3,4}}; 语句后a[1][2]旳值是A、3B、4C、0D、2原则答案:C您旳答案:题目分数:5此题得分:0.0批注:10.第10题单项选择题C语言中变量旳指针指旳是:A、变量类型B、变量值C、变量值D、变量地址原则答案:D您旳答案:题目分数:5此题得分:0.0批注:11.第11题单项选择题在调用函数时,假如实参是简朴变量,它与对应形参之间旳数据传递方式是A、地址传递B、由实参传给形参,再由形参返回实参C、值传递D、传递方式由顾客指定原则答案:C您旳答案:题目分数:5此题得分:0.0批注:12.第12题单项选择题已知char b[5],*p=b; ,则对旳旳赋值语句是A、b=“abcd”;B、*b=“abcd”;C、p=“abcd”;D、*p=“abcd”;原则答案:C您旳答案:题目分数:5此题得分:0.0批注:13.第13题单项选择题C语言中,运算对象必须是整型数旳运算符是A、%B、\C、% 和 \D、**原则答案:A您旳答案:题目分数:5此题得分:0.0批注:14.第14题单项选择题设有两字符串“Beijing”、“China”分别寄存在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后旳为:A、strcpy(str1,str2);B、strcpy(str1, “China”);C、strcat(str1,“China”)D、strcat(“Beijing”,str2);原则答案:C您旳答案:题目分数:5此题得分:0.0批注:15.第15题单项选择题在下面几组数据类型中, 全为最常用旳基本数据类型旳是哪一组:A、整型实型字符型B、整型数组指针C、数组构造体共用体D、指针逻辑型空类型原则答案:A您旳答案:题目分数:5此题得分:0.0批注:16.第16题单项选择题程序段如下 int k=0; while(k++<=2); printf("last=%d\n",k); 则执行成果是last=A、2B、3C、4D、无成果原则答案:C您旳答案:题目分数:5此题得分:0.0批注:17.第17题单项选择题能对旳表达x旳取值范围在[0,100]和[-10,-5]内旳体现式是A、(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B、(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C、(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D、(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)原则答案:B您旳答案:题目分数:5此题得分:0.0批注:18.第18题单项选择题若有如下定义:int a[10],*p=a; 则*(p 3)表达旳是A、元素a[3]旳地址B、元素a[3]旳值C、元素a[4]旳地址D、元素a[4]旳值原则答案:B您旳答案:题目分数:5此题得分:0.0批注:19.第19题单项选择题下列说法对旳旳是A、main函数必须放在C程序旳开头B、main函数必须放在C程序旳最终C、main函数可以放在C程序旳中间部分,但在执行C程序时是从程序D、main函数可以放在C程序旳中间部分,但在执行C程序时是从main原则答案:D您旳答案:题目分数:5此题得分:0.0批注:20.第20题单项选择题下面程序段旳运行成果是chara[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[5]);A、空格B、\0C、eD、f原则答案:D您旳答案:题目分数:5此题得分:0.0批注:试卷总得分:0.0试卷总批注:。

中国石油大学《程序设计(C语言)》2021年春季学期在线作业(三)附参考答案

中国石油大学《程序设计(C语言)》2021年春季学期在线作业(三)附参考答案
D.3,2,2
答案:A
A.3
B.4
C.0
D.2
答案:C
11.在一个C程序中( )
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置
答案:B
12.下面有关for循环的正确描述是( )
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.while(‘\0’)
D.for(;’\0’;)
答案:B
7.已定义c为字符型变量,则下列语句中正确的赋值语句是( )
A.c='66';
B.c="66"
C.c=66;
D.c="B"
答案:C
8.以下非法的赋值语句是( )
A.n=(i=2, i);
B.j ;
C.(i 1);
D.x=j>0;
答案:C
9.以下选项中不能正确赋值的是( )
答案:A
15.在C语言中,下列字符常量中合法的是( )
A.′\084′
B.′\x43′
C.′ab′
D.”\0”
答案:B
16ห้องสมุดไป่ตู้执行int j,i=1; j=-i ; 后j的值是( )
A.-1
B.-2
C.1
D.2
答案:A
17.以下选项中可作为C语言合法整数的是( )
A.10110B
B.0386
C.x2a2
D.0Xffa
答案:D
18.以下选项中合法的用户标识是( )
A.long
B._2Test
C.3Dmax

石大远程C语言程序设计作业1

石大远程C语言程序设计作业1

• A、A. 主过程• B、B. 主函数• C、C. 子程序• D、D.主程序我的答案:B 此题得分:2.5分2.(2.5分)以下叙述不正确的是:()。

• A、A. 在C程序中,语句之间必须要用分号" ;" 分隔• B、B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数• C、C. 在C程序中,无论是整数还是实数都能正确无误地表示• D、D. 在C程序中,%是只能用于整数运算的运算符我的答案:C 此题得分:2.5分3.(2.5分)以下不正确的C语言标识符是()。

• B、B. abc• C、C. a_bc• D、D. ab.c我的答案:D 此题得分:2.5分4.(2.5分)下列字符串是标识符的是:()。

• A、A. _HJ• B、B. 9_student• C、C. long• D、D. LINE 1我的答案:A 此题得分:2.5分5.(2.5分)以下说法中正确的是()。

• A、A. C语言程序总是从第一个定义的函数开始执行• B、B. 在C语言程序中,要调用的函数必须放在main()函数中定义• C、C. C语言程序总是从main()函数开始执行• D、D. C语言程序中的main()函数必须放在程序的开始部分我的答案:C 此题得分:2.5分6.(2.5分)在C语言中,字符型数据在内存中以()形式存放。

• A、A. 原码• B、B. BCD码• D、D. ASCII码我的答案:D 此题得分:2.5分7.(2.5分)若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(i nt)(x+y)%2/4的值是()。

• A、A. 2.500000• B、B. 2.750000• C、C. 3.500000• D、D. 0.000000我的答案:A 此题得分:2.5分8.(2.5分)设有说明:char w; int x; float y; double z;则表达式w*x +z-y值的数据类型为()。

中国石油大学(华东)《程序设计(C语言)》2020年秋季学期在线作业(三)附参考答案

中国石油大学(华东)《程序设计(C语言)》2020年秋季学期在线作业(三)附参考答案
19.初始化多维数组的语句中,可以默认的是( )
A.最后一个下标界
B.第1个下标界
C.第2个下标界
D.以上都不对
答案:B
20.以下关于数组的描述正确的是( )
A.数组大小固定,但是可以有不同类型的数组元素
B.数组大小可变,但是所有数组元素的类型必须相同
C.数组大小固定,所有元素的类型必须相同
D.数组大小可变,可以有不同类型的数组元素
D.int d[3][2]={{1,2},{34}};
答案:D
7.以下选项中非法的表达式是( )
A.(a+2)++
B.i=j==1
C.(char)(65+10)
D.x=x-1
答案:A
8.在“while(!a)”中,其中“!a”与表达式( )等价。
A.a= =0
B.a= =1
C.a!=1
D.a!=0
答案:D
中国石油大学(华东)《程序设计(
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是( )
A.1,1,1
B.1,2,0
C.0,1,1
D.0,2,0
答案:D
2.以下选项中合法的用户标识是( )
答案:C
C.当表达式的值为1时
D.当表达式的值非0时
答案:A
15.在一个C程序中( )
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置

中国石油大学(华东)C语言在线测评答案第5、6章(2013级亲测正确)

中国石油大学(华东)C语言在线测评答案第5、6章(2013级亲测正确)

5.1 计算并输出两个整数的最大值#include <stdio.h>int main(){int data1,data2;char op;scanf("%d%c%d",&data1,&op,&data2);switch(op){case'+':printf("%d+%d=%d\n",data1,data2,data1+data2); break;case'-':printf("%d-%d=%d\n",data1,data2,data1-data2); break;case'*':printf("%d*%d=%d\n",data1,data2,data1*data2); break;case'/':if(0==data2)printf("Division by zero!\n");elseprintf("%d/%d=%d\n",data1,data2,data1/data2);}return 0;}5.3 百分制转化为五分制问题描述:从键盘输入一个百分制成绩(0~100)n,编程计算并输出其对应的五分制成绩('A'~'E')。

输入:整数n 输出: n及其对应的五分制成绩#include <stdio.h>int main(){int a,t;scanf("%d",&a);if(a<0||a>100)printf("Input error!\n");else{if(a>=90)t=1;else if(a>=80&&a<90)t=2;else if(a>=70&&a<80)t=3;else if(a>=60&&a<70)t=4;elset=5;switch(t){case 1:printf("%d--A\n",a); break;case 2:printf("%d--B\n",a); break;case 3:printf("%d--C\n",a); break;case 4:printf("%d--D\n",a); break;case 5:printf("%d--E\n",a); break;}}return 0;}5.4 绝对值问题描述:输入一个实数,不使用绝对值函数计算并输出该实数的绝对值。

中国石油大学C语言考试题及答案

中国石油大学C语言考试题及答案

中国石油大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的叙述中,正确的是()。

A. C语言是高级语言B. C语言是面向对象的编程语言C. C语言是汇编语言D. C语言是机器语言答案:A2. 在C语言中,int类型的变量占用的内存空间通常是()。

A. 1个字节B. 2个字节C. 4个字节D. 8个字节答案:C3. 下列哪个选项不是C语言中的关键字()。

A. ifB. elseC. switchD. then答案:D4. C语言中,用于定义数组的关键字是()。

A. intB. floatC. arrayD. struct答案:A5. 在C语言中,用于定义函数的关键字是()。

A. functionB. defC. defineD. void答案:D6. 下列哪个选项是C语言中的合法标识符()。

A. 2variableB. variable2C. variable$2D. variable_2答案:D7. C语言中,用于表示逻辑“与”操作的运算符是()。

A. ||B. &&C. andD. or答案:B8. 在C语言中,用于定义指针的关键字是()。

A. pointerB. ptrC. refD. *答案:D9. 下列哪个选项是C语言中的合法字符串字面量()。

A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A10. C语言中,用于表示逻辑“非”操作的运算符是()。

A. notB. !C. ~D. ^答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示字符常量的数据类型是____。

答案:char2. C语言中,用于计算两个数的和的运算符是____。

答案:+3. 在C语言中,用于定义结构体的关键字是____。

答案:struct4. C语言中,用于定义枚举类型的关键字是____。

答案:enum5. C语言中,用于定义联合类型的关键字是____。

C语言_中国石油大学(华东)c语言上机题及答案大全

C语言_中国石油大学(华东)c语言上机题及答案大全

C语言_中国石油大学(华东)c语言上机题及答案大全1.1 Hello world.让我们用C语言向世界问好。

最早的程序基本是这个样子的:程序一:#includevoid main(){printf("Hello world.\");}程序二:#includeint main(){printf("Hello world.\");return 0;}上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。

输入:无输出:Hello world.#includeint main(){printf("Hello world.\");}1.2 Welcome to Beijing.让我们来练习如何显示多行文字。

输入:无输出:就是下面的那段文字。

#includevoid main(){printf("Welcome\");printf("to\");printf("Beijing.\");}1.3 练习最简单的printf和scanfprintf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。

输入:整型变量x的值。

输出:输出整型变量x对应的十进制、八进制和十六进制形式。

认真观察-1的八进制和十六进制输出,请想想是为什么。

#includeint main(){int x;scanf("%d",&x);printf("x=%d,",x);printf("x=%o,",x);printf("x=%x\",x);return 0;}1.4 练习两个整数之间的运算背景:基本练习。

输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444输出:分别输出进行+、-、*、/、*之后的运行结果。

石大远程C语言程序设计作业2

石大远程C语言程序设计作业2

• A、A. 数组的大小是固定的,但可以有不同的类型的数组元素。

• B、B. 数组的大小是可变的,但所有数组元素的类型必须相同。

• C、C. 数组的大小是固定的,但所有数组元素的类型必须相同。

• D、D. 数组的大小是可变的,但可以有不同的类型的数组元素。

我的答案:C 此题得分:2.5分2.(2.5分)在定义int a[10];之后,对a的引用正确的是()。

• A、A.a[10]• B、B.a[6.3]• C、C.a(6)• D、D.a[10-10]我的答案:D 此题得分:2.5分3.(2.5分)以下能正确定义数组并正确赋初值的语句是()。

• A、A. int n=5,b[n][n];• B、B. int a[1][2]={{1},{3}};• C、C. int c[2][]={{1,2},{3,4}}• D、D. int a[3][2]={{1,2},{3,4}}我的答案:D 此题得分:2.5分4.(2.5分)以下不能正确赋值的是()。

• A、A. char s1[10];s1=" test" ;• B、B. char s2[]={’t’,’e’,’s’,’t’}• C、C. char s3[20]= " test" ;• D、D. char s4[4]={ ’t’,’e’,’s’,’t’}我的答案:A 此题得分:2.5分5.(2.5分)下面程序段运行时输出结果是()。

char s[18]= " a book! " ; printf(" %.4s" ,s);• A、A. a book!• B、B.ook!• C、C. a bo• D、D. 格式描述不正确,没有确定输出我的答案:C 此题得分:2.5分6.(2.5分)下面程序段运行时输出结果是()。

char s[12]= " china" ; printf(" %d\n" ,strlen(s));• A、A. 5• B、B. 8• C、C. 7• D、D. 6我的答案:A 此题得分:2.5分7.(2.5分)在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是()。

中国石油大学c语言

中国石油大学c语言

小明今年3岁了,现在他已经能够认识100以内的非负整数,并且能够进行100以内的非负整数的加法计算。

对于大于等于100的整数,小明仅保留该数的最后两位进行计算。

如果计算结果大于等于100,那么小明也仅保留计算结果的最后两位。

例如,对于小明来说:1)1234和34是相等的。

2)35+80=15。

现给定非负整数A和B,你的任务是代表小明计算出A+B的值。

输入一行,包含两个非负整数A和B(A和B均在int类型可表示的范围内)。

输出输出小明A+B的结果。

星期几输入今天是星期几的序号(星期天的序号为0),输出明天是星期几的英文单词。

周日到周六的英文表示:Sun,Mon,Tue,Wed,Thu,Fri,Sat输入一个整数(0-6)输出所表示的英文ASCIISince all we know the ASCII code, your job is simple: input numbers and output corresponding messages.InputThe first line contains one integer T (1<=T<=1000).The input will contain T positive integers separated by whitespaces .The integers will be no less than 32.Output the corresponding message in just one line.Warning: no extra characters are allowed.HintCharacter ASCII codeA 65a 97Whitespace 32校庆纪念品六十载弦歌不辍,一甲子薪火相传。

2013年10月,中国石油大学迎来了60周年华诞。

校庆期间对每位荣归母校的校友都将提供一份完全立方体包装的纪念品,志愿者将其堆放在墙角,具体堆放形状如下图所示:因为纪念品堆得实在是太有规律了,你只要知道它的层数就可以计算所有纪念品的数量了。

石大在线C语言综合复习题

石大在线C语言综合复习题

《C语言程序设计》综合练习题要求掌握的章节:第1章、第3章~第8章、第10章(前4节)、第11章(前6节)重点章节:第3章~第8章、第10章(前4节)难点章节:第8章、第10章(前4节)考试题型:①选择题(填空题)(20%)②读程序题(40%)③编程序题(40%)第1章C语言概述一、选择题1.能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序B)编辑程序C)解释程序D)编译程序2.在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置3.C语言中用于结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-while D)if、for、continue4.C语言程序的基本单位是A) 函数B) 过程C) 子例程D) 子程序二、填空题1.C语言程序总是从main函数开始执行。

2.C语言是种面向面向过程的程序设计语言,其程序的基本单位是函数。

.3.C语言中的函数由函数首部、函数体两部分组成。

4.结构化程序设计中所规定的三种基本控制结构是顺序结构、选择结构和循环结构。

第3章数据类型、运算符与表达式一、选择题1.下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.C语言中基本数据类型有A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型3.在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8D)164.用8位无符号二进制数能表示的最大十进制数为A)127 B)128 C)255D)2565.在计算机系统中,存储一个汉字的国标码所需要的字节数为A) 1 B) 2C) 3 D) 46.在C语言中,char型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码7.十六进制数100转换为十进制数为A)256B)512 C)1024 D)648.十六进制数7A转化成八进制数是A)123 B)122C)173 D)1729.十进制数32转化成十六进制数是A)20 B)ff C)10 D)2110.与十进制数511等值的十六进制数为A) 1FF B) 2FF C) 1FE D) 2FE11.以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a212.以下选项中合法的实型常数是A) 5E2.0B) E-3 C) .2E0 D) 1.3E13.依据C语言的语法规则,下列()是用户定义的合法标识符。

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

1.1 Hello world.让我们用C语言向世界问好。

最早的程序基本是这个样子的:程序一:#include <stdio.h>void main(){printf("Hello world.\n");}程序二:#include <stdio.h>int main(){printf("Hello world.\n");return 0;}上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。

输入:无输出:Hello world.#include<stdio.h>int main(){printf("Hello world.\n");}1.2 Welcome to Beijing.让我们来练习如何显示多行文字。

输入:无输出:就是下面的那段文字。

#include<stdio.h>void main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");}1.3 练习最简单的printf和scanfprintf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。

输入:整型变量x的值。

输出:输出整型变量x对应的十进制、八进制和十六进制形式。

认真观察-1的八进制和十六进制输出,请想想是为什么。

#include <stdio.h>int main(){int x;scanf("%d",&x);printf("x=%d,",x);printf("x=%o,",x);printf("x=%x\n",x);return 0;}1.4 练习两个整数之间的运算背景:基本练习。

输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444输出:分别输出进行+、-、*、/、*之后的运行结果。

#include<stdio.h>int main(){int x,y;scanf("%d%d",&x,&y);printf("%d+%d=%d\n",x,y,x+y);printf("%d-%d=%d\n",x,y,x-y);printf("%d*%d=%d\n",x,y,x*y);printf("%d/%d=%d\n",x,y,x/y);printf("%d%%%d=%d\n",x,y,x%y);return 0;}1.5 学习打印你的第一个图形背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。

程序如下:#include <stdio.h>int main(){printf("****\n");printf("****\n");printf("****\n");printf("****\n");return 0;}要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。

输入:无。

输出:指定图形。

#include <stdio.h>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}2.1 整型数的表示范围编写一个循环程序,输入N 值,输出N 的阶乘。

关于循环程序怎么编写,可以参考教材第3章P66页的例题4.2和第5章P82的例题5.1的内容。

注意整型数的表示范围,如果当输入的N 比较大时,例如N 等于20 时,输出怎么是负数了?自己想明白吧!#include<stdio.h>void main(){int N,i;int sum=1;N>=2;scanf("%d",&N);if(N<=16){for (i=1;i<=N;i++)sum=sum*i;printf("%d\n",sum);}if(N>=17)printf("N is too big!\n");}2.2 求正弦函数值已知求正弦sin(x) 的近似值的多项式公式为:sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …编写程序,要求输入x (单位是弧度)和ε,按上述公式计算sin(x) 的近似值,要求计算的误差小于给定的ε。

此题当然要用到循环语句,到第5章去找个猫来照着画吧,循环的终止条件就是本次计算出来的正弦函数值和上次计算的值的差小于给定的ε。

求两个值的差时,要求出其绝对值,使用库函数fabs(),头文件在math.h里。

友情提示:给定的误差值ε越小,计算的精度越高,但是要注意喽,给的精度太高,你的程序会成为死循环。

如果出现死循环的情况,可以用<Ctrl>+<Break>键退出程序。

#include <stdio.h>#include <math.h>int main(){ float x,eps,s,y=0,y0,t;int n,j;scanf("%f%f",&x,&eps);n=t=j=1;s=x;do{ y0=y;if (n%2==0) y=y-s/t;else y=y+s/t;s*=x*x;t*=(j+1)*(j+2);j+=2;n++;} while(fabs(y0-y)>eps);printf("%f\n",sin(x));system("PAUSE");return 0;}2.3 判断输入的字符的类型我们将字符分为五类:大写字母、小写字母、数字、控制字符、其他字符。

编写程序,从键盘输入一个字符,输出字符所属的类型:大写字母时输出capital letters,小写字母时输出small letters,数字是输出figures,其他字符时输出others。

#include<stdio.h>void main(){char c;c = getchar ( );if (c < 0x20)printf ("The character is a control character\n");else if (c >= '0' && c <= '9')printf ("figures\n");else if (c >= 'A' && c <= 'Z')printf ("capital letters\n");else if (c >= 'a' && c <= 'z')printf ("small letters\n");elseprintf ("others\n");}3.1 找零钱假定有 5 角、1 角、5 分、2 分和 1 分共 5 种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。

例如,当要给某顾客找7 角 2 分钱时,会给他一个 5 角,2 个 1 角和1 个2 分的硬币。

试编写一个程序,输入的是要找给顾客的零钱(以分为单位),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少。

#include <stdio.h>int main(){int x1,x2,x3,x4,x5;int x;scanf("%d",&x);x1=x/50;x2=x%50/10;x3=x%50%10/5;x4=x%50%10%5/2;x5=x%50%10%5%2/1;printf("%d\n",x1);printf("%d\n",x2);printf("%d\n",x3);printf("%d\n",x4);printf("%d\n",x5);return 0;}3.2 计算时钟的夹角背景:钟面上的时针和分针之间的夹角总是在0 度~ 359 度之间。

举例来说,在十二点的时候两针之间的夹角为0 度,而在六点的时候夹角为180 度,在三点的时候为90 度。

本题要解决的是计算0:00 到12:00之间任意一个时间的夹角。

输入:每组测试数据包含两个数字:第一个数字代表小时( 大于等于0 小于12) ,第二个数字代表分( 在区间[0, 59] 上) 。

输出:对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。

友情提示:以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。

提示:时钟夹角计算公式|5.5m-30h|,h为时针,m为分针。

求浮点型绝对值的函数为fabs,需要包含math.h头文件#include "stdio.h"#include "math.h"int main(){int h,m;double angle;scanf("%d%d",&h,&m);angle=fabs(5.5*m-30*h);if(angle>180)angle=360-angle;printf("At %d:%02d the angle is %.1f degrees.\n",h,m,angle);}3.3 照猫画猫:计算圆柱的侧面积及体积如果已知圆柱的底面半径r ,以及高h ,则可计算出圆柱的侧面积s=2πrh ,体积v=πr 2 h 。

相关文档
最新文档