三程序分析题
1. a=48
2. 8,17
3. 2721
4. BASIC
C
COBOL
FORTRAN
PASCAL
Smalltalk
5. 6
1 2 3
6 5 4
四、编程题
1.写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。
#include
#include
void main()
{int prime(int);
int n;
printf(\
scanf(\
if (prime(n))
printf(\ else
printf(\ }
int prime(int n)
{int flag=1,i;
for (i=2; i if (n%i==0) flag=0; return(flag); } 2.写一个函数,用于实现函数strcmp()的功能,能将两个字符串进行比较,将两个字符串中第一个不相同字符的ASCII码值之差作为函数的返回值。 #include int MyStrcmp(char s[], char t[]); main() { char str1[20],str2[20]; printf(\ gets(str1); printf(\ gets(str2); if (MyStrcmp(str1,str2)>0) printf(\ else if (MyStrcmp(str1,str2)<0) printf(\ else printf(\ } int MyStrcmp(char s[], char t[]) { int i; for (i=0;s[i]==t[i]; i++) if (s[i]=='\\0') return 0 ; return (s[i]-t[i]); } 3. 写一个函数,用于实现函数strcat()的功能, 能将两个字符串连接。 #include void main() {void concatenate(char string1[],char string2[],char string[]); char s1[100],s2[100],s[100]; printf(\ scanf(\ printf(\ scanf(\ concatenate(s1,s2,s); printf(\ } void concatenate(char string1[],char string2[],char string[]) {int i,j; for (i=0;string1[i]!='\\0';i++) string[i]=string1[i]; for(j=0;string2[j]!='\\0';j++) string[i+j]=string2[j]; string[i+j]='\\0'; } 4. 从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,再输 出调整后的数组。 #include #define ARRSIZE 10 void MaxMinExchang(int a[], int n) { int maxValue=a[0], minValue=a[0], maxPos=0, minPos=0; int i, temp; for (i=1; i if (a[i] > maxValue) { maxValue = a[i]; maxPos = i; } else if (a[i] < minValue) { minValue = a[i]; minPos = i; } } temp = a[maxPos]; a[maxPos] = a[minPos];