for (; p1 < p2 ; ) {
if (a[p1] == 0) {
p = p1;
while (a[p1 + 1] == 0) {
p1++; }
if (p1 + 1 < p2) {
temp = a[p1 + 1]; a[p1 + 1] = a[p]; a[p] = temp; p1 = p; continue; } else {
break; } }
if (a[p1] > 0) {
temp = a[p1]; a[p1] = a[p2]; a[p2] = temp; p2--; } else {
p1++; }
if (a[p2] == 0) {
p = p2;
while (a[p2 - 1] == 0) {
p2--; }
if (p1 < p2 - 1) {
temp = a[p2 - 1]; a[p2 - 1] = a[p];
a[p] = temp; p2 = p; continue; } else {
break; } }
if (a[p2] < 0) {
temp = a[p2]; a[p2] = a[p1]; a[p1] = temp; p1++; } else {
p2--; } }
for (i = 0; i <= N - 1; i++) {
printf(\ }
printf(\}
Q305.(10分)用100元人民币兑换10元,5元和1元的纸币(每一种都要有)共50张,请用穷举法编程计算共有几种兑换方案,每种方案各兑换多少张纸币. ****输入提示信息要求为:无 ****输出格式要求为: \ \参考答案
#include
int x, y, z, count = 0;
for (x = 0; x <= 5; x++) //1 {
for (y = 0; y <= 10; y++) //1 {
z = 50 - x - y;//1
if (10 * x + 5 * y + z == 100) //2 {
count++; //1
printf(\ } } }
printf(\ return 0; }
Q423.(10分)分数比较。比较两个分数的大小。
**输入格式要求:\提示信息:\
**输出格式要求:\程序运行示例如下: Input two FENSHU : 1 3,1 4 1/3>1/4 参考答案
#include
{int i,j,k,l,m,n;
printf(\scanf(\m=zxgb(j,l)/j*i; n=zxgb(j,l)/l*k; if(m>n)
printf(\else if(m==n)
printf(\ else printf(\}
zxgb(a,b) int a,b; { long int c; int d;
if(a
Q461.(10分)(附加题)编程将字符串s倒序输出,要求利用函数递归实现。 **输入格式要求:\提示信息:\
**输出格式要求:\
程序运行的输入输出样例: 屏幕先输出提示信息: input your string:
然后用户键盘输入: abcdefg
最后屏幕输出: Gfedcba
#include
void reverse(char s[]) {
int len;
len = strlen(s); if (len == 1) {
printf(\ } else {
reverse(s + 1); printf(\ } }
int main() {
char s[100];
printf(\ scanf(\ reverse(s); }
Q780.(5分)改错题:用户从键盘任意输入一个数字表示月份值n,程序显示该月份对应的英文表示,若n不在1~12之间,则输出“Illegal month”。 注意:
(1)请将修改正确后的完整源程序拷贝粘贴到答题区内。
(2)对于没有错误的语句,请不要修改,修改原本正确的语句也要扣分。 (3)当且仅当错误全部改正,且程序运行结果调试正确,才给加5分。
#include
{
int n;
char monthName[][20] = {\\
printf(\ scanf(\
if ((n < 12) || (n > 1)) {
printf(\
} else {
printf(\ } }
参考答案
#include
int n;
char monthName[][20] = {\\
printf(\ scanf(\
if ((n <= 12) && (n >= 1)) {
printf(\
} else {
printf(\ } }
Q263.(10分)从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。 **输入格式要求:\ 提示信息:\**输出格式要求:\
\\