C语言上机作业试题5套

合集下载

C语言上机试题1-20套

C语言上机试题1-20套

C 语言上机考试题(第一套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){float…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}解答:#include <conio.h> #include <stdio.h> double fun( int n ) { double s=0; int i; for(i=1;i<n+1;i++) s+=1.0/(i*(i+1)); return s; } main() /*主函数 */ { system("cls"); printf("%f\n",fun(10)); }说明:主函数中的clrscr()函数为TC 下使用的清屏函数,在VC 中不能使用,在本题中可以直接删除或改为system("cls")2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?解答:#include <stdio.h>int main(void){int max,num=0;int i,j;for(i=10000;i<20001;i++){for(j=2;j<i;j++)if( i%j==0 )break;if( j==i && i%10==7){num++;max=i;}}printf("num=%d,max=%d\n",num,max);return 0;}3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。

C语言程序设计上机考试试题和参考答案

C语言程序设计上机考试试题和参考答案
char str1[80], str2[80]; int m, n;
printf("Input str1:\n"); gets(str1); //1
printf("Input m and n:\n"); scanf("%d%d", &m, &n); //1
mystrcpy(str1, str2, m, n); //2 puts(str2); }
1、请按行读入数据 2、请按给定的函数原型编写程序,否则即使程序运行结果正确,也不给分。 参考答案
#include<stdio.h>
void Input(int a[][10], int n);
int Compute(int a[][10], int n);
main()
{
int n, a[10][10]; int sum;
//2
{
int i, flag = 0, sum = 0; //1
for (i = 1; i <= n / 2; i++) //1
{
if (n % i == 0)
//1
{
sum = sum + i; //1
}
}
if (sum == n)
//1
{
flag = 1;
}
return flag;
//1
} 3.(15 分)请按给定要求编程计算方阵的主对角线之和。其中方阵的输入请在 Input 函数实现,计算主对角之和请在 Compute 函数实现,计算结果请在主函数打印, 且给定的方阵最大为 10x10,方阵实际大小请在主函数读入。Input 函数和 Compute 函数的函数原型如下:

C语言上机作业试题5套含答案

C语言上机作业试题5套含答案

第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。

程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。

例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。

例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。

(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。

)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。

方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。

例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。

⏹A说:不是我。

⏹B说:是C。

⏹C说:是D。

⏹D说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

C语言上机测试题目(完整版)

C语言上机测试题目(完整版)

1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include<stdio.h>void main(){int i,j,k;for(i=1;i<=4;i++)for(j=1;j<=4;j++)for(k=1;k<=4;k++)if(i!=j&&i!=k&&j!=k)printf("%d%d%d ",i,j,k);printf("\n");}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,求应发放奖金总数?#include <stdio.h>main(){ long i;float bonus, bon1, bon2, bon4, bon6, bon10;int c;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;printf("请输入利润i:");scanf("%ld",&i);c=i/100000;if(c>10) c=10;switch(c){ case 0: bonus=1*0.1;break;case 1: bonus=bon1+(i-100000)*0.075;break;case 2 :case 3: bonus=bon2+(i-200000)*0.05; break;case 4:case 5: bonus=bon4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015;break;case 10: bonus=bon10+(i-1000000)*0.01;}printf("奖金是%10.2f",bonus);}3.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#include<stdio.h>#include<math.h>void main(){int a,b,c;for(a=0;;a++){ b=sqrt(a+100);c=sqrt(a+268);if(b*b==a+100 && c*c==a+268){printf("%d\n",a);break;}}}4.输入某年某月某日,判断这一天是这一年的第几天?main(){int day,month,year,sum,leap;printf("\nplease input year,month,day\n");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;}sum=sum+day; /*再加上某天的天数*/if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1;elseleap=0;if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;printf("It is the %dth day.",sum);}5.输入三个整数x,y,z,请把这三个数由小到大输出。

2023年C语言上机题库

2023年C语言上机题库

C语言习题集3.11输入'A'~'F'中旳一种字母, 代表一种十六进制数, 将其转换为十进制数, 求该数与15旳和并输出。

输入格式:B输出格式:26#include<stdio.h>int main(void){char ch;int sum;ch=getchar();sum=ch-'A'+10+15;printf("%d\n",sum);return 0;}3.12输入三个整数, 求其平均值。

输入格式:3 5 7输出格式: 5#include <stdio.h>int main(void){int a,b,c,aver;scanf("%d %d %d",&a,&b,&c);aver=(a+b+c)/3;printf("%d\n",aver);return 0;}3.13根据c=5/9*(f-32) 公式, 输入华氏温度f, 求摄氏温度c, 成果精确到小数点后两位。

输入格式:80.0输出格式:26.67#include<stdio.h>int main(void){float f,c;scanf("%f",&f);c=5.0/9*(f-32);printf("%.2f\n",c);return 0;}3.14输入一种四位正整数, 求其各位数字之和。

例如, 1357旳各位数字之和为1 + 3 + 5 + 7 = 16。

输入格式:1357输出格式:16#include<stdio.h>int main(void){int num;int a,b,c,d,total;scanf("%d",&num);a=num/1000;b=(num-a*1000)/100;c=(num-a*1000-b*100)/10;d=num-a*1000-b*100-c*10;total=a+b+c+d;printf("%d\n",total);return 0;}3.15输入一大写字母, 输出对应旳小写字母。

C语言上机编程题,全

C语言上机编程题,全

上机编程题的最大值,并将该数以格式"%.3f"写到1. 对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)考生目录下的新建文件design1.dat中。

