注意:此页面搜索的是所有试题
华北水利水电大学C 语言程序设计
编程:输入4个实数x1,y1,x2,y2,数据之间用空格隔开。表示两点坐标A(x1,y1),B(x2,y2),计算并输出两点间的距离。结果保留两位小数。部分程序如下: #include #include int main() { double x1, y1, x2, y2, dist; scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2); ( ) } printf("%.2f\n", dist); return 0; }
编程:输入两个整数 a 和 b ,求其中较大的一个的值,并存储到变量 max 中。部分程序如下: #include int main(void) { int a, b, max; scanf("%d%d", &a, &b); max = a; if ( ) max = b; printf("max = %d", max); return 0; }
编程:从键盘输入一个英文字母,判断大小写,若是大写,输出“upper case ”,否则输出 “lower case”。部分程序如下: #include int main(void) { char ch; ch = getchar( ); if( ) printf("upper case %c\n", ch); else printf("lower case %c\n", ch); return 0; }
编程:求n个数的和。首先输入一个整数n,然后输入n个整数,求它们的和。部分程序如下: #include int main(void) { int number, sum; int i, n; sum = 0; scanf("%d", &n); for(i = 1; i <= n; i++) { scanf("%d", &number); ( ) } printf("%d\n", sum); return 0; }
编程:求数列1-1/3+1/5-1/7+1/9…的前n项和。结果保留两位小数。部分程序如下: #include int main(void) { int i, n, deno; double sum, flag; scanf("%d\n", &n); sum = 0; deno = 1; flag = 1.0; for(i = 1; i <= n; i++) { ( ) deno = deno+2; flag = -flag; } printf("%.2f\n", sum); return 0; }
编程:求两个整数的和。要求输入包含多组数据,每组数据包含两个整数a和b,对每组数据输出a+b的结果。当a和b同时为0时表述输入结束。部分程序如下: #include int main(void) { int a, b; while( ) printf("%d\n", a + b); return 0; }
经典的百钱买百鸡问题是:公鸡五文钱一只,母鸡三文钱一只,鸡仔一文钱三只,用100文钱买100只鸡,公鸡、母鸡、鸡仔各买多少只? 编程解决如下问题:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、鸡仔各买多少只?如果问题有解,输出所有解,每个解占一行,每个整数用空格隔开;如果问题无解,则输出“No answer”。 部分程序如下: #include int main(void) { int i, j, k, n, noAnswer; scanf("%d", &n); noAnswer = 1; for(i = 0; i <= n/5; i++) for(j =0 ; j <= n/3; j++) { k = n – i - j; if( ) { printf(“%d %d %d\n”, i, j, k); noAnswer = 0; } } if (noAnswer == 1) printf("No answer\n"); return 0; }
编程:输入m,若m是素数,则输出“yes”,否则输出“no”。素数的定义:除了1和m,不能被其它数整除。注意,1不是素数。部分程序如下: #include #include int main() { int m,k,flag; int i; scanf("%d",&m); k = (int)sqrt(m); flag = 0; for(i = 2; i <= k; i++) { if( ) { flag = 1; break; } } if(m==1) flag=1; if( flag == 0 ) printf("yes\n"); else printf("no\n"); return 0; }
编程:输出阶乘表。输入一个整数n(n<=20),输出1-n的阶乘表。部分程序如下: #include int main(void) { int i, n; double fact; printf("input n: \n"); scanf ("%d", &n) ; for (fact=1, i = 1; i <= n; i++ ) { printf ( "%d %.0f \n", i, fact ); } return 0; }
编程:输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。部分程序如下: #include int main() { int i,j,k,n; for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if ( ) printf("%d ",n); } printf("\n"); return 0; }
编程:输出100以内的全部素数,每个素数占3列。部分程序如下: #include #include int IsPrime (int m); int main() { int m; for(m = 2; m <= 100; m++) { if ( ) printf("%3d", m ); } printf ("\n"); return 0; } int IsPrime (int m) { int i, k; if ( m == 1 ) return 0; k = (int)sqrt (m); for( i = 2; i <= k; i++) { if (m % i == 0) return 0; } return 1; }
编程:验证哥德巴赫猜想,任意输入一个不小于6的偶数,将其表示成两个素数的和,如:6=3+3;8=3+5;18=7+13。部分程序如下: #include #include int IsPrime (int m); int main() { int n, i; scanf("%d", &n); for(i = 3;i <= n/2;i = i+2) { if( ) printf("%d %d\n", i, n-i); } return 0; } int IsPrime (int m) { int i, k; if ( m == 1 ) return 0; k = (int)sqrt (m); for( i = 2; i <= k; i++) { if (m % i == 0) return 0; } return 1; }
编程:求组合数。组合数的公式如图所示: 部分程序如下: #include int fact( int n) { int i; int result = 1; for(i = 2; i <= n; i++) ( ) return result; } int main(void) { int m, n, p; scanf("%d%d", &m, &n); ( ) printf("p=%d\n", p); return 0; }
编程:使用比较交换法进行排序。部分程序如下: #include void Sort(int a[], int n); int main() { int i; int a[5]={ 8,3,9,2,1 }; Sort(a,5); for(i = 0; i <5; i++) printf("%d ", a[i]); printf("\n"); return 0; } void Sort(int a[], int n) { int i, j, t; for(i = 0; i < n-1; i++) { for(j = i+1; j < n; j++) if(a[i] > a[j]) {( ) ( ) ( ) } } }
编程:输入n(n ≤10)和n个整数,逆序输出这n个整数。部分程序如下: #include int main() { int a[100]; int n, i; scanf("%d", &n); for(i = 0; i < n; i++) scanf("%d", &a[i]); for( ) printf("%d ", a[i]); printf("\n"); return 0; }
编程:输入两个整数 a 和 b ,求其中较大的一个的值,并存储到变量 max 中。部分程序如下: #include int main(void) { int a, b, max; scanf("%d%d", &a, &b); max = a; if ( ) max = b; printf("max = %d", max); return 0; }
编程:从键盘输入一个英文字母,判断大小写,若是大写,输出“upper case ”,否则输出 “lower case”。部分程序如下: #include int main(void) { char ch; ch = getchar( ); if( ) printf("upper case %c\n", ch); else printf("lower case %c\n", ch); return 0; }
编程:求n个数的和。首先输入一个整数n,然后输入n个整数,求它们的和。部分程序如下: #include int main(void) { int number, sum; int i, n; sum = 0; scanf("%d", &n); for(i = 1; i <= n; i++) { scanf("%d", &number); ( ) } printf("%d\n", sum); return 0; }
编程:求数列1-1/3+1/5-1/7+1/9…的前n项和。结果保留两位小数。部分程序如下: #include int main(void) { int i, n, deno; double sum, flag; scanf("%d\n", &n); sum = 0; deno = 1; flag = 1.0; for(i = 1; i <= n; i++) { ( ) deno = deno+2; flag = -flag; } printf("%.2f\n", sum); return 0; }
编程:求两个整数的和。要求输入包含多组数据,每组数据包含两个整数a和b,对每组数据输出a+b的结果。当a和b同时为0时表述输入结束。部分程序如下: #include int main(void) { int a, b; while( ) printf("%d\n", a + b); return 0; }
经典的百钱买百鸡问题是:公鸡五文钱一只,母鸡三文钱一只,鸡仔一文钱三只,用100文钱买100只鸡,公鸡、母鸡、鸡仔各买多少只? 编程解决如下问题:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、鸡仔各买多少只?如果问题有解,输出所有解,每个解占一行,每个整数用空格隔开;如果问题无解,则输出“No answer”。 部分程序如下: #include int main(void) { int i, j, k, n, noAnswer; scanf("%d", &n); noAnswer = 1; for(i = 0; i <= n/5; i++) for(j =0 ; j <= n/3; j++) { k = n – i - j; if( ) { printf(“%d %d %d\n”, i, j, k); noAnswer = 0; } } if (noAnswer == 1) printf("No answer\n"); return 0; }
编程:输入m,若m是素数,则输出“yes”,否则输出“no”。素数的定义:除了1和m,不能被其它数整除。注意,1不是素数。部分程序如下: #include #include int main() { int m,k,flag; int i; scanf("%d",&m); k = (int)sqrt(m); flag = 0; for(i = 2; i <= k; i++) { if( ) { flag = 1; break; } } if(m==1) flag=1; if( flag == 0 ) printf("yes\n"); else printf("no\n"); return 0; }
编程:输出阶乘表。输入一个整数n(n<=20),输出1-n的阶乘表。部分程序如下: #include int main(void) { int i, n; double fact; printf("input n: \n"); scanf ("%d", &n) ; for (fact=1, i = 1; i <= n; i++ ) { printf ( "%d %.0f \n", i, fact ); } return 0; }
编程:输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。部分程序如下: #include int main() { int i,j,k,n; for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if ( ) printf("%d ",n); } printf("\n"); return 0; }
编程:输出100以内的全部素数,每个素数占3列。部分程序如下: #include #include int IsPrime (int m); int main() { int m; for(m = 2; m <= 100; m++) { if ( ) printf("%3d", m ); } printf ("\n"); return 0; } int IsPrime (int m) { int i, k; if ( m == 1 ) return 0; k = (int)sqrt (m); for( i = 2; i <= k; i++) { if (m % i == 0) return 0; } return 1; }
编程:验证哥德巴赫猜想,任意输入一个不小于6的偶数,将其表示成两个素数的和,如:6=3+3;8=3+5;18=7+13。部分程序如下: #include #include int IsPrime (int m); int main() { int n, i; scanf("%d", &n); for(i = 3;i <= n/2;i = i+2) { if( ) printf("%d %d\n", i, n-i); } return 0; } int IsPrime (int m) { int i, k; if ( m == 1 ) return 0; k = (int)sqrt (m); for( i = 2; i <= k; i++) { if (m % i == 0) return 0; } return 1; }
编程:求组合数。组合数的公式如图所示: 部分程序如下: #include int fact( int n) { int i; int result = 1; for(i = 2; i <= n; i++) ( ) return result; } int main(void) { int m, n, p; scanf("%d%d", &m, &n); ( ) printf("p=%d\n", p); return 0; }
编程:使用比较交换法进行排序。部分程序如下: #include void Sort(int a[], int n); int main() { int i; int a[5]={ 8,3,9,2,1 }; Sort(a,5); for(i = 0; i <5; i++) printf("%d ", a[i]); printf("\n"); return 0; } void Sort(int a[], int n) { int i, j, t; for(i = 0; i < n-1; i++) { for(j = i+1; j < n; j++) if(a[i] > a[j]) {( ) ( ) ( ) } } }
编程:输入n(n ≤10)和n个整数,逆序输出这n个整数。部分程序如下: #include int main() { int a[100]; int n, i; scanf("%d", &n); for(i = 0; i < n; i++) scanf("%d", &a[i]); for( ) printf("%d ", a[i]); printf("\n"); return 0; }