综合练习二
问题 A: 高级语言程序设计实验3-2
编写程序,读入一个整数x,输出整数y。
当x<1时,y等于x。
当1<=x<10时,y等于2x-1。
当x>=10时,y等于3x-11。
#include<stdio.h> int main(void) { int x,y; scanf("%d",&x); if(x<1){ y=x; } else if(x>=10){ y=3*x-11; } else{ y=2*x-1; } printf("%d\n",y); return 0; }
问题 B: 求商和余数
题目描述
先输入一个数n,表示有n组数据。
每组输入整数a和b,如果a能被b整除,就输出算式的商,否则输出整数商和余数,如果b=0,输出error。
输入要求
整数a和整数b
输出要求
商或者商和余数或者error
假如输入
3
100 10
75 20
1 0
应当输出
10
3 15
error
#include<stdio.h> int main(void) { int n; scanf("%d\n",&n); int i,a,b,c,x,y; for(i=1;i<=n;i++){ scanf("%d %d",&a,&b); if(b==0) printf("error\n"); else if(a%b==0){ c=a/b; printf("%d\n",c); } else{ x=a/b; y=a%b; printf("%d %d\n",x,y); } } return 0; }
问题 C: 高级语言程序设计实验4-4计算级数
输入一个正整数n,编写程序计算1-1/4+1/7-1/10+......+(-1)(n+1)(3*n-2)
输入要求
输入一个正整数n。
输出要求
输出级数的值。
假如输入
10
应当输出
sum = 0.818743
#include<stdio.h> int main(void) { int n,i,x,y; double sum,item; scanf("%d",&n); x=1; y=1; sum=0; for(i=1;i<=n;i++){ item=x*1.0/y; sum=sum+item; x=-x; y=3*(i+1)-2; } printf("sum = %f\n",sum); return 0; }
问题 D: 高级语言程序设计实验6-3
输入一个正整数n(1<n≤10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
输入要求
第一行输入一个整数n,第二行输入n个整数。
输出要求
将最小值与第一个数交换,最大值与最后一个数交换,输出交换后数组的整数,每两个整数之间用空格分隔。
假如输入
5
3 1 0 4 2
应当输出
0 1 3 2 4
#include<stdio.h> int main(void) { int i,index,n,temp,max; int a[10]; scanf("%d\n",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); index=0; for(i=1;i<n;i++) if(a[i]<a[index]) index=i; temp=a[index]; a[index]=a[0]; a[0]=temp; max=0; for(i=1;i<n;i++) if(a[i]>a[max]) max=i; temp=a[max]; a[max]=a[n-1]; a[n-1]=temp; for(i=0;i<n;i++) printf("%d ",a[i]); return 0; }
问题 E: C二级辅导-对角线和
求一个3×3矩阵对角线元素之和。
输入要求
输出要求
假如输入
1 2 3
4 5 6
7 8 9
应当输出
15
#include<stdio.h> int main(void) { int i,j,sum; int a[3][3]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); sum=a[0][0]+a[1][1]+a[2][2]; printf("%d\n",sum); return 0; }