#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;p=fopen("design1.dat","w");max=f(1);for(x=2;x<=10;x++)if(f(x)>max) max=f(x);fprintf(p,"%.3f",max);fclose(p);}float f(float x){y=y-10*cos(y)-5*sin(y);return (y);},若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,2. z=f(x,y)=(3.14*x-y)/(x+y)并将x1、y1以格式"%d,%d"写入到考生目录下的新建文件design1.dat中。

#include <stdio.h>void main(){ FILE *p; float f(float x,float y),min;int x,y,x1,y1;p=fopen("design1.dat","w");min=f(1,1);for(x=1;x<=6;x++)for(y=1;y<=6;y++)if(f(x,y)<min){min=f(x,y); x1=x;y1=y;}fprintf(p,"%d,%d",x1,y1);fclose(p);}float f(float u,float v){ return (3.14*u-v)/(u+v); }若x,y取值为区间[0,10]的整数,找出使z取最小值的3. z=f(x,y)=10*cos(x-4)+5*sin(y-2),x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的新建文件design1.dat中。

C语言上机题库50套

C语言上机题库50套

1、 *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2、编程:i n t i,j=0,m i n=a[0].s;fo r(i=0;i<N;i++){i f(a[i].s<m i n){j=0;b[j++]=a[i];m i n=a[i].s;}e l se i f(m i n==a[i].s)b[j++]=a[i];}re t u rn j;3:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4、i n t i = 0, j = 0;w h i l e(s[i]){i f(i%2==0&&s[i] %2==0)t[j++] =s[i];i++;}t[j] = 0;5、编程:i n t i;f l o at av e r=0.0;fo r(i=0;i<n;i++)av e r+=a[i];av e r=av e r/n;re t u rn av e r;6、编程:i n t i;ch ar *p=s,*q=t;i n t n=0,m=0;w h i l e(*p) /*计算串s的长度n,其中p为临时指针*/{n++;p++;}w h i l e(*q) /*计算串t的长度m,其中q为临时指针*/ {m++;q++;}i f(n>=m) /*比较m和n的值,设置p指向较大的指针*/ p=s;e l sep=t;re t u rn p;7、编程:*n=0; i n t i;fo r(i=1;i<=m;i++)i f(i%7==0||i%11==0)a[*n++]=i;8、n t i;fo r(i=1;i<s t rl e n(s s);i+=2){I f( (s s[i]>='a'&&s s[i]<='z') s s[i]-=32;9、编程:i n t i,j=0;fo r(i=0;i<s t rl e n(s);i+=2)i f(s[i]%2==0) t[j++]=s[i];t[j]='\0';10、编程:i n t i,j=0;fo r((i=0;i<s t rl e n(s);i+=2)t[j++]=s[i];t[j]='\0';11、编程:i n t i,j;i n t t=0;fo r(i=2;i<m;i++){j=2;w h i l e(j<i){i f(i%j==0){x x[t]=i;t++;b re ak;}j++;}*k=t;12、i n t cn t=0;ch ar *p=s s;w h i l e(*p){i f(*p==c)cn t++;p++;}re t u rn cn t;13.编程题:i n t c[3][3];fo r(i=0,i<3;i++)fo r(j=0;j<3;j++){c[i][j]=a[j][i];b[i][j]=a[i][j]+c[i][j];}14、i n t i;*n=0;fo r(i=7;i<1000;i++)i f (((i%7)==0)||((i%11)==0)&&((i%77)!=0)a[(*n)++]=i;15、ch ar *p=t t;i n t i;fo r(i=0;i<26;i++)p p[i]=0;w h i l e(*p){i f(*p>='a'&&p<='z')p p[*p-'a']+=1;p++;}16、i n t p,m=0;fo r(p=0;p<L E N;p++)i f(p!=n){b[m]=a[p];m++;} b[m]='\0';17、编程:i n t k;f l o at s t r=1.0,s u m=1.0;fo r(k=2;k<=n;k++){s um=s um+k;s t r=s t r+1/s u m;}re t u rn s t r;18 f l o at x1=0.0,x0;d o{x0=x1;x1=co s(x0);}w h i l e(f ab s(x0-x1)>0.000001);re t u rn x1;19、编程:i n t f0=0,f1=1,f;d o{f=f0+f1;f0=f1;f1=f;}w h i l e(f<t);re t u rn f;20、编程: d o u bl e s=0.0;i n t i;fo r(i=1;i<=m;i++)s=s+l o g(1.0*i);s=s q rt(s);re t u rn s;21、编程: *c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;22、编程:S TR E C t m p;i n t i,j;fo r (i=0;i<N;i++)fo r (j=i+1;j<N;j++)i f(a[i],s<a[j],s){tm p=a[i];a[i]=a[j];a[j]=tm p;23、编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);24编程: ch ar *p=p1;w h i l e (*p)p++;w h i l e(*p2){*p++=*p2++;*p=0;}25. 编程: l o n g s=0, t;i n t i=0,j,n=s t rl e n(p),k,s1;i f (p[0]=='-')i++;fo r (j=i;j<=n-1;j++){t=p[j]-'0';s1=10;fo r (k=j;k<n-1;k++)t*=s1;s+=t;}i f (p[0]=='-')re t u rn–s;e l se re t u rn s;26,编程:d o u bl e s;f l o at n,t,p i;t=1;p i=0;n=1.0;s=1.0;w h i l e((f ab s(s))>=e p s){p i+=s;t=n/(2*n+1);s*=t;n++;}p i=p i*2;re t u rn pi;27、编程:i n t i;*m ax=a[0];*d=0;fo r(i=0;i<n;i++)i f(*m ax<a[i]);{*m ax=a[i];*d=i;}28、编程: i n t i,j,m ax=a[0][0];f o r(i=0;i<2;i++)f o r (j=0;j<M;j++)i f(m ax<a[i][j])m ax=a[i][j];re t u rn m ax;29、编程:i n t i,j=o;fo r(i=1;i<s t rl e n(s);i+=2)i f (i%2==0&&s[i]%2)t[j++]=s[i];t[j]='\0';30编程:i n t i,j=0;fo r(i=1;i<s t rl e n(s);i+=2)i f(s[i]%2)t[j++]=s[i];t[j]='\0';31、编程:ch ar *p=s si n t i=0;w h i l e(*p){i f((i%2)&&(*p>='a'&&*p<='z'))*p-=32;p++;i++;}32、*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;33、编程:fl o at av=0.0;i n t i,j=0;fo r(i=0;i<m;i++)av+=s co re[i];av/=m;fo r(i=0;i<m;i++)i f(av>sco re[i])be l o w[j++]=s co re[i];re t u rn j;34、编程:i n t i=0;*n=0;f o r (i=1;i<=x;i++)i f((x%i==0)&&(i%2))p p[(*n)++]=i;35、 i n t r=0,t e m p,p,s i g n=1;f o r(t e m p=m+1;te m p<m*m;te m p++){fo r(p=2;p<te m p;p++){i f(te m p%p!=0)s i g n=1;e l se{s i g n=0;b re ak;}}i f(si g n==1&&p>=te m p){i f(k>=0){x x[r++]=te m p;k- -;}e l se b re ak;}}36编程:i n t i,p o s=0,m ax=*s;fo r(i=1;i<t;i++){i f(m ax<*(s+i)){m ax=*(s+i);p o s=i;}}*k=po s;37、编程:fl o at re s ul t,te m p=1.0;i n t i;fo r(i=1; i<=m;i++)t e m p=tem p*i;re s ul t=te m p;fo r(te m p=1.0,i=1;i<=n;i++)t e m p=tem p*i;re s ul t=re s ul t/te m p;fo r(te m p=1.0,i=1;i<=m-n;i++)t e m p=tem p*i;re s ul t=re s ul t/te m p;re t u rn re s ul t;38. i n t i;fo r(i=21;i<=n;i++)i f((i%3==0)&&(i%7==0))s um=s um+i;re t u rn s p rt(s um);39、编程:d o u bl e s=0.0;i n t i;fo r(i=1;i<=n;i++)s=s+1.0/(i*(i+1));re t u rn s;45、编程:i n t i;d o u ble a=1,b=1,s=1;fo r(i=1;i<=n;i++)41、i n t i,n=0,fg=1;ch ar *p=s t r;w h i l e(*p){n++;p++;}fo r(i=0;i<n/2;i++)i f(s t r[i]==s t r[n-1-i]);e l se{fg=0;b re ak;}re t u rn fg;42、编程:i n t i,j;fo r(i=0;i<m m;i++)fo r(j=0;j<n n;j++){b[*n]=*(*(s+i)+j);*n=*n+1;}43 f o r(j=0;j<n n;j++)fo r(i=0;i<m m;i++)b[n p++]=s[i][j];44..编程:i n t i,j,k=0;fo r(i=0;i<M;i++){fo r(j=0;j<N;j++)i f*(*(a+i)+j){b[k]=*(*(a+i)+j};k++;}e l seb re ak;b[k]=’\0’;}45、编程:i n t b[N],i,j=0;fo r(i=p+1;i<n;i++){b[j]=w[i];j++;}fo r(i=0;i<=p;i++){b[j]=w[i];j++;}fo r(i=0;i<n;i++)w[i]=b[i];46、ch ar a[N];i n t i;fo r(i=0;i<m;i++)a[i]=w[i];w h i l e(w[i]){w[i-m]=w[i];i++;}i--;m--;fo r(;m>=0;m--;i--) w[i]=a[m];47、编程: fo r(j=0;j<M;j++)b[n]=s[j][i];48、编程; i n t i,t,j=0,*p=a;t=p[0];fo r(i=0;i<=n;i++)i f(t==p[i]);e l se{a[j]=t;t=p[i];j++;}i f(i>=n)a[j]=t;re t u rn j;49、编程:i n t i;fo r(i=0;j<M;i++) b[i]=0;fo r(i=0;i<N;i++)i f(a[i]>=100)b[10]++;e l se b[a[i]/10]++;50、编程: i n t i,n=0;fo r(i=0;i<s t rl e n(s);i++){i f(s[i]>=’ a’&&s[i]<=’z’&&s[i+1]=’ ’|s[i+1]==’\0’)n++;}51./*b%10获取b的个位,a/10获取a的十位,a%10获取a的个位,b/10获取b的十位*/ *c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;52. i n t i,j;ch ar t;fo r(i=1;i<=m;i++){t=w[0];fo r(j=1;w[j]!=′\0′;j++)w[j-1]=w[j];w[j-1]=t; }}。

C语言上机考试题

C语言上机考试题

C语言上机考试题(第一套)1. #include <conio.h>#include <stdio.h>double fun( int n ){double sum=0,a=1;for(;n>0;n--,a++)sum=sum+1/(a*(a+1));return sum;}main(){clrscr();printf("%f\n", fun(10));}2.#include <stdio.h>main(){int k,m,s=0,i,b=0;for(k=10000;k<=20000;k++){if(k%10==7){for(i=2,b=0;i<k;i++)if(k%i==0)b++;if(b==0)m=k,s++;}}printf("这样的素数有%d个。

\n 其中最大的一个是%d\n",s,m);}3.#include <stdio.h>main(){int a;printf("请输入一个需要判断的年份:\n");scanf("%d",&a);if(a%4==0&&a%100!=0)printf("是闰年\n");elseif(a%400==0)printf("是闰年\n");elseprintf("不是闰年\n"); }C语言上机考试题(第二套)1. #include <conio.h>#include <stdio.h>double fun( int n ){double sum=0,a=1;for(;n>0;n--,a++)sum=sum+1/(a*(a+1));return sum;}main(){// clrscr();printf("%f\n", fun(10));}2.#include <stdio.h>fun(int n){int i,j=0;for(i=2;i<n;i++)if(n%i==0)j++;return j;}main(){int a,b=0,d,e,k;for(k=1;k<10;k++)if(fun(k)==0)a=k,b++;for(k=10;k<100;k++)if(fun(k)==0){e=k%10,d=k/10;if(e==d)a=k,b++;}for(k=100;k<=1000;k++)if(fun(k)==0){e=k%10,d=k/100;if(e==d)a=k,b++;}printf("[1,1000]之内既是回文数,又是素数的最大整数:%d\n",a);printf("[1,1000]以内既是回文数,又是素数的整数有%d个\n",b);}3.#include <stdio.h>#include <string.h>main(){char str[81];int i,j=0,w=1,s=0;printf("请输入一串字符:\n");gets(str);for(i=0;i<strlen(str);i++){if(str[i]==' ')s++;if(str[i]==' '&&str[i+1]!=' ')w++;}if(str[0]==' ')w--;if(str[strlen(str)-1]==' ')w--;printf("单词个数为:%d\n空格个数为:%d\n",w,s);}C语言上机考试题(第三套)1.//#include "conio.h"#include "math.h"#include "stdio.h" int fun(int t){int a=0,b=1,c,k;for(k=1;;k++){c=b;b=a+b;a=c;if(a>t)break;}return a;}main(){int n;//clrscr();n=1000;printf("n = %d, f = %d\n",n, fun(n));}2.#include "stdio.h"main(){int a[3][3],i,j,s=0;printf("请依次输入一个3*3矩阵:\n");for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%d",&a[i][j]);if(i==j||i+j==2)s=s+a[i][j]*a[i][j];}printf("对角线平方和为:%d\n",s);}3.#include<stdio.h>#include<string.h>#define N 81fun(char str[]){int i=0,j;while(i<N){if(str[i]<=57&&str[i]>=48)for(j=i;j<N;j++)str[j]=str[j+1];elsei++;}puts(str);}main(){char str[N];printf("请随意输入字符:");gets(str);fun(str);}C语言上机考试题(第四套)1.//#include "conio.h"#include "math.h"#include "stdio.h"double fun( int n){double s=0;int i;for(i=1;i<n;i++)if(i%21==0)s+=i;return sqrt(s);}main(){// clrscr();printf("s=%f\n", fun (1000) ); }2.#include "stdio.h"main(){int a,b,k;for(;;){printf("请输入两数:\n");scanf("%d%d",&a,&b);if(a>0&&b>0)for(k=a;k>=1;k--)if(a%k==0&&b%k==0)break;if(a%k==0&&b%k==0)break;}printf("这两个数的最大公约数是:%d\n",k);}3.#include<stdio.h>main(){double a=1,b=1,i,j,s=0;for(i=1,j=3;;i++,j=j+2){a=a*i;b=b*j;s=s+a/b;if(a/b<0.00005)break;}printf("%f\n",2*(s+1));}C语言上机考试题(第五套)1.#include <conio.h>#include <stdio.h>int fun(int array[3][3]){int a[3][3],i,j;int b[3][3];for(i=0;i<3;i++){for(j=0;j<3;j++)a[i][j]=array[j][i];}for(i=0;i<3;i++)for(j=0;j<3;j++)array[i][j]=a[i][j];}main(){int i,j;intarray[3][3]={{100,200,300},{400,50 0,600},{700,800,900}};// clrscr();for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("converted array:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}}2.#include <stdio.h>main(){float x,y,s=0;int n;for(x=1;x<=100;x++){n=x;if(n%2==0)y=-1/x;elsey=1/x;s=s+y;}printf("前n项和为:%f\n",s); }3.#include<stdio.h> main(){int a[101]={0},i,n,s=0,t;for(n=2;n<=100;n++){for(t=0,i=2;i<n;i++){if(n%i==0)t++;}if(t==0)a[n]=n;}for(n=2;n<=100;n++)if(a[n]!=0&&a[n+2]!=0)s++;printf("2~100中的所有的亲密素数对的个数为:%4d\n",s);}C语言上机考试题(第六套)1.#include "stdio.h"main(){int a,b,c,s,k;printf("请输入一个大于2小于1000的数:\n");scanf("%d",&k);printf("它的所有质因子是:\n");for(a=2;a<=k;a++)if(k%a==0){for(s=0,b=2;b<a;b++)if(a%b==0)s++;if(s==0)printf("%5d",a);}printf("\n");}2.//#include "conio.h"#include "stdio.h"int fun (int n){int s=0,k;for(k=2;k<n;k++)if(n%k==0)s+=k;return s;}main(){//clrscr();printf("%d\n", fun (120));}3.#include<stdio.h>main(){double a=1,b=1,i,j,s=0;int n;printf("请输入求和项数N:\n");scanf("%d",&n);for(i=1;i<=n;i++)s+=1/(i*(i+1));printf("数列前%d项求和为:%f\n",n,s);}C语言上机考试题(第七套)1.//#include <conio.h>#include <stdio.h>#include <math.h>double fun(double x , int n){double a=1,c,s=0,i;c=x;for(i=1;i<=n+1;i++){a=a*i;s=x/a+s;x=x*c;}s=s+1;return s;}main(){//clrscr();printf("%f\n", fun(0.3,10));}2.#include<stdio.h>main(){int a,b,c,d,k;for(k=100;k<=999;k++){a=k/100;b=(k-a*100)/10;c=k-a*100-b*10;d=a*a*a+b*b*b+c*c*c;if(k==d)printf("%5d",k);}printf("\n");}3.#include<stdio.h>#include<math.h>main(){float a,b,c,t,p;for(;;){printf("请正确输入三角形三边长:\n");scanf("%f%f%f",&a,&b,&c);if(a<b)t=a,a=b,b=t;if(b<c)t=b,b=c,c=t;if(a<b)t=a,a=b,b=t;if(a<b+c&&c>0)break;else continue;}p=(a+b+c)/2;t=sqrt(p*(p-a)*(p-b)*(p-c));printf("面积为:%f\n",t);}C语言上机考试题(第八套)1.#include <conio.h>#include <stdio.h>#include <string.h>float fun(int n){int i,s=0;float p=0;for(i=1;i<=n;i++){s+=i;p+=1.0/s;}return p;}main(){int n;float s;// clrscr()printf("\nPlease enter N:");scanf("%d", &n);s = fun(n);printf("the result is: %f\n", s); }2.#include<stdio.h>main(){int i;float h=100,s=100;for(i=1;i<=10;i++){h=h/2;s+=h*2;}printf("第10次落地时,共经过:%f米\n",s);printf("第10次反弹的高度为:%f米\n",h);}3.#include<stdio.h>double fun(){double a=1,b=1,i,j,s=0;for(i=1,j=3;;i++,j=j+2){a=a*i;b=b*j;s=s+a/b;if(a/b<0.000001)break;}s=2*(s+1);return s;}main(){printf("%f\n",fun());}C语言上机考试题(第九套)1.#include "conio.h"#include "stdio.h"void fun( int m, int k ){int a,b,e=1,s=0;for(b=m;;){a=b%k;b=b/k;s+=a*e,e=e*10;if(b<k){s+=b*e;break;}}printf("该数为:%d\n",s);}main( ){int b,n;//clrscr();printf("\nPlease enter a number and a basen\n");scanf("%d%d",&n,&b);fun(n,b);printf("\n");}2.#include "stdio.h"main(){int a,b;for(a=1;a<10;a++){b=a*a;if(b%10==a)printf("%4d\n",a);}for(a=10;a<100;a++){b=a*a;if(b%100==a)printf("%4d\n",a);}for(a=100;a<=1000;a++){b=a*a;if(b%1000==a)printf("%4d\n",a);}}3.#include<stdio.h>main(){float f1,f2,f;f1=2*(-1)*(-1)+3*(-1)+4;f2=-2*5.0*5.0+3*5.0-4;if(f1+f2<=2)f=2*(f1+f2)*(f1+f2)+3*(f1+f2) +4;elsef=-2*(f1+f2)*(f1+f2)+3*(f1+f2) -4;printf("计算结果为:%f\n",f); }C语言上机考试题(第十套)1.#include <conio.h>#include <stdio.h>long fun (int a, int n){long b,e,temp,t,k=1,sum=0;if(a<10&&a>0&&n>1&&n<10){temp=a;for(;k<=n;k++){for(b=0,e=1,t=1;t<=k;t++){a=temp;a=e*a;e=e*10;b+=-a;}sum+=b;}sum+=-2*b;return sum;}else printf("输入有的A或者N 有问题求和结果不正确\n");}main( ){int a, n;//clrscr() ;printf("\nPlease enter a and n:\n ") ;scanf("%d%d",&a,&n) ;printf("The value of function is: %1d\n",fun(a,n));}2.#include <stdio.h>fun(int n){int k,a=0;for(k=2;k<n;k++)if(n%k==0)a++;return a;}main(){int i,j,k,n,t,a,b;for(n=4;n<=100;n=n+2){for(i=2;i<n;i++){j=n-i;if(fun(i)==0&&fun(j)==0)break;}printf("%d=%d+%d\n",n,i,j);}}3.#include <stdio.h>main(){int k,l,m,s=0;for(k=0;k<=10;k++)for(l=0;l<=5;l++)for(m=0;m<=2;m++)if(100==k*10+l*20+m*50)s++;printf("共有%d 种不同的兑换方法\n",s);}C语言上机考试题(第十一套)1.#include<conio.h>#include <stdio.h>double fun ( int x[ ]){int a[1000];int i,j=0,k=0;double s=0;while(x[j]!='\0'){if(x[j]>0){a[k]=x[j];k++;}j++;}for(i=0;i<k;i++)s+=a[i];return s/k;}main( ){int x[1000]; int i=0;// clrscr();printf("\nPlease enter some data (end with 0) ");do{scanf("%d",&x[i]);}while(x[i++] !=0);printf("%f\n",fun ( x ));}2.#include<stdio.h>#include<string.h>#define N 10main(){char str[N];int i=0,flag=0;long num=0;printf("请输入连续数字字符(最多10为数字) :");gets(str);while(str[i]!='\0'&&str[i]!='a'){if(str[i]=='-')flag=1;elseif(str[i]=='+')flag=0;elsenum=num*10+(str[i]-'0');i++;}if(flag==1)num=-num;printf("由数字字符串转化成整数是:%ld\n",num);}3.#include<stdio.h>main(){int a,b,c,s=0;for(a=0;a<=33;a++)for(b=0;b<=50;b++)for(c=0;c<=100;c=c+2)if(100==3*a+2*b+c/2&&a+b+c ==100)s++;printf("共有驼法:%d种\n",s);}C语言上机考试题(第十二套)1.#include <conio.h>#include <stdio.h>float fun(int m, int n){float t,p,j,i,k,o;if(m<n)t=m,m=n,n=t;for(p=1,j=1,i=1,o=m;p<=m-n;o--,p++){j=o*j;i=p*i;}k=j/i;return k;}main() /*主函数*/{// clrscr();printf("P=%f\n", fun (12,8)); }2.#include<stdio.h>main(){int x,y,z,i;printf("1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数:\n");for(i=1;i<=1000;i++){x=i%7,y=i%11;if(x==0&&y!=0||y==0&&x!=0)printf("%4d",i);}printf("\n");}3.#include<stdio.h>main(){int a[3][3],i,j,sum=0;for (i=0;i<3;i++){for (j=0;j<3;j++)scanf("%d",&a[i][j]);}for (i=0;i<3;i++){for (j=0;j<3;j++){if(i+j==2||i==j)sum=sum+a[i][j];}}printf("%d",sum);}C语言上机考试题(第十三套)1.#include <stdio.h>double fun(int n){double a=1,b=2,c,sum=0;for(;n>0;n--){sum=a/b+sum;c=a+b;a=b;b=c;}return sum;}main(){int n;printf("Enter n: ");scanf("%d", &n);printf("\nThe result : %f \n", fun(n));}2.#include <stdio.h>#include <string.h>main(){char str[81];int i,j=0,w=1,s=0;printf("请输入一串字符:\n");gets(str);for(i=0;i<strlen(str);i++){if(str[i]==' ')s++;if(str[i]==' '&&str[i+1]!=' ')w++;}if(str[0]==' ')w--;if(str[strlen(str)-1]==' ')w--;printf("单词个数为:%d\n空格个数为:%d\n",w,s);}3.#include <stdio.h>main(){int k=1,sum=0;for(;k<200;k=k+2)sum=sum+k;printf("sum=%d\n",sum);}C语言上机考试题(第十四套)1.#include "conio.h"#include "stdio.h" #include "math.h"float fun(int n){float a=0,b=0,c=1,d,e,s=0,k;for(k=1;k<=n;k++){s+=sqrt(a);d=a+b+c;a=b,b=c;c=d;}return s;}main ( ){int n;//clrscr( );printf("Input N=");scanf("%d", &n);printf("%f\n", fun(n));}2.#include<stdio.h>fun(int s[10]){int i,j;for(i=1;i<10;i++)for(j=0;j<10-i;j++)if(s[j]<s[j+1]){int temp;temp=s[j];s[j]=s[j+1];s[j+1]=temp;}printf("这10个数按从大到小排列为:\n");for(i=0;i<10;i++)printf("%d",s[i]);}main(){int s[10],i=0;printf("请输入10个整数:");for(;i<10;i++)scanf("%d",&s[i]);fun(s);printf("\n");}3.#include<stdio.h>fun(int s[10]){int i;float a=0;for(i=1;i<9;i++)if(s[i]>s[i+1]){int temp;temp=s[i];s[i]=s[i+1];s[i+1]=temp;}printf("这10个数中最大的为:%d\n",s[9]);for(i=0;i<10;i++)a+=s[i];printf("平均数为:%.1f",a/10);}main(){int s[10],i=0;printf("请输入10个整数:");for(;i<10;i++)scanf("%d",&s[i]);fun(s);printf("\n");}C语言上机考试题(第十五套)1.#include"conio.h"#include"stdio.h"double fun(int m){double a=1,b,j,s=0;for(j=1;j<=m;j++){a=a*j;b=1/a;s+=b;}return s;}main(){int n;//clrscr();printf("Enter n ");scanf("%d", &n);printf("\nThe result is%1f\n", fun(n));}C语言上机考试题(第十六套)1.#include <math.h>#include <stdio.h>float fun(float num){float i=3.0,j=-1.0,k=1.0;while(fabs(1.0/i)>num){k=k+j/i;j=-j;i+=2;}return k*4;}main(){ float n1,n2;//clrsct( );printf("Enter a float numder:");scanf("%f",&n1);n2=fun(n1);printf("%6.4f\n",n2);}2.#include <stdio.h>#include <stdlib.h>void md(int num,int b[20]){int i;for(i=0;i<num;i++)b[i]=rand()%32768;}main(){ int a[20],n,i,j,temp;//clrsct();printf("Enter a int numder:");scanf("%d",&n);md(n,a);for(i=0;i<n;i++){for(j=i+1;j<n;j++)if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}printf("%8d",a[i]);}}3.#include <stdio.h>void main(){int i,j,k;for(i=2;i<=1000;i++){for(j=1,k=0;j<i;j++)if(i%j==0)k+=j;if(k==i)printf("%6d",k);}}C语言上机考试题(第十七套)1.#include "stdio.h"fun(int x,int y , int z ){int j=1;for(;;j++)if(j%x==0&&j%y==0&&j%z= =0)break;return j;}main( ) {int x1,x2,x3,j ;printf("Input x1 x2 x3:\n");scanf("%d%d%d",&x1,&x2,&x 3 ) ;printf("x1=%d, x2=%d, x3=%d\n",x1,x2,x3);j = fun(x1,x2,x3);printf("The minimal common multiple is:%d\n",j);}2.#include "stdio.h"main(){int a,b,sa,sb,k,t;for(a=1;a<=1000;a++){sa=0,sb=0;for(k=1;k<a;k++)if(a%k==0)sa+=k;if(sa<=1000)b=sa;for(t=1;t<b;t++)if(b%t==0)sb+=t;if(a==sb&&a!=b)printf("a=%d\ nb=%d\n\n\n",a,b);}}3.#include "stdio.h"main(){int a,b,c,s=0,k;for(k=100;k<1000;k++){a=k/100,b=k/10%10,c=k%10;if(a!=b&&a!=c&&b!=c)s++;}printf("这样的三位数有%d个\n",s);}C语言上机考试题(第十八套)1.#include<conio.h>#include<stdio.h>#include<math.h>int fun(int a){int i,b=0;for(i=2;i<=a;i++)if(a%i==0)b++;if(b==1)return 1;elsereturn 0;}main(){int x;// clrscr();printf("\nPlease enter a number:");scanf("%d", &x);printf("%d\n", fun(x));}2.#include<stdio.h>main(){int w=1,i;printf("求W=1+21+22+23+…+210\n");for(i=21;i<=210;i++)w+=i;printf("求得:w= %d\n",w);}3.#include<stdio.h>main(){int i,j,s=0,p=0,k=1,t[21];for(j=1;j<=21;j++){s=0;for(i=1;i<=2*j-1;i++)if((2*j-1)%i==0)s++;if(s==2){p++;t[k]=j;k++;}}printf("在[1,21]范围内梅森尼数个数为:%d\n",p);printf("其中最大的一个是:%d\n",t[p]);}C语言上机考试题(第十九套)1.#include <conio.h>#include <stdio.h>long fun ( int k){int i;long s=1;for(i=1;i<=k;i++)s *= i;return s;}main(){int k = 10 ;// clrscr();printf("%d!=%ld\n" , k, fun ( k )) ;}2.#include<stdio.h>main(){int i,j,s=0,w=0,p=0;for(i=2;i<=98;i++){s=0;w=0;for(j=2;j<=i;j++)if(i%j==0)s++;for(j=2;j<=i+2;j++)if((i+2)%j==0)w++;if(s==1&&w==1)p++;}printf("亲密素数个数为:%d\n",p);}3.#include<stdio.h>int add(int n){int j,p=0;for(j=1;j<=n;j++)p+=2*j-1;return p;}main(){int n,i,s=0;printf("数列为:S=1+(1+3)+(1+3+5)+…+(1+3+5+…+(2n-1))\n");printf("请输入项数n= ");scanf("%d",&n);for(i=1;i<=n;i++)s=s+add(i);printf("数列n项和s= %d\n",s); }C语言上机考试题(第二十套)1.#include<stdio.h>int fun(int n){return n*(n+1);}main(){int n,i;float s=0;printf("please enter n=");scanf("%d",&n);for(i=1;i<=n;i++)s=s+1.0/fun(n);printf("s=%f\n",s);} 3.#include<stdio.h>#include<math.h>main(){float a,b,c,d,x1,x2;printf("请输入a的值:");scanf("%f",&a);printf("请输入b的值:");scanf("%f",&b);printf("请输入c的值:");scanf("%f",&c);d=b*b-4*a*c;if(d>0){printf("x1=%4.2f\n",(-b+sqrt(d) )/(2*a));printf("x2=%4.2f\n",(-b-sqrt(d)) /(2*a));}elseif(d==0)printf("x1=x2=%4.2f\n",(-b)/(2 *a));else{printf("x1=%4.2f+%4.2fi\n",(-b )/(2*a),sqrt(-d)/(2*a));printf("x2=%4.2f-%4.2fi\n",(-b) /(2*a),sqrt(-d)/(2*a));}}。

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

第一次上机作业(2014):要求:⏹独立完成,上机调试通过后上交⏹作业提交邮箱:⏹邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)⏹以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。

