C语言上机作业
C语言上机作业
for(j=0;j<N-i-1;j++)//比较的次数
{
if (*(p+j)<*(p+j+1))
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
printf("\n\n排序之后顺序:");
for (i=0;i<N;i++)
int main()
{
int i,j,k,t;
int *p1,*p2,*p3,*p4;
scanf("%d%d%d",&i,&j,&k);
p4 = &t;
printf("交换顺序以前的值:%d\t%d\t%d\n",i,j,k);
p1 = &i;
p2 = &j;
p3 = &k;
*p4 = *p1;
*p1 = *p2;
*p2 = *p3;
*p3 = *p4;
printf("交换顺序以后的值:%d\t%d\t%d\n",i,j,k);
return 0;t;stdio.h>
#define N 10
int main()
char *p1,*p2,*p3;
printf("请输入第一个字符串 a:");
scanf("%s",a);
printf("请输入第二个字符串 b:");
C语言上机(20道)
1、从键盘输入三个数,输出这三个数中最大的数main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);if(a>b) max=a;else max=b;if(c>max) max=c;printf("max=%d\n",max);}3、给一个分段函数,设计一个程序,要求从键盘输入x,输出ymain(){ float x,y;scanf("%f",&x);if(x>0) y=3*x+5;if(x==0) y=7;if(x<0) y=5*x;printf("%f\n",y);}4、求1+2+…+n,n由键盘输入main(){ int i,s,n;scanf("%d",&n);for(s=0,i=1;i<=n;i++)s=s+i;printf("%d\n",s);}5、求1*2*…*n(即n!),n由键盘输入main(){int i, n; long s;scanf( "%d",&n);for(i=1,s=1; i<=n; i++)s=s*i;printf("%ld\n",s);}6、求1!+2!…+n!,n由键盘输入main(){int i,n; long s,f;scanf("%d",&n);s=0;f=1;for(i=1; i<=n; i++){ f=f*i; s=s+f; }printf("%ld\n",s); }7:输出100以内(不含100)能被3整除且个位数为6的所有整数(P97)main(){int i,j;for(i=0;i<10;i++){j=i*10+6;if(j%3!=0)continue;printf("%4d",j);}}8、求两个正整数的最大公因子和最小公倍数(P82)main(){ int m,n,r,p;scanf("%d%d",&m,&n);p=m*n; r=m%n;while(r){m=n; n=r;r=m%n; }printf("%d,%d\n",n,p/n);}9、将一个整数的各位数字颠倒后输出(P84)main(){ int i,r;scanf("%d",&i);do{r=i%10;printf("%d",r);i=i/10; }while(i!=0);printf("\n");}10、求Fabonacci数列的前20项,每5个数一换行。
C语言上机100题
1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0) {pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;break;case ‘e’: pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j’: pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o’: pp[14]++;break;case ‘p’: pp[15]++;break;case ‘q’: pp[16]++;break;case ‘r’: pp[17]++;break;case ‘s’: pp[18]++;break;case ‘t’: pp[19]++;break;case ‘u’: pp[20]++;break;case ‘v’: pp[21]++;break;case ‘w’: pp[22]++;break;case‘x’: pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
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语言上机练习共35篇
c语言上机练习共35篇C 语言程序上机实训题上机练习一一、程序改错题:程序功能:求 100 以内的偶数之和. #include "stdio.h" main() { int i,sum=1; sum+=i; printf("Sum=%d \n";sum); getch(); } 二、程序填空题:程序功能:输入数组最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。
main() { int number[10]; input(number); max_min(number); output(number);} input(int number[10]) { int i; for(i=0;【?】;i++) scanf("%d,",&number[i]); scanf("%d",&number[9]);} max_min(int array[10]) { int max,min,k=0,l=0,t,p,; max=min=array[0]; for(p= 1;pmax) {max= array[p];k=p;} else if(array[0] /**********End **********/} main() { int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is %ld\n", fun(m)); }1C 语言程序上机实训题上机练习二一、程序改错题:功能:求 1 到 10 的阶乘的和。
main() { int i; float t,s=0; float fac(int n); for(i=1;i #include 【?】 main() { float a,b,c,disc,x1,x2,realpart,imagpart;scanf("%f%f%f",&a,&b,&c); printf("the equation"); if(【?】/********** }End **********/2C 语言程序上机实训题上机练习三一、程序改错题:功能:将一个正整数分解质因数。
c语言上机练习
第一次上机练习(首次)1.阅读以下程序,说出其功能和运算结果(输入5↙)。
#include <stdio.h>int main( ){int n ;int factorial(int n) ;scanf("%d",&n) ;printf("%d\n", factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}答案:120 求n的阶乘。
2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。
#include <stdio.h>int mian( ){printf("Welcome to You!\n")return 0 ;}答案:2行main4行末尾少分号3.编写程序在屏幕上显示以下内容:Programming is fun.And Programming in C is even more fun!答案:#include <stdio.h>int main( ){printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;return 0 ;}4.编写程序输出以下图案:* * * ** * ** **答案:#include <stdio.h>void main( ){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n");}5.编写程序,计算并在屏幕上显示10~20的平方值。
C语言上机题及答案
//a 对 2 求余等于 0,则 a 为偶数,sum 则加 a //sum 则为 0~50 内的偶数之和
13. 编写一个程序,计算 1 至 50 之间的奇数之和。 #include<stdio.h> void main() { int a,sum=0; for(a=0;a<=50;a++) if(a%2!=0) sum=sum+a; printf("奇数和 sum=%d\n",sum); } 14. 将一个二维数组 a 的行和列元素互换,存到另一个二维数组 b 中。
C 语言程序设计上机题
1. 编写函数实现从键盘输入一个字符串,再将其逆序输出。 #include<stdio.h> //宏定义 #include<string.h> //调用 string 库函数 void main() { int i,n; char a[30]; //定义字符型数组 gets(a); //输入字符串 n=strlen(a); //调用 strlen 函数,测量字符串长度 for(i=n;i>=0;i--) //通过 for 循环倒序输出 printf("%c ",a[i]); printf("\n"); } 2. 编写函数求出 10!的值并输出。
void main() { float r,h,v; printf("请输入所求圆柱底面半径 r 和高 h:"); scanf("%f,%f",&r,&h); v=dy(r,h); printf("圆的面积为:%f \n",v); } 6. 编写子函数,用冒泡法对数组中 10 个整数按由小到大排序。(子函数形参用一维数组)。 //调用子函数,求出体积赋值给 v
C语言上机100题
一、填空题考试做题要求:1、在__1__处填写正确的答案,并将下划线和数字删除。
2、将题目做完之后一定要保存。
3、不能删除/**********found**********/,也不能多行或少行。
1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。
当调用正确时, 程序输出:x1=5.000000, x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h>double f1(double x){ return x*x; }double f2(double x, double y){ return x*y; }/**********found**********/__1__ fun(int i, double x, double y){ if (i==1)/**********found**********/return __2__(x);else/**********found**********/return __3__(x, y);}main(){ double x1=5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);}2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。
#include <stdio.h>#include <string.h>struct student {long sno;char name[10];float score[3];};void fun(struct student a[], int n){ /**********found**********/__1__ t;int i, j;/**********found**********/for (i=0; i<__2__; i++)for (j=i+1; j<n; j++)/**********found**********/if (strcmp(__3__) > 0){ t = a[i]; a[i] = a[j];a[j] = t; }}main(){ struct student s[4]={ {10001,"ZhangSan", 95, 80, 88}, {10002,"LiSi", 85, 70, 78}, {10003,"CaoKai", 75, 60, 88},{10004,"FangFang", 90, 82, 87}};int i, j;printf("\n\nThe original data :\n\n");for (j=0; j<4; j++){printf("\nNo:%ldName:%-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}fun(s, 4);printf("\n\nThe data after sorting:\n\n");for (j=0; j<4; j++){ printf("\nNo: %ld Name: %-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}}3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
C语言上机题参考答案
#include<stdio.h>
void main()
{int i,j,k,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)
printf(" ");
for(k=1;k<=i;k++)
printf("*");
printf("\n");
for(j=0;j<n-1;j++)
if(a[j]>a[j+1])
t=a[j],a[j]=a[j+1],a[j+1]=t;
for(i=0;i<n;i++)
{ s=0;
for(j=1;j<a[i];j++)
if(a[i]%j==0) s+=j;
if(s==a[i]) printf("%d ",a[i]);
}
2、定义三个整型变量,从键盘输入三个整数,计算平均值,计算结果输出到屏幕上,平均值保留2位小数。
示例:
输入:按如下格式输入3个数:
21 22 25
输出:(注意保留2位小数)
22.67
#include<stdio.h>
void main()
{int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.2f\n",(a+b+c)/3.0);
C语言第2章上机及作业题
第二章上机及作业题第二章上机题用三种存储结构(顺序表,链表,静态链表)求解josuphu问题!1:顺序表#include<stdio.h>#define max 100typedef struct{int data[max];int length;}stack,*pstack;pstack Creat() /*顺序表初始化*/{pstack p;p=(pstack)malloc(sizeof(stack));if(p)p->length=0;return p;}void Creatstack(pstack p) /*创建一个顺序表*/{int i,l,x;printf("please stack's length:\n");scanf("%d",&l);p->length=l;printf("please enter a stack:\n");for(i=0;i<l;i++){scanf("%d",&x);p->data[i]=x;}}Deletes(pstack p,int x) /*删除指定位置的元素*/{int i;for(i=x;i<=p->length;i++){p->data[i]=p->data[i+1];}p->length--;}int josephus(pstack p) /*约瑟夫循环*/{int s1,i,s,m,w;printf("please enter start adress:\n");scanf("%d",&s);printf("please enter how long to out eachother:\n");scanf("%d",&m);if(!p->length){printf("empty!\n");return 0;}s1=s-1;printf("please answer:\n");for(i=p->length;i>0;i--){s1=(s1+m-1)%i;w=p->data[s1];printf("%4d",w);Deletes(p,s1);}return 1;}int main() /*主函数*/ {pstack Q;Q=Creat();Creatstack(Q);josephus(Q);getch();}2:链表解决#include<stdio.h>typedef struct node /*定义一个链表结构体*/ {int data;struct node *next;}list,*List;void Putlist(List L) /*输入一个链表*/{int x,i,length;List s;L=NULL;printf("please enter the length:\n");scanf("%d",&length);printf("please enter the list:\n");for(i=0;i<length;i++){s=(List)malloc(sizeof(list));scanf("%d",&x);s->data=x;s->next=L;L=s;}s->next=L;}void Dislist(List L) /*输出链表*/{List p=L->next;printf("%d",L->data);while(p!=L){printf("%3d",p->data);p=p->next;}printf("\n");}int josephs(List L) /*约瑟夫循环的计算*/ {int s,m,count;List p,pre;printf("start in:\n");scanf("%d",&s);printf("how often:\n");scanf("%d",&m);if(!L){printf("the list is empty!\n");return 0;}p=L;for(count=1;count<s;count++){p=p->next;}printf("put the answer:\n");while(p!=p->next){for(count=1;count<m;count++) {pre=p;p=p->next;}printf("%2d",p->data);pre->next=p->next;free(p);p=pre->next;}printf(" %d",p->data);free(p);return 1;}void main(){int x,i,length;List L,s,r;s=L=(List)malloc(sizeof(list)); printf("please enter the length:\n"); scanf("%d",&length);printf("please enter the list:\n"); scanf("%d",&x);L->data=x;for(i=0;i<length-1;i++){r=(List)malloc(sizeof(list)); scanf("%d",&x);r->data=x;s->next=r;s=s->next;}s->next=L;josephs(L);getch();}3:静态链表#include<stdio.h>#define MAXSIZE 100struct node{int number;int next;}string[MAXSIZE];int josephus(void) /*约瑟夫循环*/ {int total;int out;int start;int i,j=1;int flag=0;int current,front;printf("The total number is:");scanf("%d",&total);printf("The out number is:");scanf("%d",&out);printf("The starting number is:");scanf("%d",&start);if(out==1) return total;for(i=0;i<total;i++){string[i].number=i+1;string[i].next=i+1;}string[i-1].next=0;front=total-1;current=0;for(i=1;i<start;i++){front=string[front].next;current =string[current].next;}while(flag<total){if(j%out==0){string[front].next=string[current].next;current=string[front].next;j=1;flag++;}else{j++;front=string[front].next;current =string[current].next;}}return(string[current].number);}void main(){int t;t=josephus();printf("The last one is %d",t);getch();}第二章作业:1.已知递增有序的两个单链表A,B分别存储了一个集合。
C语言上机实验完整答案
实验 2
程序代码 #include<stdio.h> void main () {char a;int i;
for (i=1;;i++) {
a=getchar(); if(a=='\n') break; switch(a) {case '0':printf(" zero ");break;
case '1':printf(" one ");break; case '2':printf(" two ");break; case '3':printf(" three ");break; case '4':printf(" four ");break; case '5':printf(" five ");break; case '6':printf(" six ");break; case '7':printf(" seven ");break; case '8':printf(" eight ");break; case '9':printf(" nine ");break; }
printf("input a number\n"); scanf("%d",&n); h=n-7*i;
while(h>7) {i=i+1; h=n-7*i;} switch(h) { case 1: printf("星期一\n"); break ; case 2: printf("星期二\n"); break ; case 3: printf("星期三\n"); break ; case 4: printf("星期四\n"); break ; case 5: printf("星期五\n"); break ; case 6: printf("星期六\n"); break ; case 7: printf("星期日\n"); break ; } } 运行结果
c语言程序设计上机答案
c语言程序设计上机答案C语言程序设计是一门实践性很强的课程,上机练习是掌握C语言编程技能的重要环节。
以下是一些常见的C语言上机练习题目及其参考答案,供学习者参考。
1. 打印“Hello, World!”```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 计算两个数的和```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("%d + %d = %d\n", a, b, sum);return 0;}```3. 判断一个数是否为素数```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); ++i) { if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
\n", num);} else {printf("%d 不是素数。
\n", num); }return 0;}```4. 计算圆的面积```c#include <stdio.h>#include <math.h>double calculateArea(double radius) {return M_PI * radius * radius;}int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = calculateArea(radius);printf("半径为 %f 的圆的面积是:%f\n", radius, area); return 0;}```5. 字符串反转```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int length = strlen(str);for (int i = 0; i < length / 2; ++i) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```6. 计算阶乘```c#include <stdio.h>unsigned long long factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个非负整数:");scanf("%d", &num);printf("%d 的阶乘是:%llu\n", num, factorial(num)); return 0;}```7. 排序算法(冒泡排序)```c#include <stdio.h>void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; ++i) {for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);bubbleSort(arr, n);printf("排序后的数组是:\n");for (int i = 0; i < n; ++i) {printf("%d ", arr[i]);}printf("\n");return 0;}```8. 寻找最大值```c#include <stdio.h>int findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; ++i) {if (arr[i] > max) { max = arr[i]; }}return max;。
(完整word版)c语言上机题
break;
}
for(i=1;i<=n;i++)
for(j=0;j<n-i;j++)
{
if(strcmp(a[j],a[j+1]))
{
strcpy(b,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],b);
}
}
for(i=0;i<n;i++)
printf("%f\n",s);
}
else
printf("不能构成三角形");
}
//vc3
//prog3.cpp
//编写程序求一个字符串的第n个字符开始、长度为m的子串
#include <stdio.h>
main()
{
char a[100],b[100]={'0'};
int m,n,i,j;
gets(a);
gets(b);
if(cmp(a,b))
{
printf("口令正确!");
break;
}
else
{
printf("口令错误!您还有%d次机会!",2-i);
}
}
}
//vc5
//prog3.cpp
//编写实现求1!+2!+...+10!.
#include <stdio.h>
int fun(int n)
b=c;
c=temp;
}
if(a>c)
C语言上机编程题(完整版)
include <conio.h>#include <stdio.h>void main(){ int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos;//clrscr();max = a[0];pos = 0;for ( i=1; i<10; i++)/************found************/if (max < a[i]){max = a[i];/************found************/pos = i;}printf("The max is: %d ,pos is: %d ", max , pos);}两个位置全部正确标准答案第一个位置:if(maxif(max<=a[i])if(a[i]>max)if(a[i]>=max)第二个位置:pos=i;二、程序填空题(30分,得分:30分)在考生文件夹下,给定程序FILL.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。
例如:从键盘上输入12345,则程序运行的结果应当为:n=12345。
请填空,并运行该程序,然后将源程序文件FILL.C提交。
程序有两个空(1)、(2)需要补充完整。
并将程序调试出所需的结果。
注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!做题情况源程序文件#include "stdio.h"#include "string.h"void main(){ char s[10]; int i;long int n;//clrscr();/**************found************/n=0;scanf("%s",s);for(i=0;i<strlen(s);i++)/**************found************/n=n*10+(s[i]-48);printf("n=%ld ",n);}两个位置全部正确标准答案第一个位置:n=0;第二个位置:n=n*10+s[i]-’0’;n=n*10+*(s+i)-’0’;n=n*10+*(i+s)-’0’;n=n*10-’0’+s[i];n=n*10-’0’+*(s+i);n=n*10-’0’+*(i+s);n=n*10+(s[i]-’0’);n=n*10+(*(s+i)-’0’);n=n*10+(*(i+s)-’0’);n=n*10+(s[i]-48);n=n*10+(*(s+i)-48);n=n*10+(*(i+s)-48);n=n*10-(’0’-*(i+s));n=n*10-(’0’-s[i]);n=n*10-(’0’-*(s+i));n=n*10+s[i]-48;n=n*10+*(s+i)-48;n=n*10+*(i+s)-48;n=n*10-48+s[i];n=n*10-48+*(s+i);三、程序设计题(40分,得分:40分)在考生文件夹下,要求程序PROG.C的功能是:将一个4位的整数m拆开,然后按相反顺序输出,每输出一位数其后留2个空格。
大一C语言上机实验试题及答案
大一C语言上机实验试题及答案一、选择题(每题2分,共10分)1. C语言中,用来定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D3. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. intD. void答案:A4. 下列哪个选项是正确的C语言数组定义?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = {1, 2};D. int arr = {1, 2, 3};答案:B5. C语言中,用于输出字符串的函数是()。
A. printfB. printC. coutD. printf_s答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于声明一个整型变量的关键字是____。
答案:int2. 以下代码段的输出结果是____。
```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 在C语言中,用于声明一个浮点型变量的关键字是____。
答案:float4. 若有以下代码段:```cint x = 5, y = 3;int result = x / y;```则变量result的值是____。
答案:15. 在C语言中,用于声明一个字符型变量的关键字是____。
答案:char三、编程题(每题10分,共20分)1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出其反转后的字符串。
C语言上机150道题
C语言上机150道题及参考答案1.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。
2.从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位。
例如输入355和113,输出3.14159。
3.用while循环结构编写程序打印ASCII码为33-127的字符。
4.用do-while,for循环结构编写程序打印ASCII码为33-127的字符。
5.用for循环结构编写程序打印ASCII码为33-127字符。
6.在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。
7.输入一个整数将其倒着输出,如54321——12345。
8.计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4。
9.从键盘输入一整数n,计算1*1+2*2+...+n*n的值。
10.用while 循环计算1+2+……+100的和。
11.用do while循环计算1+2+……+100的和。
12.用for 循环计算1+2+……+100的和。
13.输入一个小于等于10的整数n ,计算n!。
14.输入两个正整数m和n,计算m!+n!,m和n的值均小于10。
15.用循环语句,计算1~100之间的所有3的倍数之和。
16.用循环语句,计算100-200之间的所有7的倍数之和。
17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。
18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
19.输入一个整数,统计它有几位数。
如输入367,则该数有3位数。
20.编写程序,输出1到50中间所有能被3整除的正整数。
21.把100~200之间不能被3整除的输出。
22.编程Y=1+3+5+7+...111。
23.编程y=1*1/2*1/3*1/4*1/5*1/6*...前十项之积。
24.编程输出九九乘法表。
25.求1到100奇数和。
(完整版)C语言上机练习题及答案
(完整版)C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。
# includevoid main(){int x,y,z,a;scanf ("%d,%d,%d",&x,&y,&z);if(x>y) {a=x; x=y;y=a;}if(x>z) { a=x; x=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",x,y,z);}2输入圆的半径,输出圆的周长和面积。
# include# define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。
# includevoid main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。
# includeint main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。
c语言程序设计上机题
c语言程序设计上机题C语言程序设计是一门实践性很强的课程,上机实践是学习C语言不可或缺的一部分。
下面,我将提供一些常见的C语言上机题目,以帮助学生加深对C语言编程的理解。
1. 基本数据类型和运算符编写一个C程序,实现以下功能:- 声明不同的基本数据类型变量(整型、浮点型、字符型)。
- 对这些变量进行基本的算术运算(加、减、乘、除)。
- 输出运算结果。
2. 条件语句编写一个C程序,使用条件语句(if、else if、else)实现以下功能:- 输入一个成绩,根据成绩判断等级(A、B、C、D、F)。
- 输出对应的成绩等级。
3. 循环语句编写一个C程序,使用循环语句(for、while、do-while)实现以下功能:- 输出1到100之间的所有奇数。
- 使用while循环实现1到100的累加求和。
4. 数组和字符串编写一个C程序,使用数组和字符串实现以下功能:- 声明一个整型数组,输入10个整数,找出最大值和最小值。
- 声明一个字符数组,输入一个字符串,统计字符串中每个字符出现的次数。
5. 函数编写一个C程序,使用函数实现以下功能:- 定义一个函数,实现两个整数的交换。
- 定义一个函数,计算一个整数的阶乘。
- 在主函数中调用这些函数,并输出结果。
6. 指针编写一个C程序,使用指针实现以下功能:- 声明一个整型数组和对应的指针,通过指针访问数组元素。
- 使用指针实现一个函数,交换两个变量的值。
7. 结构体编写一个C程序,使用结构体实现以下功能:- 定义一个学生结构体,包含学号、姓名、年龄和成绩。
- 输入5个学生的信息,存储在结构体数组中。
- 输出每个学生的信息。
8. 文件操作编写一个C程序,使用文件操作实现以下功能:- 创建一个文本文件,向文件中写入数据。
- 从文件中读取数据,并在屏幕上显示。
9. 排序算法编写一个C程序,实现冒泡排序算法,对一个整数数组进行排序。
10. 递归编写一个C程序,使用递归实现以下功能:- 计算阶乘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.输入并运行以下程序。
#include<stdio.h>
main()
{int a;
float b,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
若运行时从键盘上输入1234567890↙
则程序运行结果是:
4.编程,输出100~300之间所有素数,并将它们的和打印出来。
思考题:编程,输出以下图形:
*
***
*****
*******
*********
*******
*****
***
*
实验7数组
一、实验目的
1.理解数组的概念,掌握一维数组和二维数组的定义、存储结构、赋值和输入输出的方法。
2.理解字符串的概念,掌握字符数组和字符串函数的使用。
⑷ 知道“回收站”的功能,学会有关文件、文件夹的基本操作。
⑸ 学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用。
实验内容
⑴ 熟悉上机实验的计算机,熟悉键盘,学会中、英文输入方式的转换。
⑵ 学会用正确的指法进行输入,知道键盘上所有字符的输入。
⑶ 利用“控制面板”修改系统时间、桌面背景、鼠标属性。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.对每个程序认真进行语法检查与逻辑检查。
3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
2.掌握穷举算法、迭代算法、递推算法等一些常用算法的程序设计方法。
3.理解并掌握break语句和continue语句的语句功能。
4.能正确使用这些语句进行简单程序设计。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,注意总结各题的编程思路,并记录结果。
2.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
将上面程序作以下改动后再运行,观察并比较运行结果:
① 将第4行改为:
m=i++;n=++j;运行结果是:
② 若将程序改为:
main()
{int i,j;
i=8;j=10;
printf("%d,%d",i++,j++);
}运行结果是:
4.试分析下面程序的运行结果:
#include<stdio.h>
main()
4.编程,求方程 的根。
实验5选择结构程序设计
一、实验目的
1.掌握C语言表示逻辑量的方法(以0代表“假”,非0代表“真”)。
2.学会正确使用关系运算符、逻辑运算符及关系表达式、逻辑表达式。
3.熟练掌握各种if语句和switch语句的语法结构和语句功能。
4.结合程序,掌握选择结构程序设计的一般方法,能够用多种方法编写同一程序。
⑵ 学会文件的保存与打开、打印预览、段落的间隔、首字符位置改变等,能够在Word中插入图片、表格、艺术字、特殊符号等。
⑶ 了解Excel的功能,掌握Excel的基本操作,包括单元格属性的设置、数字的几种填充形式、单元格的合并与恢复、边框的设置等。
⑷ 掌握Excel的基本公式的使用,能够用公式进行基本计算。掌握Excel中的图形制作方法,能够根据表格做出图形。
⑷ 在桌面上新建一个文件夹,该文件夹以学生自己的名字+班级+学号的后3位命名。
⑸ 用文本方式或Word文档,写一段字数不少于300字的自我介绍,以1.doc命名并保存到上述文件夹中。
⑹ 将上述文件夹复制到ftp://10.10.9.222上。
实验2 常用软件的基本操作
实验目的
⑴ 了解Word功能,掌握Word的基本操作,包括页眉/页脚的设置、分栏、页面设置、添加底纹等。
3. 编程,计算下列分段函数值:
5.给出一个小于1000正整数,编程求该数是几位数,并按逆序打印出各位上的数字。例如原数为321,则输出123。
思考题:
对于第2题,若用if语句,应该如何编写程序?
实验6循环结构程序设计
一、实验目的
1.理解循环的概念,熟悉和掌握while语句,do-while语句和for语句实现循环的方法。
3.掌握常用的与数组有关的算法,如排序、查找、求极值等。
4.能够用数组的方法,编写一些简单程序。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
《程序设计基础—C程序实验》
说明:
实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告。
实验1 计算机基本操作
实验目的
⑴ 熟悉计算机,能够正确进行开、关机操作。
⑵ 熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中、英文切换。
⑶ 理解操作系统概念,掌握Windows XP的基本操作,能够利用“控制面板”进行一些参数的设置。
实验4最简单的C程序设计
一、实验目的
1.掌握C语言中赋值表达式和赋值语句的使用。
2.正确理解、选择输入格式字符所控制的数据对象、数据输入(输出)形式和方法。
3.掌握输出函数printf()和putchar()的用法,能正确使用各种输出格式。
4.掌握输入函数scanf()和getchar()的用法,能正确使用各种输入格式。
for(i=1;i<5;i++)
{if(i%2)printf("*");elsecontinue;
printf("%");
}
printf("@");
}运行结果是:
2.编程,用公式π/4≈1- + - +…求π的近似值,当某项绝对值小于 时计算结束。
3.输入一行字符,编程统计并输出其中的大写英文字母和数字的个数。
3.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1. 输入并调试以下程序:
(1)#include<stdio.h>
main()
{ inti=0;
while(i++<3)printf("%d\n",i);
}运行结果是:
(2)#include <stdio.h>
main()
{ int i;
printf("%d,%d,%d\n",a[0],a[1],a[2]);
}运行结果是:
(2)#include <stdio.h>
main()
{ int i,j,h,l,m;
static intx[3][3]={{3,7,1},{5,7,2},{4,9,1}};
m=x[0][0];h=0;l=0;
for(i=0;i<3;i++)
胡甜甜
82
93
88
95
09012
卫晓
88
97
65
72
并对表格进行如下操作:
① 利用公式计算学生的总分、平均分;
② 将表中所有的数据选择居中;
③ 利用该表格中的姓名和计算机的成绩做簇状图形。
将做好的Excel表以2.xls命名并保存。
将本次实验的两个文件上传到ftp上自己的文件夹中。
实验3C程序运行环境、数据类型、运算符和表达式
一、实验目的
1.掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。
2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。
3.学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。
4.掌握C语言源程序的结构特点与书写规范。
for(j=0;j<3;j++)
if(x[i][j]<m){m=x[i][j];h=i;l=j;}
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
main()
{inta[3],i,j;
for(i=0;i<=2;i++)a[i]=0;
for(i=0;i<=2;i++)
for(j=0;j<2;j++)
a[j]=a[i]+1;
{int i=3,k;
printf("%d,%d\n",(i++)+(i++)+(i++),i);
i=3;
printf("%d,%d\n",i,++i+(++i)+(++i));
i=3;
k=(i++)+(i++)+(i++);
printf("%d,%d\n",k,i);
}
运行结果是:
5.编程,求365÷7的商和余数的程序。