程序改错练习题
- 格式:doc
- 大小:72.50 KB
- 文档页数:6
注意:改错题目不要增、删或修改其他代码。
一定要在语句上面修改,否则电脑会识别不了,会没有分的,我这里只是便于大家观察修改之前的程序和修改之后的程序的区别。
请大家一定要在语句上面修改,其中红字部分就是要修改的部分。
第一题:简单应用:用户输入正整数,计算奇数,偶数,被3整除的数字:*******************found********************x,s1,s2,s3=0 ----→>>>>> store 0 to x,s1,s2,s3*******************found********************x=thisform.text1 ----→>>>>> x=thisform.text1.valuedo while x>0if int(x/2)=x/2s1=s1+1elses2=s2+1endif*******************found********************if div(x,3)=0 ----→>>>>> if mod(x,3)=0s3=s3+1endifx=x-1enddothisform.text2.value=s1thisform.text3.value=s2thisform.text4.value=s3thisform.text5.value=s1+s2+s3综合应用:thisform.list2.add(thisform.list1.value)改成thisform.list2.add item(thisform.list1.value)thisform.list2.delete(thisform.list2.listindex)改成thisform.list2.removeitem(thisform.list2.listindex)差的语句SELECT Student.姓名, Course.课程名称, Score.考试成绩;FROM student INNER JOIN score;INNER JOIN course ;ON Score.课程编号 = Course.课程编号 ;ON Student.学号 = Score.学号;----------------------------精品word文档值得下载值得拥有----------------------------------------------where &cn;ORDER BY Course.课程名称, Score.考试成绩 DESC;INTO TABLE zonghe第二题:&&根据"教师表"计算每个系的教师人数并将数据填入"学院表"CLOSE DATAUSE 学院表GO TOPDO .NOT. EOF() &&错误 ----→>>>>> DO while .NOT. EOF()xihao=系号SELECT COUNT(*) FROM 教师表 WHERE 教师表.系号=xihao INTO A &&错误----→>>>>> INTO array AREPLACE 教师人数 WITH A[1]NEXT &&错误 ----→>>>>>skipENDDO第三题:** 请改正以下语句代码中的错误,然后运行程序。
C语言程序改错练习题程序改错练习题下面每个程序的划线处有语法或逻辑错误,请找出并改正,使程序符合题意。
1.求1?2?3?4? ?nmain(){ int sum; 正确:int sum=1;int n,i=1;scanf("%d",n); scanf(“%d”,&n);printf(“\n”);while(i<="n)</p">{ sum=sum*i;i++; }printf("sum=%c",sum); printf("sum=%d",sum);}2.求一个数组中最大值及其下标。
main( ){ int max,j,m;int a[5];for(j=1;j<=5;j++) 正确:for(j=0;j<5;j++)scanf(“%d”,a); scanf(“%d”,&a[j]);max=a[0];for(j=1;j<=5;j++) for(j=0;j<5;j++)if(max>a[j]) if(max<a[j])< p="">{ max=a[j];m=j;}printf(“下标:%d\n最大值:%d”, j, max) printf(“下标:%d\n 最大值:%d”, m,max);}3.用一个函数求两个数之和。
sum(x,y) 正确:float sum(float x, float y ){ float z;z=x+y;return ; return z;}main(){ float a,b;int c; float c;scanf("%f,%f",&a,&b);c=sum(a,b);printf("\nSum is %f",sum); printf("\nSum is %f",c);}4. x , y两个数中,让x中存较大的数,y存较小的数#includemain( ){int x , y=200 , z=0;x=180;if ( x<y)< p="">z=x; x=y; y=z; 正确:{ z=x;x=y;y=z;}printf(“x=%d,y=%d\n”,&x,&y);printf(“x=%d,y=%d\n”,x,y);}5.用指针作函数参数,对输入的两个整数按大小顺序输出。
C语言程序设计练习三——程序改错【程序改错】:共16个题【程序改错】题号:1-6-z--------------------------------------------------------功能:利用二维数组输出如图所示的图形。
*******************************------------------------------------------------------*/#include <stdio.h>#include <conio.h>/**********FOUND**********/#define N= 7main(){char a[N][N];int i,j,z;for(i=0;i<N;i++)for(j=0;j<N;j++)/**********FOUND**********/a[i][j]=;z=0;for(i=0;i<(N+1)/2;i++){for(j=z;j<N-z;j++)a[i][j]='*';z=z+1;}/**********FOUND**********/z=0;for(i=(N+1)/2;i<N;i++){z=z-1;for(j=z;j<N-z;j++)a[i][j]='*';}for(i=0;i<N;i++){for(j=0;j<N;j++)/**********FOUND**********/printf("%d",a[i][j]);printf("\n");}}『答案』1 #define N 72 a[i][j]=' ';3 z=z-1; 或 z--; 或 z=-1+z;4 printf("%c",a[i][j]);*------------------------------------------------------【程序改错】 1-12--------------------------------------------------------功能:求1到10的阶乘的和。
C语言程序改错题汇总程序改错题汇总1、用“起泡法“对连续输入的十个字符排序后按从小到大的次序输出. 2、分别统计字符串中大写字母和小写字母的个数。
3、求1到10的阶乘的和。
4、判断m是否为素数,若是返回1,否则返回0。
5、用选择法对数组中的n个元素按从小到大的顺序进行排序。
6、求一个3行4列矩阵的外框的元素值之和。
7、以下程序把两个数按由大到小的顺序输出来。
8、求1到20的阶乘的和。
9、判断字符ch是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。
(指针)10、已知一个数列从第0项开始的前三项分别为0、0、1,以后的各项都是其相邻的前三项的和。
下列给定程序中,函数fun的功能是计算并输出该数列的前n项的平方根之和sum,n的值通过形参传入。
11、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数都是多少12、编写函数fun计算下列分段函数的值x*xx x0.0 { 累计营业额;输入下一笔交易额;} 输出营业额;} 记一笔交易额为变量sale,营业额为sigma。
124、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少125、编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。
例如输入35=或5-2=或3*4=或4/2=,求表达式结果。
126、输入字符序列,字符序列以特殊字符“”结束。
程序从前向后依次读入字符,并翻译出新的字符输出。
翻译的规则是如果当前读入的字符是数字符,如果该字符的面值为n,则它的后一个字符包括数字符需重复输出n1次如果当前读入的字符不是数字符,则输出该字符。
输出时,以上述一次翻译为一组,不同组间输出用一个空白字符隔开。
翻译直至当前读入的字符为字符‘’,结束翻译和输出。
127、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下每位数字都加上5,然后除以10的余数代替该位数字。
c语言题库改错题及详解答案C语言是一种广泛使用的计算机编程语言,它以其强大的功能和灵活性而闻名。
在学习和掌握C语言的过程中,练习题库中的改错题是提高编程技能的有效方式。
以下是一些常见的C语言改错题及其详解答案。
1. 题目:编写一个程序,计算并输出1到10的累加和。
错误代码:```cint main() {int sum = 0;for(int i = 1; i <= 10; i++) {sum = sum + i;}print("Sum is %d", sum);return 0;}```错误点: `print` 函数应为 `printf`。
正确代码:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 10; i++) {sum += i; // 可以简化为 sum += i;}printf("Sum is %d\n", sum);return 0;}```2. 题目:编写一个程序,判断输入的年份是否为闰年。
错误代码:```cint main() {int year;printf("Enter a year: ");scanf("%d", &year);if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```错误点:逻辑判断的括号使用不正确。
正确代码:```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```3. 题目:编写一个程序,实现字符串的反转。
程序改错题第一篇:程序改错题1、 Gaicuo1.cpp的功能是:1!+2!+3!+……+20!。
程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main() {float s=0,t; int n,i; for(n=1;n<=20;n++) { for(i=1,t=1;i<=n;i++) t=t*i; /****found*****/ /****found****/}2、 gaicuo2.cpp的功能是:输入两个不等的整数分别给x和y,输出其中的大数。
程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main( ) { int x,y; printf("Enter x & y:\n"); scanf("%d%d",&x,&y); /****found****/ if(x}3、gaicuo3.cpp的功能是交换两个数,若输入10和20,则输出20和10。
程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main( ) { int x,y,t; printf("Enter x & y:\n"); /****found****/ scanf("%d%d",&x,&y); /****found****/ t=x; x=y;y=t; printf("x=%d y=%d",x,y) ; } 4. gaicuo4.cpp的功能是输入一个整数,判别它是否能被3整除,若能整除,打印YES;不能打印NO。
程序改错复习题答案1. 题目:在下面的代码中找出并修正错误,使其能够正确计算并输出两个数的和。
```pythondef sum_numbers(a, b):result = a + bprint("The sum is:", result)sum_numbers(5, "3")```答案:错误在于第二个参数传递了一个字符串类型的值,而函数期望的是一个数字类型。
应将字符串 "3" 改为整数 3。
```pythondef sum_numbers(a, b):result = a + bprint("The sum is:", result)sum_numbers(5, 3)```2. 题目:修正以下代码中的错误,使其能够正确地将列表中的所有元素乘以2。
```pythonmy_list = [1, 2, 3, 4]for i in range(len(my_list)):my_list[i] = my_list[i] * 2print(my_list)```答案:代码本身没有错误,可以直接运行。
但是,更高效的方式是使用列表推导式。
```pythonmy_list = [1, 2, 3, 4]my_list = [x * 2 for x in my_list]print(my_list)```3. 题目:找出并修正以下代码中的错误,使其能够正确地计算并输出一个数的平方。
```pythondef square_number(n):return n * nprint(square_number("5"))```答案:错误在于函数调用时传递了一个字符串类型的值,而函数期望的是一个数字类型。
应将字符串 "5" 改为整数 5。
```pythondef square_number(n):return n * nprint(square_number(5))```4. 题目:修正以下代码中的错误,使其能够正确地遍历字典中的所有键值对。
程序改错(共17道题)1.求1~100之间数的和。
Private Sub Form_Click()Dim i As Integer, sum As Integersum = 1i = 1Do Until i >= 100sum = sum + ii = i + 1LoopPrint "1-100之间和:"; sumEnd Sub答案:sum=0Do Until i > 1002.求1~100之间数的和。
Private Sub Form_Click()Dim i As Integer, sum As Integersum = 1i = 1Do While i < 100sum = sum + ii = i + 1LoopPrint "1-100之间和:"; sum End Sub答案:sum=0Do While i <= 1003.求1~10之间数的和。
Private Sub Form_Click()Dim i As Integer, sum As Integer sum = 1i = 1Do Until i >= 10sum = sum + ii = i + 1LoopPrint "1-10之间和:"; sumEnd Sub答案:sum=0Do Until i > 104.求1~10之间数的和。
Private Sub Form_Click()Dim i As Integer, sum As Integersum = 1i = 1Do While i < 10sum = sum + ii = i + 1LoopPrint "1-10之间和:"; sumEnd Sub答案:sum=0Do While i <= 105.求4!(4!=1×2×3×4)。
【程序改错】功能: 根据整型形参m的值, 计算如下公式的值。
1 1 1.....1.—..—......——2x2 3x3 mxm例如: 若m=5, 则应输出: 0.536389------------------------------------------------------*/#include <stdio.h>double fun(int m){double y=1.0;int i;/**********FOUND**********/for(i=2;i<m;i--) for(i=2;i<=m;i++) /**********FOUND**********/y-=1/(i*i); y-=1.0/(i*i)/**********FOUND**********/return m; return y}main(){int n=5;printf("\nthe result is %lf\n",fun(n));}【程序设计】---------------------------------------------------------题目: 编程求所有4位数, 这些数具有以下特点: 这数本身是平方数, 且其低2位和高2位所组成的2个2位数也是平方数。
要求: 使用程序中定义的变量-------------------------------------------------------*/#include <stdio.h>#include <math.h>main(){int qw,bw,sw,gw; // qw千位数bw百位数sw十位数gw个位数int a,b; //a 高两位低两数int i; //循环变量/**********Program**********/for(i=1000;i<10000;i++){qw=i/1000;bw=i/100%10;sw=i/10%10;gw=i%10;1a=qw*10+bw;b=sw*10+gw;if(sqrt(i)==(int)sqrt(i)&&sqrt(a)==(int)sqrt(a)&&sqrt(b)==(int)sqrt(b)) printf(“%d\n”,i);}/********** End **********/}【程序设计】功能: 从键盘为一维整型数组输入10个整数, 调用fun 函数找出其中最小的数, 并在main函数中输出。
一、程序改错1、求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。
"set talk offclears=0for x=10 to 1000if mod(x,7)=0 and mod(x,9)=0n=n+xendifendfor? xset talk onreturn答案:2362、求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。
set talk offclears=0for n=1 to 100s=(s+1)/nif s>=3.5loopendifendfor? n-1set talk onreturn答案:183、求100以内最小的自然数n,使得从1开始的连续n个自然数的倒数之和大于3.6。
set talk offclears=0for n=1 to 100s=s+1/nif s<=3.6loopendifendfor? nset talk onreturn答案:214、求100以内最大的自然数n,使得从1开始的连续n个自然数的平方和小于5000。
set talk offclears=0for n=1 to 100s=s+n*2if s>=5000exitendifendfor? nset talk onreturn答案:245、求50以内最大的自然数n,使得从102开始的连续n个偶数之和小于3000。
set talk offclears=0for n=1 to 50a=100+2*ns=s*aif s>=3000loopendifendfor? n-1set talk onreturn答案:236、求50以内最小的自然数n,使得从102开始的连续n个偶数之和大于2000。
set talk offclears=0for n=1 to 50a=102+2*ns=s+aif s>2000loopendifendfor? nset talk onreturn答案:177、某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。
C语言程序设计练习题--程序改错〖第1题〗(练习题所在文件夹:20)/*------------------------------------------------------ 【程序改错】-------------------------------------------------------- 题目:已知一个数列从第1项开始的前三项分别为0、0、1,以后的各项都是其相邻的前三项的和。
下列给定程序中,函数fun的功能是:求该数列的前n项的平方根之和sum,n的值通过形参传入。
输出由主函数完成。
例如,当n=10时,程序的输出结果应为23.197745。
请改正程序中的错误,使它能得出正确的结果。
-------------------------------------------------------- 注意:不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/ #include "math.h"/**********FOUND**********/fun (int n){double sum,s0,s1,s2,s;int k;/**********FOUND**********/sum=0.0;if(n<=2) sum=0.0;s0=0.0;s1=0.0;/**********FOUND**********/s2=0.0;/**********FOUND**********/for(k=4;k>n;k++){s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;}return sum;}main(){int n;scanf("%d",&n);printf("%lf\n",fun(n));}答案:1). double fun (int n)2). sum=1.0; 或 sum=1;3). s2=1.0; 或 s2=1;4). for(k=4;k<=n;k++) 或for(k=3;k<=n-1;k++)〖第9题〗(练习题所在文件夹:356)/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:下列程序中,函数fun的功能是:找出一个大于给定整数m的最小的素数,并作为函数值返回。
c程序改错题――有答案试卷编号:10578 所属语言:C语言试卷方案:TC_150522153552 试卷总分:440分共有题型:1种一、程序改错共44题(共计440分)第1题(10.0分)题号:380 难度:中第2章 /*------------------------------------------------------ 【程序改错】--------------------------------------------------------功能:输入两个双精度数,函数返回它们的平方和的平方根值。
例如:输入:22.936 和 14.121,输出为:y = 26.934415。
------------------------------------------------------*/#include #include #include/**********FOUND**********/double fun (double *a, *b)//double fun(double *a,double *b) {double c;/**********FOUND**********/ c = sqr(a*a + b*b);//sqrt/**********FOUND**********/ return *c; }main ( ) {double a, b, y;printf ( \scanf (\ y = fun (&a, &b); printf (\}第2题(10.0分)题号:438 难度:中第2章 /*------------------------------------------------ 【程序改错】--------------------------------------------------功能:编写函数fun,求两个整数的最小公倍数,然后用主函数main()调用这个函数并输出结果,两个整数由键盘输入。
C语言程序改错一、程序改错共 138 题(共计 1380 分)━━━━━━━━━━━━━━━━━━第 1 题(10.0 分)/*------------------------------------------------------ 功能:根据整型形参 m,计算如下公式的值:y=1+1/3+1/5+1/7+...+1/(2m-3)------------------------------------------------------*/ #include "stdio.h"double fun(int m){/**********FOUND**********/double y=1int i;/**********FOUND**********/for(i=3; i<m; i++)/**********FOUND**********/y+=1.0/(2i-3);return(y);}void main(void){int n;clrscr();printf("Enter n: ");scanf("%d", &n);printf("\nThe result is %1f\n", fun(n));getch();}答案:1). double y=1;2). for(i=3; i<=m; i++) 或 for(i=3; i<m+1;i++)3). y+=1.0/(2*i-3);第 2 题(10.0 分)/*------------------------------------------------------ 功能:用选择法对数组中的 n 个元素按从小到大的顺序进行排序。
------------------------------------------------------*/ #include <stdio.h>#define N 20void fun(int a[], int n){int i, j, t, p;for (j = 0 ;j < n-1 ;j++){/**********FOUND**********/p = jfor (i = j;i < n; i++)/**********FOUND**********/if(a[i] >a[p])/**********FOUND**********/p=j;t = a[p] ;a[p] = a[j] ;a[j] = t;}}main(){int a[N]={9,6,8,3,-1},i, m = 5; printf("排序前的数据:") ;for(i = 0;i < m;i++)printf("%d ",a[i]);printf("\n");fun(a,m);printf("排序后的数据:") ;for(i = 0;i < m;i++)printf("%d ",a[i]);printf("\n");getch();}答案:1). p = j;2). if(a[i] < a[p]) 或 if(a[p] > a[i])3). p = i;第 3 题(10.0 分)/*------------------------------------------------------ 功能:编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。
程序改错-------------------------------------1题目:在一个一维整型数组中找出其中最大的数及其下标。
程序中共有4条错误语句,请改正错误。
-----------------*/#define N 10/**********FOUND**********/float fun(int *a,int *b,int n){int *c,max=*a;for(c=a+1;c<a+n;c++)if(*c>max){max=*c;/**********FOUND**********/b=c-a;}return max;}main(){int a[N],i,max,p=0;printf("please enter 10 integers:\n");for(i=0;i<N;i++)/**********FOUND**********/scanf("%d",a[i]);/**********FOUND**********/m=fun(a,p,N);printf("max=%d,position=%d",max,p);}-------------------------------------『错误答案』:1 int fun(int *a,int *b,int n)2 *b=c-a;}3 scanf("%d",&a[i]);4 max=fun(a,&p,N);/*-----------------------------------2题目:用起泡法对10个整数从小到大排序。
程序中共有4条错误语句,请改正错误。
-------------------------------------/**********FOUND**********/void sort(int x,int n){int i,j,k,t; for(i=0;i<n-1;i++)/**********FOUND**********/for(j=0;j<n-i;j++)/**********FOUND**********/if(x[i]>x[i+1]){ t=x[j];x[j]=x[j+1];x[j+1]=t;}}main(){int i,n,a[100];printf("please input the length of the array:\n");scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);sort(a,n);printf("output the sorted array:\n");for(i=0;i<=n-1;i++)printf("%5d",a[i]);printf("\n");}-------------------------------------『错误答案』:1 void sort(int x[],int n)2 for(j=0;j<n-1-i;j++) 或for(j=0;n-1-i>j;j++) 或for(j=0;j<n-(1+i);j++) 或for(j=0;n-(1+i)>j;j++)3 if(x[j]>x[j+1]) 或if(x[j+1]<x[j])-------------------------------------3题目:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。
程序改错题汇总1、用"起泡法"对连续输入的十个字符排序后按从小到大的次序输出.2、分别统计字符串中大写字母和小写字母的个数。
3、求1到10的阶乘的和。
4、判断m是否为素数,若是返回1,否则返回0。
5、用选择法对数组中的n个元素按从小到大的顺序进行排序。
6、求一个3行4列矩阵的外框的元素值之和。
7、以下程序把两个数按由大到小的顺序输出来。
8、求1到20的阶乘的和。
9、判断字符ch是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。
(指针)10、已知一个数列从第0项开始的前三项分别为0、0、1,以后的各项都是其相邻的前三项的和。
下列给定程序中,函数fun的功能是:计算并输出该数列的前n项的平方根之和sum,n的值通过形参传入。
11、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?12、编写函数fun计算下列分段函数的值:x*x+x x<0且x≠-3f(x)= x*x+5x 0≤x<10且x≠2及x≠3x*x+x-1 其它13、请编写函数fun,对长度为8个字符的字符串,将8个字符按降序排列。
14、实现交换两个整数的值。
15、读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
16、先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。
17、计算数组元素中值为正数的平均值(不包括0)。
18、将s所指字符串中出现的、t1所指子串全部替换成t2所指子字符串,所形成的新串放在w 所指的数组中。
在此处,要求t1和t2所指字符串的长度相同。
19、将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A, z转换为a),其它字符不变。
20、在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),后输出矩阵第一行与第三行元素之积,并在fun()函数中输出。
程序改错练习题
下面每个程序的划线处有语法或逻辑错误,请找出并改正,使程序符合题意。
1.求1⨯2⨯3⨯4⨯ ⨯n
main()
{ int sum; 正确:int sum=1;
int n,i=1;
scanf("%d",n); scanf(“%d”,&n);
printf(“\n”);
while(i<n) while(i<=n)
{ sum=sum*i;
i++; }
printf("sum=%c",sum); printf("sum=%d",sum);
}
2.求一个数组中最大值及其下标。
main( )
{ int max,j,m;
int a[5];
for(j=1;j<=5;j++) 正确:for(j=0;j<5;j++)
scanf(“%d”,a); scanf(“%d”,&a[j]);
max=a[0];
for(j=1;j<=5;j++) for(j=0;j<5;j++)
if(max>a[j]) if(max<a[j])
{ max=a[j];
m=j;
}
printf(“下标:%d\n最大值:%d”, j, max) printf(“下标:%d\n最大值:%d”, m,max);
}
3.用一个函数求两个数之和。
sum(x,y) 正确:float sum(float x, float y )
{ float z;
z=x+y;
return ; return z;
}
main()
{ float a,b;
int c; float c;
scanf("%f,%f",&a,&b);
c=sum(a,b);
printf("\nSum is %f",sum); printf("\nSum is %f",c);
}
4. x , y两个数中,让x中存较大的数,y存较小的数
#include<stdio.h>
main( ){
int x , y=200 , z=0;
x=180;
if ( x<y)
z=x; x=y; y=z; 正确:{ z=x;x=y;y=z;}
printf(“x=%d,y=%d\n”,&x,&y); printf(“x=%d,y=%d\n”,x,y);
}
5.用指针作函数参数,对输入的两个整数按大小顺序输出。
swap(int *p1,*p2)
{ int *p; 正确:int t;
*p=*p1;*p1=*p2;*p2=*p; t=*p1;*p1=*p2;*p2=t;
}
main()
{ int a,b;
int *q1,*q2;
scanf("%d,%d",&a,&b);
&q1=a,&q2=b; q1=&a,q2=&b;
if(a<b) swap(*q1,*q2); if(a<b) swap(q1,q2);
printf("\n%d,%d\n",q1,q2); printf("\n%d,%d\n",*q1,*q2); }
6. 求100~300间能被3整除的数的和。
main()
{ int n;
sum;
for(n=100;n<=300;n++) { if(n%3=0)
sum=sum*n;
}
printf(“%l d ”,sum);
}
7. 实现华氏温度转换为摄氏温度,公式为:c=
9
5*(f-32),要求输出结果取2位小数。
main() { int c,f ;
printf("Please enter f:");
scanf("%f", &f);
c=5/9*(f-32);
printf("f=%f,c=%f",c ,f);
}
8.下面程序的功能是计算n!。
main()
{ int i ,n ;
int s ;
printf("Please enter n:");
scanf("%d", n);
for(i=1;i<=n ;i++) ; s=*i ;
printf("%d! = %d",i ,s);}
9、求一个4×4矩阵的对角线元素之和
main( )
{int a[4][4], sum=0;
int i,j;
printf(“Enter data:\n ”);
for(i=0;i<=4;I++)
for(j=0,j<=4;j++)
scanf(“%d ”,&a[i][j]);
for(i=0;i<4;I++)
for(j=0;j<4;j++)
sum=sum+a[i][j];
printf(“sum=%5d\n ”,sum);
}
10. 编程计算下面分段函数, 输入x, 输出y
⎪⎩⎪⎨⎧>-≤≤-<-=10
1131001201x x x x x x y
main() { int x,y;
p rintf(“\n Input x:\n”);
scanf(“%d”, x);
if(x<0)
y=x-1; else if(x>=0||x<=10)
y=2x-1;
else y=3x-1;
printf(“y=%d”,&y);
}
11. 求表达式ab c =的值
#include <stdio.h>
#include <math.h>
int fun(int x, int y);
main()
{ int a,b; float f;
scanf(“%d,%d ”,a,b); if(ab>0)
{ f = fun(a,b); printf("The result is:%d\n", &f)
} else printf(“error!”);} fun(x, y)
{ float result;
result = sqrt(a+b);
return;
}
12、通过函数调用,求两个数之差
sub(x,y)
{ float z;
z=x-y;
return;
}
main()
{ float a,b;
int c;
scanf(“%f,%f”,&a,&b);
c=sub(a,b);
printf(“\nSub is %f”,sub);
}
13、输入三角形的三边长,求三角形的面积。
#include <math.h>
main( )
{float a,b,c,s,area;
scan("%d,%d,%d",a,b,c);
s=1.0/2*(a+b+c);
area=sqrt(s(s-a)(s-b)(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",&a,&b,&c,&s);
printf("area=%7.2f\n",&area)
}
14、求和1!+2!+3!+4!+……+20!。
main( )
{
float s=0,t=0;
int n;
for(n=0;n<20;n++)
{
t=t+n;
s=s*t;
}
printf("1!+2!+3!+4!+……+20!=%d\n",s);
}
15. 求一个3×3矩阵的主对角线元素之和
main( )
{ int a[3][3];
int sum;
int i,j;
printf(“Enter data:\n”);
for(i=0;i<3;i++)
for(j=0,j<3,j++)
scanf(“%f”,&a[i][j]);
for(i=0;i<3;i++)
for(j=0,j<=3;j++)
if (i=j)
sum +=a[i][j];
printf(“sum=%5d\n”,sum);
}。