⏹程序必须采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。

例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。

例:输入17输出The square root of 17.0 is 4.13.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature: 76.8The corresponding Celsius temperature is 24.894. 计算旅途时间输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。

(输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。

)例:输入712 1411 (出发时间是7:12,到达时间是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。

方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。

例:输入1257输出The encrypted number is 4601思考题:你能否编程找出谁做的好事?有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。

⏹A说:不是我。

⏹B说:是C。

⏹C说:是D。

⏹D说:他胡说。

已知三个人说的是真话,一个人说的是假话。

现在要根据这些信息,找出做了好事的人。

第二次上机作业(2014):要求:⏹独立完成,程序必须采用缩进格式,上机调试通过后上交⏹作业提交邮箱:⏹邮件主题命名:班级学号姓名(第2次作业),例如:电1301班2王鹏(第2次作业)⏹以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。

1. 4个数排序从键盘任意输入4个整数,将其按从小到大顺序排序后输出。

例:输入 5 12 -9 3输出After ascending sorting: -9 3 5 122.求1 + 1/2! +....+ 1/n!输入正整数n,计算上式前n 项的和(保留 4 位小数)。

例:输入10输出 1 + 1/2! +....+ 1/10!=1.71833. 编程计算表达式:data1 op data2 的值。

(+ - * / %)例:输入23+12输出23+12=354. 用二分法求方程2x3-4x2+3x-6=0在(a,b)之间的根。

例:输入Please input the lower and upper boundaries: 3 10输出No root in this boundary!Please input the lower and upper boundaries: 1 5The root is 2.005.日历显示编程反复显示2014年各月份日历。

(程序可以设定2014年1月1号为星期三)。

程序运行输出示例如下:Enter month in 2014 to display calendar (1-12): 1****************************************************SUN MON TUE WED THU FRI SAT1 2 3 45 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 31Would you like to display another month (y/n) ? yEnter month in 2014 to display calendar (1-12): 13ERROR--- Enter month in range of (1-12)!Enter month in 2014 to display calendar (1-12):4****************************************************SUN MON TUE WED THU FRI SAT1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28 29 30Would you like to display another month (y/n) ? N第三次上机作业(2014):要求:⏹独立完成,上机调试通过后上交⏹作业提交邮箱:⏹邮件主题命名:班级学号姓名(第3次作业),例如:电1301班2王鹏(第3次作业)⏹以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。

⏹程序必须采用缩进格式⏹4月15日(第八周周二前)提交作业1.排序:使用起泡法和选择法对10个整数实现递减排序。

2.统计:从键盘输入10个学生的数学(MT)、英语(EN)和物理(PH)成绩,并按照如下统计形式输出,包括学生学号(NO)、各科成绩、总成绩(SUM)、平均分(AVE)及是否每科都超过90分(‘Y’ or ‘N’)NO MT EN PH SUM AVE >90--------------------------------------------------------------------1 97 87 92 276 92 N2 92 91 90 273 91 Y3 90 81 82 253 84 N.....3. 统计大写辅音字母个数:某文本共有3行,每行不超过80个字符,试编写一个程序统计该文本中大写辅音字母的个数。

例:输入HELLOIT12uieiaba输出There are 4 capital consonant letters in this paper.4.字符串连接:试编写一个程序连接两个字符串(不使用库函数strcat())。

例:输入The first string: Welcome toThe second string: China输出Welcome to China5.矩阵运算:读入 1 个正整数n(1≤n≤6),再读入n 阶方阵,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

例:输入 42 3 4 15 6 1 17 1 8 11 1 1 1输出sum=35思考题:十六进制转换十进制输入一个字符串(字符串的长度不超过80),对其做如下处理:滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。

例:输入Ha4-1输出2625第四次上机作业(2014):1.数组转置:在主函数中定义一个n(1<=n<=6)维方阵,并从键盘读入数组元素;编写函数transpose(a ,n)实现数组a 转置;在主函数中输出转置后的方阵。

例:输入 41 2 3 4 输出 1 5 9 135 6 7 8 2 6 10 149 10 11 12 3 7 11 1513 14 15 16 4 8 12 162. 学生信息:编写4个函数实现下列功能:(1)函数input() 输入20个学生姓名和高考总分;(2)函数sort() 按高考总分从高到低的顺序排序,姓名顺序也随之调整;(3)函数display()显示学生姓名及其高考总分;(4)在主函数中输入一个姓名,编写函数search() 用顺序查找方法找出该学生。

若查找成功,在主函数中显示该生姓名及其高考总分;否则显示查找失败。

3. 字符串处理定义两个C 源程序文件:fmain.c 和 fstring.c 。

fmain.c 中包含主函数,实现字符串处理功能选项和字符串的输入与结果的输出。

fstring.c 中包含两个函数delchar(s,c)和strreverse (s),实现删除字符和字符串反转功能。

delchar(s,c):在主函数中输入字符串和要删除的字符,此函数将字符串s 中出现的所有c 字符删除;再在主函数中输出删除后的字符串。

strreverse (s):在主函数中读入字符串,此函数实现将字符串s 反转;再在主函数中输出反转后的字符串。

SAMPLE OUTPUT:1. Reverse a string.2. Delete a character in a string.Please input your choice: 1Enter a string: holidayReversed string is :yadilohWould you like to continue? (y/n)Y1. Reverse a string.2. Delete a character in a string.Please input your choice: 2Enter a string: one world, one dreamEnter a character you want to delete: oDeleted string is :ne wrld, ne dreamWould you like to continue?(y/n )N4. 分别用函数和带参数的宏,从三个数中找出最大数。

5.第五次上机作业(2014):⏹ 独立完成,上机调试通过后上交⏹ 作业提交邮箱:6. 数据移位有n (n<=10)个整数,使前面各数顺序向后移m (m<=n )个位置,最后m 个数变成最前面的m 个数,如图所示。

编写函数shift(a,n,m)实现上述功能,在主函数中输入n 个整数并输出调整后的n 个数。

SAMPLE OUTPUT Input n(n<=10):10Input 10 integers :1 2 3 4 5 6 7 8 9 10nOutput the original:1 2 3 4 5 6 7 8 9 10Input m(m<=10):4Output the shifted:7 8 9 10 1 2 3 4 5 67.字符串排序在主函数中输入10个不等长的字符串放入二维字符数组中,编写函数sort()利用指针数组对其排序,在主函数中输出排好序的字符串。

相关文档
最新文档